徹底的なテストとは何ですか?
完全テストとも呼ばれる網羅的テストは、チーム内のすべてのテスターが使い果たされ、計画されたすべてのテストが実行されたときに発生します。 これは、すべてのシナリオまたはデータがテストのためにテストされる品質保証テスト技術です。 より理解しやすい方法では、徹底的なテストはテスト段階の終わりに未知の欠陥がないことを保障することを意味する。 すべて(入力と前提条件のすべての組み合わせ)をテストすることは、些細な場合を除いて実行可能ではありません。 テスターとして、私たちはしばしば”まあ、私はテストのための十分な時間がない”と言います。 たとえあなたがこの世界ですべての時間を持っていたとしても、可能なすべての入力の組み合わせと出力の組み合わせをテストするのに十分な
なぜ網羅的なテストは実用的ではなく不可能なのですか?
完全な試験や網羅的な試験を行うことはできません。 ほとんどのシステムでは、次の理由のために不可能に近いです:
- プログラムの可能な入力のドメインが大きすぎて、システムのテストで完全に使用できません。 有効な入力と無効な入力の両方があります。
- プログラムには多数の状態がある可能性があります。 入力にはタイミング制約がある場合があり、つまり、入力は特定の時間に有効であり、他の時間に無効である可能性があります。 有効であるが、適切にタイミングされていない入力値は、不適切な入力と呼ばれます。
- システムの入力領域は、プログラムのテストに完全に使用するために非常に大きくすることができます。
- 設計上の問題は、完全にテストするには複雑すぎる可能性があります。 この設計には、暗黙的な設計上の決定と仮定が含まれている可能性があります。 例えば、プログラマは、プログラムの実行を制御するために、グローバル変数または静的変数を使用することができます。
- システムのすべての可能な実行環境を作成することはできないかもしれません。 これは、ソフトウェアシステムの動作が、天気、温度、高度、圧力などの実際の外の世界に依存する場合に、より重要になります。<6758><1966><8289><8843><8975><1:
IEツール>詳細オプションウィンドウ53バイナリ条件1 3つのオプションを持つ条件1 4つのオプ2^53 = 9,007,199,254,740,992x12=108,086,391,056,891,904テスト実行ごとに一秒で条件の可能な組み合わせ:
108,086,391,056,891,904 / 360 = 300,239,975,158,033.067 すべての可能な組み合わせをテストする時間(12,509,998,964,918.04日または34,273,969,766.9年)。例2:
次のような機能を持つeコマースサイトを見てみましょう:
- ログイン
- 商品を選択
- 色のある商品をフィルタリング
- 価格のある商品をフィルタリングします。
- 製品を購入する(支払いポータル)
リスク識別パラメータに基づいて、ユーザーはテスト計画に含めるマトリックスを作成することができます。 私たちは、リスクの高い領域を識別するための正しい方法を持つことができるように、各パラメータは、スコアを与えることができます。
- ビジネスへの影響:1-10
- 失敗確率:1-10
- 回帰: 1-5
- 回復:1-5
上記の例の行列を作成しましょう:
機能性 ビジネスへの影響 失敗確率 回帰 回復 ログイン 10 3 1 1=15 カラーフィルターで商品を選ぶ 5 5 2 2=14 価格フィルタ付きの製品を選択します。 8 5 2 2=17 カートに追加 10 8 3 4=25 を購入する 製品 10 7 2 2=21 だから、スコアに従って、我々は”最高のリスク領域”のための一番の候補として”カートに追加”機能を持っているので、今、我々はテストに優先順位を付けること また、QAチームがほぼ網羅的なテストを行う必要がある機能を決定することもできます。QAチームは、スコア
- スコア1-5を見ることによって、リスク軽減計画を合理化することができます:-単体テストとレビュー。
- :-単体テスト+ブラックボックステスト(回帰およびビジネスへの影響の高い領域)
- スコア10-15:-深さが限られた典型的なテストタイプ。
- スコア15-25:-特定のテストタイプの深さを持つ典型的なテストタイプ。
- スコア25-30:-高リスク領域。 すべてのテストタイプのための完全な適用範囲そして詳細なテスト。
上記の方法に従って、スコアが25を超える領域は非常にリスクが高い領域とみなされ、ほぼ網羅的な試験が行われる必要があります。したがって、上記の例では、”カートに追加”はすべてのテストタイプの詳細なテストを実装する必要があり、徹底的なテストを行う必要があります。