チェックポイントをまとめる
「テスト用のドキュメントについて、A奈が今わかっていることについて説明してもらえるかしら」
「はい。まず開発中のシステムについて、テストが必要な項目をチェックします。大きく分けると、詳細設計と外部設計、要求定義のそれぞれの部分でシステム化されているかチェックできるようにする必要があります」
「そうね」
「それから、各部分についてチェックする項目と、実際のテスト内容について記述していきます。えーと、実際には細かなテストが必要なのは詳細設計の部分で、外部設計や要求定義の部分は『実装されているかの確認』のレベルになることが多いのではないでしょうか」
「その部分については、基本的にプロジェクトごとに決まるところね」
「はい。例えば外部設計の話なら『このようなCPUを搭載したサーバを使って』という部分はテスト項目とはいえませんが、『このくらいのレスポンスが必要』という部分はテストすべき点になるわけです」
「その通りよ。では、ウォーターフォールとアジャイルのように開発手法が違う場合はどうなるかしら」
「基本的には大きな違いはないと思います。ただ…」
「ただ?」
「開発サイクルが異なっているので、アジャイルの場合にはテスト内容と結果がそのまま次の開発サイクルにつながるように注意する必要はあると思います」
「…よくできました、といいたいところだけど、まだ1つ足りないところがあるのよね」
「え!?」
図2:テストフェーズに必要なポイントをチェック
終わらないデスマーチ?
「テストが必要な項目や、その内容についてはわかったわ。ではテストを行うスケジュールについてはどうかしら」
「忘れてました〜」
「だと思っていたわ。開発スケジュールを立てる際に、このテストフェーズについて見積もっていないと『納期いっぱいコーディング作業を』という事態になりかねないの」
「なぜですか?」
「その日までにコーディングが終わっていたらいい、と思っているときに、急にテストを○日までに終わらせて、といわれたらどうなるかしら」
「軽くパニックです〜」
「でしょ? そしてテストを行ってみたら大きなバグが見つかって…。でも納期は決まっているのよね」
「デスマーチです〜」
「だから、開発ドキュメントの中でテストフェーズのドキュメントは重要だし、それを忘れていたあなたがどう考えていたのかしら、って思うわけ」
「だめだめです〜」
「説明の関係でテストフェーズのことは最後になってしまったけれど、実際には要件を定義するフェーズからテストまでを鑑みた全体的なスケジュールを立てることが重要ね。さらに言えば、テストが開始できる部分は先にテストにまわせるよう、各フェーズでのドキュメントを作成する際に、同時にテスト用のドキュメントを作っておくと良いわよ」
「は〜い。これでようやく『終わり』ですね!」
「…もう一度学校行く必要があるわね!」
「がくがくぶるぶる」 次のページ