diadia

興味があることをやってみる。自分のメモを残しておきます。

テスト(ソフトウェアテスト)について

ソフトウェアテストとは、開発者の意図したとおりにソフトウェアが動作するかを検証する行為である。

ソフトウェアテストには種類がある。

テスト名 説明
ユニットテスト メソッド単位のテスト
統合テスト メソッドの組み合わせのテスト
UI/システムテスト データベースやUI部品を組み合わせたテスト

ソフトェアが意図したとおり動作して得られる値を期待値と言い、ソフトウェアが実際に動作して得られた値を実測値という。 そしてこの期待値と実測値の比較検証のことをアサーションと呼ぶ。

ソフトウェアテストを区分するのにブラックボックス/ホワイトボックステストというくくりも存在する。

テスト種類 説明 特徴 / デメリット
ホワイトボックステスト 内部のロジックや仕様を考慮してテストケースを作成する。 ロジックなどを読み取れる必要があるので、ある程度プログラミングの知識が必要 / テストコードが内部構造に強く依存してしまうと、テストコードがプロダクトコードの変更に影響を受けてしまう
ブラックボックステスト ソフトウェアの内部のロジックや仕様を考慮せず、外部から見たときの仕様のみからテストケースを作成する プログラミングの知識よりも業務に関する知識が必要 / 入出力は単純だが内部構造が複雑なものをテストできない

#

ありがちなアンチパターンはすべてのテストを一つのツールでやってしまおうとすること。ツールによって得意不得意があるのでツールの併用を行う方が良いらしい。