はじめに
担当プロジェクトでテスト観点を整理しているときに「参考になりそうな資料がネットに無いかなー」と思ってぐぐっていると、大手SIerのTISが公開している「テスト種別&テスト観点カタログ」という資料を発見しました。
この資料が半端ないレベルで、すぐにダウンロードしました。
私はSI業界歴がまもなく20年になるのですが、ここまで体系的に整理された資料を目にしたことはありません。おそらく開発ドキュメントが充実している大手企業でも、このレベルまで洗練されたものは少ないのではないでしょうか。
ということで、今回はTISの資料がもっと広まって欲しいという願いを込めて、いかに有用な資料かを紹介しておきたいと思います。
課題感(テスト計画は難しい)
資料の中身を紹介する前に、我々がプロジェクトで抱いている課題感を共有しておきます。
プロジェクトを牽引する役割になると、システム開発でどういうテストをするかを自分自身で考えることになります。
単体テスト、内部結合テスト、外部結合テスト・・・といったざっくりとしたテスト内容は誰もが理解していますが、それを具体的なテスト計画に落とし込むのは、やはり経験値に左右されることが多いはずです。
その結果、プロジェクトによっては、テスト不足によるシステム障害が発生したり、想定以上の工数が発生したりしてバースト、炎上・破綻するプロジェクトが少なからず発生しています。
「どんなテストをすればいいのか?」は、歴10年・20年の人でも抱く悩みです。プロジェクトの特性によってテスト内容は変わるので正解はありません。過去プロジェクト資料を参考にすることは多いと思いますが、その資料にしても体系的に整理されたわけではないので、多くの場合は「今回はどういうテストをしようか」と頭を悩まさせることになるはずです。
また、検討した結果を資料にアウトプットするのも結構な労力を必要とします。
TISの資料の何がすごいのか
前述のように、「どんなテストをすればいいのか」といった点は、経験年数が多いエンジニアでも持つ悩みですが、そういった悩みを軽減してくれるのがTISの資料です。
資料は、
・テスト種別カタログ
・テスト観点カタログ
の2種類が用意されています。
1つ目の「テスト種別カタログ」は、その名の通り、機能テストや性能テスト、セキュリティテストなどのテスト種別を一覧化している資料です。
2つ目の「テスト観点カタログ」も、その名の通り、テストケースを考えるときのテスト観点を一覧化している資料です。
活用タイミングは以下の通り。
プロジェクトの上流から下流まで広い範囲で活用できるものとなっています。
これら資料の何がすごいかというと、こういったシステム開発ドキュメントはITベンダー各社が蓄積しているノウハウ(知的財産)であり、多くの場合は社内資料として管理されて社外に公開はされていません。
私はたまにIPAのドキュメントを漁ったりしていますが、IPAにもこういった資料はありませんでした。そういったノウハウがつまった資料を全世界に公開している点がすごいと感じます。
特に、2つ目の「テスト観点」については、テスト工程のテストケースを考えるときに時に使えるレベルで書かれているので、これからテスト工程に入ろうとする人にとっては、喉から手が出る資料な気がします。
ただ、資料のボリュームは多いので、プロジェクトの特性に合わせたテーラリングは必要となるので留意してください。
それでは、それぞれの資料をざっくりと紹介しておきます。
テスト種別カタログ
出典: TIS-テスト種別カタログ
ある程度の経験を積んだ人であれば、ここに挙がっているようなテストを見聞きしたことはあると思います。
そういった意味での目新しさは無いかもしれませんが、この資料が有用なのは、こういった「あーそういうテストは必要だよね」といったテストを列挙してくれている点にあります。
例えば、顧客に対してテスト計画を説明する際に「機能テストとは、業務シナリオテストとは」といった説明を資料に書かなければなりませんが、そういった辞書的な使い方ができるのが便利なところです。
出典: TIS-テスト種別カタログ
なお、各テスト種別をどういったタイミングで実施するか、という例についても別紙に書かれているので参考になると思います。
テスト観点カタログ
出典: TIS-テスト観点カタログ
テストケースを列挙する際には「テスト観点」が重要になってきます。
例えば、「DB操作において条件の完全一致はテストケースがあったけど、部分一致はテストケースから漏れていた」といったようなことがプロジェクトで起こりがちで、そしてテストの漏れた箇所にバグが潜在するリスクがあるからです。
TISのテスト観点カタログでは、様々なテスト種別におけるテスト観点を列挙してくれていて、中にはそのまま使えるレベルのものもあります。
前述の画像はバリデーションチェックですが、他にもDB操作やファイル処理、メール処理などの多数の観点が列挙されています。
以下はDB操作系ですね。
さいごに
今回はテスト種別・テスト観点のドキュメントについて紹介しましたが、TISのサイトにはその他にも開発に役立ちそうな資料が置いてありそうなので、今後目を通しながら良さげなものがあったら紹介していきたいと思います。
とりあえず、TIS技術サイトのリンクは置いておきます。