単体テスト仕様書&報告書

2005年9月9日(金)
梅田 弘之(うめだ ひろゆき)

詳細設計と単体テスト


   DUNGEONでは、"機能"単位に詳細設計書が作成されます。前回、詳細設計書について解説しましたが、そのテンプレートに示すように、"機能"には複数のモジュールが含まれます。

   例えば、「プロスペクト一覧」という機能は、「プロスペクト一覧」という画面と「プロスペクト検索」「プロスペクト印刷」「月別受注見込出力」という3つのビジネスロジックの合計4モジュールから構成されます。

コラム
共通モジュールの設計書は単独で

   DUNGEONでは、モジュール単位ではなく、機能単位で詳細設計書を作成します。これは、モジュール単位だと設計書が細分化され過ぎて機能要件が把握し難くなると考えているからです。そのため、機能に含まれるモジュールの仕様は、機能設計書の中に含んで記述されます。

   しかし、モジュールの中には複数の機能で共通に使われるモジュールが存在します。例えば、「在庫更新」というビジネスロジック(モジュール)は、入荷や出荷、棚卸など複数の機能から共通に使われます。このようなモジュールの場合、特定の機能仕様書内に仕様を記述するのは好ましくないので、モジュール単体で機能仕様書を作成します。

テスト仕様書とテスト結果報告書


   テスト工程におけるドキュメントは、「テスト仕様書」と「テスト結果報告書」です。テスト仕様書はテスト前に作成するもので、どのようなテストを行い、どういう結果となればよいかを記述します。テストの結果は、テスト結果報告書としてまとめられます。基本的にテスト項目に対して、その結果を記載していくので、テスト仕様書とテスト結果報告書は対比します。そのため、DUNGEONではこの2つを別々に作成するのではなく、1つのドキュメントとしてまとめています。


単体テスト仕様書


   詳細設計書に記載されている内容が正しく動作することを確認することが単体テストです。そんなことは当たり前と思われるでしょうが、実際はその通りになっていないことが多くあります。

  1. 詳細設計書>単体テスト仕様書
  2. 詳細設計書=単体テスト仕様書
  3. 詳細設計書<単体テスト仕様書
   上記aは、詳細設計書に書かれているのにテスト項目から漏れてしまったり、単体テスト仕様書をろくに作成せずにテストするような場合です。

   逆にcのように詳細設計書の記載漏れを単体テストでカバーしようとするケースも注意が必要です。ろくに設計書を作成しないでプログラミングを行うような場合も、これに該当します。「設計書の不備をテストでカバーする」という考え方は、何を持って正常と判断するかの基準があいまいになり、多くの場合にバグ発生の原因となります。

   このような観点から、単体テスト仕様書は、詳細設計書と対比したフォーマットとなります。DUNGEONのように詳細設計書のフォーマット化を推進した場合は、単体テスト仕様書もフォーマット化が可能となります。しかし、詳細設計書が自由記述であれば単体テスト仕様書も自由記述的なものになります。

著者
梅田 弘之(うめだ ひろゆき)
株式会社システムインテグレータ

東芝、SCSKを経て1995年に株式会社システムインテグレータを設立し、現在、代表取締役社長。2006年東証マザーズ、2014年東証第一部、2019年東証スタンダード上場。

前職で日本最初のERP「ProActive」を作った後に独立し、日本初のECパッケージ「SI Web Shopping」や開発支援ツール「SI Object Browser」を開発。日本初のWebベースのERP「GRANDIT」をコンソーシアム方式で開発し、統合型プロジェクト管理システム「SI Object Browser PM」など、独創的なアイデアの製品を次々とリリース。

主な著書に「Oracle8入門」シリーズや「SQL Server7.0徹底入門」、「実践SQL」などのRDBMS系、「グラス片手にデータベース設計入門」シリーズや「パッケージから学ぶ4大分野の業務知識」などの業務知識系、「実践!プロジェクト管理入門」シリーズ、「統合型プロジェクト管理のススメ」などのプロジェクト管理系、最近ではThink ITの連載をまとめた「これからのSIerの話をしよう」「エンジニアなら知っておきたいAIのキホン」「エンジニアなら知っておきたい システム設計とドキュメント」を刊行。

「日本のITの近代化」と「日本のITを世界に」の2つのテーマをライフワークに掲げている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています