単体テスト、結合テスト、総合テスト
単体テスト、結合テスト、総合テストの言葉の意味というのはプロジェクトによりけりだと思う。
ちなみに僕の経験だとJavaのWebアプリなら
・単体テスト
入力、確認、完了のような一連の機能、ユースケースをExcelのマトリックス形式のチェックリストを
テスト仕様書として手動で実行する。実行環境はローカルでEclipse。
・結合テスト
機能間の連携を確認する。warファイルをつくってプロジェクト内の結合環境にデプロイしてExcelのマトリックスでない
チェックリストをテスト仕様書として手動で実行する。エンハンスならテストするのは基本的にエンハンス部分のみ。
・総合テスト
顧客の環境で行う。テスト仕様書のフォーマットは結合テストと同じ。全機能代表的なシナリオをひととおり実行する。
という感じかな。
負荷テスト、セキュリティテストはやったことない。
で、JUnitのテストは単体テストに入るわけだが、何をチェックしたいのかを意識する必要があると思う。
単体テストといった場合、機能を確認したいのかそれともクラスを確認したいのか、意識をあわせないといけない。
クラスレベルでいくらがんばってカバレッジ100%にしても機能を確認していないなら品質が低いのは当たり前。
ロジック部分はJUnitでやって機能部分は手動というのがいいかもしれないが、テスト仕様書をどうするか。
ソースコメントからテスト仕様書を自動生成すれば手動部分とフォーマットをある程度あわせられるかな。
キャプチャリプレイツールは経験無いからどう導入するのがいいのかわからん。
テスト管理も重要だよね。TestLinkいいのかな。