テストウェアアーキテクチャって何でしょうか?
ギア本では、システムテストの自動化についての数々のノウハウが説明されています。このノウハウに共通する重要なことは、自動化されたシステムテストが繰り返し実行されるということです。つまり、機能拡張のためのバージョンアップや、バグフィックスによるマイナーリリースを常に繰り返すようなシステムをテストの対象としています。そして、システムテストが繰り返し実施されるシステムにおいて、自動化テストのための様々な資産をどう管理するかを考えることが、テストウェアアーキテクチャを考えるということになります。
テストウェアアーキテクチャという言葉を見て想像するのは、「テストに関連する何か(テストウェア)についての構造や考え方、方針(アーキテクチャ)を示すものではないか」ということでしょう。では、肝心の「テストウェア」とは何でしょうか?
テストウェアには、図1のように自動テストを実装してから、実行し、報告するまでのすべての成果物が含まれています。
図1を見て分かるように、テストウェアには様々な種類の情報が含まれており、これらをそれぞれを、ギア本では「テストウェア成果物」と呼んでいます。テストウェア成果物には、次のような種類があります。
- テストエンジニアが作成する「テスト資料」
- テストの実行によって生成される「生成物」
- レポーティングのために作成される「二次生成物」
注意してほしいのは、テストの実行の結果に生成される「生成物(実際の出力)」や、ログや差分レポートやステータスといった「二次生成物」も、テストウェアとして管理すべきであるという点です。これらテストウェアをどう管理していくかを決めることが、テストウェアアーキテクチャを構築することになります。