\r\n\r\n
従来のテストとオブジェクト指向のテスト
ソフトウェアテストは、ソフトウェア開発プロセスの中で最も重要なステップの1つです。ソフトウェアテストは、開発されたソフトウェアがお客様の要求をすべて満たし、エラーなく実行されることを保証するものです。ソフトウェア開発のパラダイムや技術が、当初のウォーターフォール型ソフトウェア開発からOOD/アジャイルなどの新しい概念に移行するのに伴い、テストも従来の(レガシー)テストからオブジェクト指向テスト(OOT)に移行してきました。しかし、ウォーターフォール型の開発がまだ使われているため、テスターも伝統的なテストを使用しています。
ルーチン検査とは何ですか?
従来のテスト工程は、主にウォーターフォール型のライフサイクルでソフトウェアが開発される場合に発生します。従来のテストは、ライフサイクルのテストフェーズで常に行われ、通常は開発フェーズの後に行われ、その後実装フェーズが続きます。テスト段階では、主に3種類のテストが行われる。システムテストは、システム機能がSRS(ソフトウェア要求仕様書)に記述された顧客要件を満たしているかどうかを、通常ブラックボックス方式で確認します。統合テストは、機能的手法と分解的手法を用いて、初期設計をテストします。統合テストは、設計の構造に基づいて、トップダウンまたはボトムアップのいずれかの方法で行われます。最後に、ユニットテストにより、詳細設計が正しいかどうかを確認します。
オブジェクト指向テストとは?
オブジェクト指向(OO)分析・設計や、アジャイルなど最近のソフトウェア開発手法の活用により、オブジェクト指向のテストが行われるようになりました。オブジェクト指向の開発では、通常、動作に着目します。テストはコンポーネントに焦点を当てる。つまり、デザインを1つ1つ作り、それを組み合わせてシステム全体を完成させるのです。OO開発ではラピッドプロトタイピングと何らかのインクリメンタルアプローチが使用されるため、従来の3つのテストレベル(システムテスト、統合テスト、ユニットテスト)はOO設計では明確に見えません(ただし、ほとんどの場合、存在しています)。システムテスト(OOテスト下)は、従来のテストと同じ(ブラックボックス)アプローチで、要求仕様のチェックを行います(開発プロセスに関係なく、要求の検証は必要なため)。オブジェクト指向テストにおけるユニットテストは、従来のユニットテストと似ていますが、基本的には使用するユニットの定義に違いがあります。現在、ユニットテストに使用されている単位は、クラスとメソッドです。
従来のテストとオブジェクト指向のテストの違いは何ですか?