何をテストするのか
プログラムは基本的に「入力、出力、計算、データ保存」の四つしか行わないのでこれをテストすれば良い
種類
ソフトウェアテストには大きく分けてホワイトボックステストとブラックボックステストの二種類ある
ホワイトボックステスト
- 内部構造を分解してテストする
ー制御パステストー
制御フローの変化を全てテストする
例:あるメソッドでif文でtrueの処理とfalseだった時のその後の動きをそれぞれテストする
ーーーーーーーーー
論理構造の正しさのみテストするため、ソフトウエアのしようが間違っていることから起きるバグは発見できない
また、テストの作成に莫大な時間がかかる
ブラックボックステスト
- メソッドやクラスなどの単位で入出力だけをテストする
サイクルが早く、テストが時間費用的に実装できないということがない
TDD(テスト駆動開発)がそれにあたる
テストを書きそれが成功するようにコードを書いていく
そして最後にリファクタリングする