カテゴリ:
歴史
テスト設計
ソフトウェアエンジニアリングでは、 テスト設計とは、ソフトウェアをテストするためのテストケースを作成および作成することです。
定義
テスト設計には、次のすべてまたは1つが必要です。
- ソフトウェア、およびソフトウェアが動作するビジネス分野の知識、
- テストされている機能の知識、
- テスト技術とヒューリスティックの知識。
- 必要な労力、時間、コスト、または最も重要な機能やリスクのある機能の結果を考慮して、テストケースを設計する順序でスケジュールするスキルを計画します。
適切に設計されたテストスイートは、効率的なテストを提供します。テストスイートには、システムをテストするのに十分なテストケースがありますが、それ以上はありません。このようにして、実行されるたびに不必要に時間を消費する冗長なテストケースを作成するのに時間を無駄にしません。また、テストスイートには脆弱なテストケースやあいまいなテストケースは含まれません。
自動テスト設計
モデルチェックまたはシンボリック実行を使用して、ソフトウェアによって実際のバグを公開するテストスイートまたはテストケース全体を自動的に生成できます。モデルチェックにより、単純なプログラムのすべてのパスが実行されることを確認できます。一方、シンボリック実行によりバグを検出し、このテストケースを使用してソフトウェアを実行したときにバグを公開するテストケースを生成できます。
ただし、自動テスト設計が可能な限り優れているとはいえ、すべての状況に適しているわけではありません。複雑さが過度に高くなると、はるかに柔軟性があり、より高いレベルのテストスイートの生成に集中できるため、人間のテスト設計が必要になります。