destructive testing
破壊検査と非破壊検査の種類と方法の違い:
この記事では、破壊検査と非破壊ソフトウェア検査の詳細について説明します。
それらについて1つずつ学習し、記事の最後にこれら2つのテストタイプの違いも示します。
学習内容:
破壊試験とは何ですか?その利点は何ですか?
破壊的ソフトウェアテスト(DST)は、ソフトウェアアプリケーションの一部を制御できない方法で失敗させ、その堅牢性をテストし、障害点を検出しようとする一種のソフトウェアテストです。
ソフトウェアの機能をチェックする他の従来型のソフトウェアテスト方法とは対照的に、この方法はソフトウェア内の予測できないユーザーの行動を検査します。そのため、平均的なユーザーが通常遭遇しないソフトウェアの欠陥を発見することができます。
破壊的ソフトウェアテスト(DST)は、従来のタイプのソフトウェアテスト(CST)の代替アプローチですが、それに代わるものではないことに注意してください。 CSTに加えてDSTを実施することも有効です。
破壊試験は最も過酷な動作条件下で実施され、アプリケーションが破損するまで継続されます。このテストの重要なアイデアは、通常の作業条件下では明らかにならない可能性のある設計上の弱点を明らかにするだけでなく、ソフトウェア製品の耐用年数を発見することでもあります。
このタイプのテストは、Monkey Testing、Ad hoc Testing、およびExploratoryTestingと類似点があります。
破壊的なソフトウェアテストの利点
Windows 764ビットに最適なファイアウォール
- これは、アプリケーションの堅牢性、回復可能性、および寿命を測定するのに役立ちます。
- ソフトウェアの不適切または誤用の場合の障害点を明らかにします。
- テストにおけるユーザーストーリーのバイアスを無視するため、テスターに適切なコンテキストを設定します。
- これにより、平均的なユーザーが通常遭遇しないソフトウェアの欠陥を発見することができます。
- このタイプのテストは、アプリケーションの欠陥を発見する点で独特であり、対処すると、ソフトウェアのランクが初心者に適した状態になります。
このテストを実行する手順
- 破壊的なソフトウェアテストサイクルの開始時に、クライアントはアプリケーションのコピーまたはアクセス資格情報、およびユーザー要件を送信します。
- 次に、クライアントは要件を提示し、QAアナリストにアプリケーションをデモンストレーションします。
- 次に、QAアナリストは、アプリケーション内の境界の機能を確立し、境界内のアプリケーションのユーザビリティ制限を作成します。
- これで、QAテスターは、確率論的手法を使用して、これらの境界内でアプリケーションをランダムにテストします。 QAテストのワークフローと欠陥が記録されます。
- 最後に、欠陥ディレクトリはクライアントと共有されます。
- 必要に応じて、クライアントの要件に基づいて破壊的なテストサイクルを繰り返すことができます。
このテストでは、ソフトウェアの元の要件についてある程度の知識があるとよいでしょう。これは、優れたテスト戦略を考え出すのに役立ちます。
破壊試験で何を確認しますか?
- ソフトウェアアプリケーションの不適切かつ適切な動作。
- 有効および無効な入力データ。
- ソフトウェアアプリケーションの不適切な使用。
破壊的なソフトウェアテストの方法と戦略
破壊的なテストを実行する方法はいくつかあります。
1)障害点分析方法:
この方法では、アプリケーションがレビューおよび検査され、すべてのパスとそのコーナーにアクセスします。さまざまな時点で何が失敗する可能性があるかが決定されます。この方法では、ビジネスアナリストの助けを借りて、アプリケーションのウォークスルーを行うことができます。
2)ピアレビュー:
ソフトウェアに精通していない仲間のテスターにアプリケーションをレビューしてもらいます。これは、テスターとしては見えなかったいくつかの隠れた障害点を見つけるのに役立ちます。
3)ビジネスによってレビューされたテストケースを取得します。
エンドユーザーやその他の利害関係者は、テスターが見逃した可能性のある有効なテストシナリオを考えることがあります。したがって、ビジネスによってテストケースをレビューすることで、テストカバレッジを増やすことができます。
4)探索的テスト:
mp3曲をダウンロードするのに最適なアプリ
ランシートを使用して探索的テストを実行します。何がテストされているかを知り、テストを繰り返し、テストカバレッジを制御するのに役立ちます。
5)不適切なデータをシステムに供給します。
アプリケーションに無効な入力を指定できます。これには、破損したデータ、ユーザーインターフェイスでの誤った手順の順序などが含まれる場合があります。
6)他のソースを使用します。
他のソースや方法を使用して、システムを破壊し、さまざまなシナリオを分析することもできます。良い点は、破壊的なソフトウェアテストのユーザーストーリーが必ずしも「要件」と「仕様」を要求するわけではないため、このテストを実行するための適切な方法を試すことができることです。
破壊検査技術
破壊的なソフトウェアテストは、次のようなさまざまな手法で実行できます。
- 受け入れ試験
- ループテスト
- 回帰試験
- 等価分割
- 境界値テスト
- インターフェイステスト
- アルファ/ベータテスト
- システムテスト
- トップダウンテスト
- ブラックボックステスト
破壊的なソフトウェアテストのためのいくつかの有用なヒント
- あなたができる限り製品の知識を得る。お客様の立場に立って、お客様の視点で商品を考えてください。
- ユーザーストーリーから偏った情報をすべて消去します。ユーザーストーリーの説明と受け入れ基準を忘れて、狂った顧客のようにアプリケーションを壊そうとします。
- ハッピーパスではなく、例外パスを探します。受け入れ基準を無視すると、予想されるワークフローまたは通常のワークフローがわからなくなることに注意してください。
- アプリケーションからの肯定的な反応を期待しないでください。何かが失敗した場合はどうなりますか?できる限りすべてをシミュレートして破損させてください。
- すべての実際のユーザーがトップクラスのマシンとネットワーク条件を持っているわけではないため、ネットワーク条件をより現実的な設定に抑制します。
非破壊検査とは何ですか?その利点は何ですか?
非破壊検査(NDT)は、ソフトウェアと正しく対話することを伴うソフトウェア評価手法として説明されています。例外パスを探す破壊的なソフトウェアテストとは異なり、非破壊テストでは、ハッピーパスまたはゴールデンパスを探します。 NDTはポジティブテストとしても知られています。
たとえば、1〜999の範囲内の数値を受け入れる入力ボックスがある場合、陽性のテストケースは、この範囲内の数値を入力し、入力ボックスの機能を検証することです。
NDTには、既知の要件を使用して明確に定義されたテストケースがあります。このテストケースは、エラーや例外なしで実行され、目的の出力を生成します。期待される結果が得られ、ソフトウェアが期待どおりに機能していることを確認します。
利点 非破壊ソフトウェアテストの
- 改善されたソフトウェア品質と問題は、アプリケーションのメインフローで修正されます。
- ソフトウェアアプリケーションが必要な仕様に従って機能していることを示すのに役立ちます。
- 顧客の期待が満たされていることを確認します。
- パフォーマンス要件が満たされていることを確認します。
- 製品の評価とトラブルシューティングにかかる時間と費用の両方を節約します。
このテストを実行するタイミング
- これはテストの最初の形式である必要があり、SDLCの初期段階で実行する必要があります。これは、ハッピーパスがアプリケーションのメインフローであり、うまく機能しない場合、残りのテストがブロックされるためです。
- テストに十分な時間と予算がない場合は、すばやく簡単に実行できます。これにより、少なくともソフトウェア要件と受け入れ基準が確実に満たされます。
非破壊的なソフトウェアテストの戦略
- 非破壊検査を実施するには、陽性検査アプローチを採用する必要があります。
- テストを行う間、テスターは、非破壊テストの目的が、アプリケーションが有効な入力データを提供する上で正常に機能することを確認することであることに留意する必要があります。したがって、目的は、ポジティブなデータセットのアプリケーションの動作を検証することです。
- ベストプラクティスは、システムが意図したとおりに動作しているかどうかを確認することです。
破壊検査と非破壊検査の違い
破壊試験 | 非破壊検査 |
---|---|
機能ではなく、デザインの弱点に焦点を当てています。 | 機能性の弱点に焦点を当てていますが、デザインには焦点を当てていません。 |
必ずしもビジネス要件は必要ありません。破壊的なテストは、事前に決定された要件に精通することなく行われます。 | テストは、ビジネス要件および受け入れ基準に対して機能を検証するために行われます。 |
その意図は、障害のポイントを検出するために異常な入力を提供することによってソフトウェアを破壊することです。 | 意図は、ソフトウェアと正しく対話して、肯定的な結果を検証することです。 |
結論
破壊的なテストでは、アプリケーションの堅牢性を調べるために、アプリケーションを意図的にクラッシュさせます。お客様によるアプリケーションの不適切な取り扱いが原因で発生する可能性のあるソフトウェアの障害点を検出します。
従来のソフトウェアテストでは追跡できない弱点を検出します。より良いテストカバレッジのために、従来のソフトウェアテストと一緒に破壊的なソフトウェアテストを実施することが好ましい。
非破壊検査は、ソフトウェア機能が顧客の要件を満たしていることを確認するために、ポジティブテストまたはハッピーパステストのアプローチで行われます。それはソフトウェアと正しく相互作用することを含みます。
推奨読書
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- ソフトウェアテストQAアシスタントジョブ
- ソフトウェアテストコース:どのソフトウェアテスト機関に参加する必要がありますか?
- キャリアとしてのソフトウェアテストの選択
- ソフトウェアテストテクニカルコンテンツライターフリーランサーの仕事
- PrimereBookダウンロードのテスト
- いくつかの興味深いソフトウェアテストのインタビューの質問
- ソフトウェアテストコースのフィードバックとレビュー