こんにちは😀
今回は、プログラムを作成した後に必ず行うテストに関して整理しました。
テストで各種検証を行うことで、バグの洗い出しと改修を行います。
テストの流れ
まずは、テストの流れをみてみます。
単体テスト
テストは、部品単位の信頼性を確保するところから始まります。
そのために行うのが単体テストです。
各モジュールごとにテストを行い、バグの有無を検証します。
結合テスト
単体テストの次に行われるのが、結合テストです。
これは複数のモジュールをつなぎ合わせて検証を行い、モジュール間のインターフェースが正常に機能していることを確認します。
システムテスト
その次は、システムテストになります。
さらに検証の範囲を広げて、システム全体のテストを行います。
ここでは、機能テスト、性能テスト、負荷テストなどを行います。
テストデータの決め事
プラックボックステスト(入力に対して出力が仕様通りかのテスト)を行う場合、テストデータを作成する基準が2つあります。
同値分割
データ範囲を種類ごとのグループに分けて、それぞれから代表的な値を抜き出してテストデータに用います。
限界値分割
上記のグループの境目部分を重点的にチェックします。
その境界前後の値をテストデータに用います。
網羅基準
ホワイトボックステスト(内部構造が正しく作成されているかを確認するテスト)を行う場合、テストパターンを網羅するそれぞれの基準があります。
命令網羅
全ての命令を最低一回は通すようにするテスト
判定条件網羅
全ての分岐を最低一回は通すようにするテスト
条件網羅
個々の条件が「真」と「偽」の値を最低一回は満たすように行うテスト
複数条件網羅
複数の条件が取りうる「真」「偽」値の全ての組み合わせを網羅するテスト
テスト支援ツールに関して
テストの作業効率を図るため、テストでは様々なツールを使用できます。
トレーサ
プログラムの命令の実行順序や実行結果などの履歴情報を出力するためのツール
インスペクタ
プログラムの実行時に、データ構造の内容を容易に確認できるよう表示するためのツール
アサーションチェッカ
プログラムの正当性を検査するためのツール
プログラムコード内に、変数間の関係や条件など論理的に成立していることを判定する式を埋め込み、実行によって判定します。
テストカバレッジ分析ツール
テスト対象となるプログラムにおいて、テストの網羅性を定量的に測定するためのツール
今回の一言・・・
テストも何となく行うと膨大な量になり、結局は力技で終わらせなければならないこともありました。
テストの方法やツールを正しく理解して効果的にテストも行えるよう考えていきます。
今回はここまで🤚
では、また次回。
コメント