
第27回 文書ドリブン開発 テスト文書編
アクセンチュア・テクノロジー・ソリューションズ
マネジャー 宮本和洋
2009/9/14
| 開発現場は日々の仕事の場であるとともに、学びの場でもある。先輩エンジニアが過去に直面した困難の数々、そこから学んだスキルや考え方を紹介する。 |
システム開発プロジェクトで作成される文書にフォーカスしての連載の最終回です。今回はテスト関連文書について考えたいと思います。なお、以下の記述はあくまで筆者の私見であることをあらかじめお断りしておきます。
■最初の仕事はテスト仕様書作り
わたしがシステム開発業界に入って間もなく配属されたプロジェクトで、最初に作った文書は単体テスト仕様書でした。初めての現場に配属されて期待と緊張の渦巻く中での作業です。いきなり先輩社員に見限られたりすることのないように少ない知識で精いっぱい取り組んだことをいまでもよく覚えています。しかし、そんな思いとは裏腹に、まったくもって作業は進みませんでした。いま思えばそれほど難しくもない機能の単体テスト仕様書作りに丸1日かけ、やっと1枚書き上げることができただけでした。
| エンジニアライフ コラムニスト募集中! |
あなたも@ITでコラムを書いてみないか 自分のスキル・キャリアの棚卸し、勉強会のレポート、 プロとしてのアドバイス……書くことは無限にある! コードもコラムも書けるエンジニアになりたい挑戦者からの応募、絶賛受付中 |
そのとき受けた指示は「これ(ほかの機能のテスト仕様書)と同じようにこの機能のテスト仕様書を作ってみて」というものでした。もらった情報は簡単に書くと以下の2つだけです。
- テスト対象となる機能の詳細設計書とプログラムコードを印刷したもの
- ほかの機能のテスト仕様書
実はこのインプットだけではテスト仕様書を作ることができないということは、いまだからこそ分かります。長くそのプロジェクトに従事している人であればこれだけで十分なのかもしれませんが、その当時は社会人になりたての新人です。それではどういうインプットが必要なのでしょうか? 答えは最後に書きたいと思います。
■テスト工程はいつから始まるか
システム開発で各工程のインプットは前工程のアウトプットであるというのはほぼ同意いただけることかと思います。基本設計工程のインプットとなるものは要件定義工程のアウトプットですし、プログラム開発工程のインプットは詳細設計工程のアウトプットです。つまり、プログラム開発工程までは主にその直前の工程のアウトプットがインプットとなります。
ところがテストの工程に入ると、この関係が若干変わることにお気付きでしょうか。あらためてV-モデルをご紹介しますが、テスト工程からはインプットとなるものが直前の工程のアウトプットではなく、合わせ鏡のようにした反対側の作業工程のアウトプットがインプットになるのであるというところが興味深いところです。さらにいうと、要件定義の段階である程度テスト工程のことを念頭に置いておく必要があるということです。
時々プログラム単体テストのインプットに書いたプログラムそのものを使っている人がいますが、そもそもプログラムのバグを見つけるのがテストの役割なのに、誤りがあるかもしれないものをインプットにすること自体すでに意味のない行為です。これは前回の記事でも触れたとおりです。
![]() |
| 図1 V-モデル |
つまり、要件定義の段階からすでにテスト工程は始まっているというのがわたしの考えです。単体テストから受け入れテストまでの各テストには適切なインプットとなる成果物が存在しているので、テスト仕様はこのインプットに従って起こすのが正しい方法です。わたしの会社ではこのV-モデルに関する教育が全社員に対して徹底的に行われています。しかし、わたしが新人時代を過ごしたのは別の会社だったため、こういった筋の通った理屈の説明がないままやみくもに取り組んでいました。いま思うと残念でなりません。
| テスト関連文書は品質保証書 | |
| » @IT自分戦略研究所 トップページへ |
システム開発プロジェクトの現場から バックナンバー
- 第1回 試行錯誤で分かったスパゲッティコード撃退法
- 第2回 セットアップ全国行脚で九州弁に大苦戦
- 第3回 未経験のデータベース構築に挑戦
- 第4回 定まらない要件、ユーザーからのむちゃな要求
- 第5回 メンバーとの仕様打ち合わせは海を越えて
- 第6回 専門用語で「カッコよく」話すのは簡単だけど
- 第7回 「できるか!」な設計書に、どう立ち向かう?
- 第8回 初めてのトラブル対応。これで直ると思ったのに!
- 第9回 この案件、ぜひ新しいテクノロジでやりましょう!
- 第10回 3プロジェクト同時にリード! どう乗り切る?
- 第11回 オフショアなんて、怖くない
- 第12回 障害対応とチューニングの危うい関係
- 第13回 最強チームで挑んだ、「40時間でデータ移行」の壁
- 第14回 運用って、あまりいいイメージはなかったけれど
- 第15回 「バッファ込み」の工数がスケジュール遅延の原因
- 第16回 大規模プロジェクトでは「同じ言葉を、同じ意味で」
- 第17回 現場デビューのお供はビジュアル多用の報告書
- 第18回 1人チームで悩む新人。「この作業って意味あるの?」
- 第19回 新人、アーキテクチャチームで「運命の出会い」
- 第20回 新人(3年目)、先輩デビューで「最悪の振る舞い」
- 第21回 新人、集合研修で「伝説」を作る
- 第22回 新人(3年目)、プロジェクトで「忍耐」を学ぶ
- 第23回 本当は楽しいドキュメント作成
- 第24回 基本設計文書の質を下げる「4つの心理バイアス」
- 第25回 文書ドリブン開発 DB設計文書編
- 第26回 文書ドリブン開発 詳細設計文書編
- 第27回 文書ドリブン開発 テスト文書編
|
|
| スキルアップに役立つ問題を無料で出題 | |
| ITスキル研修4000件、最新情報の検索できます |
キャリアアップ
スポンサーからのお知らせ
・ケ・ュ・チマツ、クヲオ貍シ・ケ・ン・・オ。シ
- - PR -


PHP技術者認定の最上位、ウィザード試験が5月より開始