結合テスト仕様書の書き方|総合テスト・受入テストとシナリオの作り方

結合テスト仕様書の書き方とシナリオの作り方を紹介する記事のアイキャッチ。机の上の流れ図と表の書類

当サイトの記事は編集部が国土交通省・IPA・デジタル庁などの公的機関の情報、規格や業界団体の公開情報を調べて独自に執筆しています。記事内にIT・Webエンジニアの転職サービスへの案内(広告)を含みます。

単体テストは書けたけれど、結合テスト仕様書になると『何をテストすればいいのか急にぼんやりする』という方は多いはずです。総合テストや受入テストとの違いも、分かりにくいですよね。

結論から言うと、結合テスト仕様書は部品と部品の「つなぎ目」で、データが正しく受け渡されるかを確かめる書類です。業務の流れに沿ったシナリオで書くと、抜けが減ります。

この記事を読めば、結合テスト仕様書の書き方と、総合テスト・受入テストの仕様書との違いが分かります。

目次

結合テスト仕様書とは?単体テストとの違い

先に結論

単体テストは部品1つの動きを、結合テストは部品をつないだ時の受け渡しを確かめます。結合テスト仕様書には、どの部品からどの部品へ、何が渡れば合格かを書きます。

例えば、注文を受ける部品と在庫を減らす部品があるとします。どちらも単体テストでは合格でも、つないだ時に数量の受け渡しがずれていれば、在庫は正しく減りません。

こうした「つなぎ目のずれ」を見つけるのが結合テストです。テストの国際的な資格の体系であるJSTQBのシラバス(Version 2023V4.0.J02)でも、テストの段階にコンポーネント統合テストを挙げています。

単体テストで確かめること
  • 部品1つが設計どおりに動くか
  • 入力に対して正しい値を返すか
  • 元にする書類は主に詳細設計書
結合テストで確かめること
  • 部品どうしの受け渡しが合っているか
  • 画面から登録までの流れが通るか
  • 元にする書類は主に基本設計書

単体テストの書き方は単体テスト仕様書の書き方で紹介しています。

テストの段階は4つ:誰が何を確かめるか

ここが大事

テストの段階は「部品」「つなぎ目」「業務の流れ」「受け入れ」の4つに分けると、それぞれの仕様書で何を書けばいいかが見えてきます。後の段階ほど、使う人の目線に近づきます。

『結合テストと総合テストとシステムテスト、どこが違うの?』と迷いますよね。そこで編集部では、テストの段階を4つに分けて、誰が何を確かめるかを表にしてみました。

段階呼び方の例主に確かめる人確かめること元にする書類
部品単体テスト作った人部品1つの動き詳細設計書
つなぎ目結合テスト開発チーム部品どうしの受け渡し基本設計書
業務の流れ総合テスト、システムテスト開発チームシステム全体が要件どおりに動くか要件定義書
受け入れ受入テスト発注側、使う人業務で使えるか要件定義書、業務の手順
テストの段階を部品・つなぎ目・業務の流れ・受け入れの4つに分け、誰が何を確かめるかを示した図解

デジタル庁のデジタル・ガバメント推進標準ガイドライン(DS-100)では、開発する事業者に「単体テスト、結合テスト及び総合テスト」のテスト計画書の案を求めています。計画書には、テストシナリオ作成基準や合否判定基準などを書くこととされています。

同じガイドラインでは、発注側が行う受入テストには、システムを使う人も参加するとされています。受け入れの段階だけは、確かめる人が発注側に変わるんです。

呼び方は現場で違う

「総合テスト」と「システムテスト」は、同じ段階を指す現場が多いです。IPAの共通フレーム2013では、システム結合、システム適格性確認テストといった名前で作業が並んでいます。名前より、その段階で何を確かめるかで合わせておきましょう。

受入テストにもいくつかの形がある

JSTQBのシラバスでは、受け入れテストの主な形として、ユーザー受け入れテスト(UAT)、運用受け入れテスト、契約および規制による受け入れテスト、アルファテストとベータテストを挙げています。

『受入テストって、使う人が触ってみるだけじゃないの?』と思った方もいますよね。実は、運用する担当者の目線や、契約で決めた条件を確かめる受け入れもあるんです。

受け入れの形主に確かめること
ユーザー受け入れテスト使う人が、業務の手順どおりに使えるか
運用受け入れテスト運用の担当者が、バックアップや監視などを回せるか
契約・規制による受け入れテスト契約や決まりで定めた条件を満たしているか

受入テスト仕様書を作る時は、どの形の受け入れなのかを最初に書いておくと、項目の選び方がぶれません。

結合テスト仕様書の書き方:シナリオで作る

ここでの結論

結合テスト仕様書は、画面や機能の一覧から作るより、業務の流れを1本のシナリオにして、その途中のつなぎ目ごとに確かめる項目を置くと作りやすくなります。

結合テストの項目を、画面ごとにばらばらに書いていくと、つなぎ目の確認が抜けがちです。そこで、業務の流れを先に書き出してみましょう。

結合テスト仕様書を業務の流れのシナリオから作る手順を示した図解
結合テスト仕様書を書く流れ
  1. 基本設計書から、業務の流れを1本ずつ書き出す
  2. 流れの途中で、部品から部品へデータが渡る所に印を付ける
  3. 印を付けた所ごとに、渡す値と受け取った後の状態を書く
  4. 正常に流れる道と、途中で止まる道の両方を用意する
  5. 合否の基準を決め、レビューを受けてから実施する

結合テスト仕様書の記入例

編集部が作った架空の例で、「注文から出荷の指示まで」のシナリオを書いてみますね。

番号つなぎ目前提操作・入力期待結果
注文-01注文画面から注文の登録へ在庫が十分にある商品数量を入れて注文する注文が「受付済み」で登録される
注文-02注文の登録から在庫へ注文-01の後操作なし在庫が注文の数量だけ減っている
注文-03在庫から出荷の指示へ注文-02の後出荷一覧を開く注文-01の注文が一覧に出ている
注文-04注文画面から注文の登録へ在庫が足りない商品数量を入れて注文する「入荷待ち」で登録され、在庫は減らない

前の項目の結果が、次の項目の前提になっているのがポイントです。こうすると、どのつなぎ目でずれたかがすぐ分かります。

シナリオは何本作ればいい?

『シナリオを何本書けば足りるのか分からない』という声もよく聞きます。決まった本数はありませんが、目安になる考え方はあります。

基本設計書にある業務の流れを、まず1本ずつシナリオにします。そのうえで、流れの途中で分かれ道がある所は、分かれた先ごとにシナリオを足していきます。

組み合わせを全部書こうとすると、本数が膨らみすぎてしまいます。分かれ道ごとに少なくとも1回は通る、という考え方で絞るのが現実的ですよ。

正常系と異常系を両方入れる

シナリオには、最後まで正常に流れる道(正常系)と、途中で止まる道(異常系)の両方を入れます。記入例の注文-04は、在庫が足りずに途中で止まる道です。

よくある失敗

正常系のシナリオだけで項目が埋まり、異常系が後回しのまま終わってしまうことがあります。シナリオを1本書いたら、「この流れが途中で止まるのはどんな時?」と考えて、少なくとも1本は異常系を足してみてください。

総合テスト・システムテスト・受入テストの仕様書のテンプレート

ここでの結論

結合テスト仕様書のテンプレートは、単体テストの列に「つなぎ目」と「シナリオ名」を足した形が基本です。総合テストや受入テストでは、業務の手順と、使う人が合否を判断する基準を足します。

テンプレートの列は、段階ごとに少しずつ変わります。主な違いを並べてみますね。

列結合テスト総合テスト・システムテスト受入テスト
シナリオ名機能をまたぐ流れ業務の一連の流れ実際の業務の場面
つなぎ目部品どうしの受け渡し先他のシステムとの連携先書かなくてよいことが多い
前提テスト用データの状態本番に近いデータの状態業務の状態
期待結果渡った値と受け取った後の状態要件どおりの結果業務で使えると言える状態
確かめる人開発チーム開発チーム発注側、使う人

総合テスト仕様書のテンプレートを作る時は、要件定義書の要件ごとに「どのシナリオで確かめたか」を書く列を足しておくと、確かめ漏れが分かります。

受入テスト仕様書のテンプレートでは、操作の言葉を業務の言葉で書くのがコツです。IPAの共通フレーム2013のガイダンスでも、受入れテストの内容、体制、スケジュールなどを明確にした受入れテスト計画書を文書化することが望ましい、とされています。

テンプレートを作る時のチェック
  • シナリオ名と番号の列がある
  • つなぎ目や連携先が分かる列がある
  • 前の項目の結果を前提に書ける
  • 合否の基準と、確かめた人の列がある

結合テスト仕様書でよくある相談

ここでの結論

知恵袋では「テストの段階ごとの書き方が分からない」「正常系と異常系を英語で何と言う?」「初めての現場で結合テスト仕様書を任された」「単体テストとの線引き」という相談がよく読まれています。

知恵袋で多く読まれている相談を、内容を要約して答えてみますね。

相談1:単体・結合・システムテストの仕様書の書き方が分からない

『テストの段階ごとに、仕様書をどう書き分ければいいか分からない』という相談です。とても多くの人に読まれています。

結論から言うと、どの段階でも「前提・入力・期待結果」を書くのは同じです。変わるのは、確かめる範囲と元にする書類です。先ほどの4つの段階の表を手元に置いておくと、迷いにくくなりますよ。

相談2:正常系と異常系は英語で何と言う?

『英語で結合テスト仕様書のテンプレートを作っていて、正常系と異常系の言い方に迷う』という相談です。

英語の資料では、正常系を positive test、異常系を negative test と書く例がよく見られます。チームの中で呼び方を1つに決めて、テンプレートの凡例に書いておくと安心です。

相談3:初めての現場で、結合テスト仕様書を作ることになった

『研修を終えて初めての現場に入り、いきなり結合テスト仕様書を作ることになった』という相談です。

不安になるのは自然なことです。まずは基本設計書を読み、業務の流れを1本だけ書き出してみてください。書き出した流れを先輩に見せて、「この流れで合っていますか?」と聞くところから始めれば十分です。

相談4:単体テストと結合テストで、見る所の違いがあいまい

『テスト項目を立てているけれど、単体テストと結合テストでどこを見ればいいのか線引きに迷う』という相談です。

目安は「部品の中」か「部品と部品の間」かです。部品の中の計算や判定は単体テストで、部品から部品へ値が渡った後の状態は結合テストで確かめます。

例えば送料の計算そのものは単体テスト、計算した送料が注文の合計に正しく足されて画面に出るかは結合テスト、と分けて考えてみてください。同じことを両方で確かめていたら、どちらか一方に寄せると項目がすっきりします。

テストの経験は、上流の仕事への入り口にもなる

結合テストや総合テストの仕様書を書くと、業務の流れと設計のつながりが見えてきます。今の現場で設計に関わる機会を増やすのも、資格を取ってから動くのも、どちらもよい道です。

今の担当工程から一歩進みたい方は、求人の仕事内容を比べてみると、どんな経験が評価されるかが見えてきます。

IT・Webエンジニアの転職(PR)

仕様書を書く経験を活かせる職場を探すなら、求人も比べてみる

要件定義や設計を任されるか、発注側か開発側か、扱うシステムや働き方は会社によって大きく違います。担当したい工程や条件から、IT・Webエンジニアの求人を比べてみてください。

無料ITエンジニアの求人を探す

求人の条件・待遇は各求人票と応募先の案内でご確認ください。

結合テストの元になる基本設計書は基本設計書とは?書く項目と書き方で紹介しています。

よくある質問

結合テスト仕様書の期待結果には、画面の写しを付けないといけませんか?

付けるかどうかは現場の決まりによります。大事なのは、どうなれば合格かが文で分かることです。画面の写しは、結果を残す証拠として付けることが多いです。

総合テストとシステムテストは同じものですか?

同じ段階を指す現場が多いです。どちらの呼び方でも、システム全体が要件どおりに動くかを確かめる段階と考えておけば迷いません。

受入テスト仕様書は誰が作りますか?

受入テストは発注側が行う段階なので、発注側が作るのが基本です。開発側が案の作成を手伝うこともあります。

結合テスト仕様書のテンプレートは単体テストと同じでいいですか?

単体テストの列を土台にして、シナリオ名とつなぎ目の列を足すと使いやすくなります。前の項目の結果を次の前提に書ける形にしておきましょう。

まとめ

この記事の要点
  • 結合テスト仕様書は、部品どうしのつなぎ目の受け渡しを確かめる書類
  • テストの段階は部品・つなぎ目・業務の流れ・受け入れの4つで考える
  • 業務の流れをシナリオにして、つなぎ目ごとに項目を置く
  • 正常系と異常系の両方のシナリオを用意する
  • 受入テストは発注側が、使う人の目線で確かめる
仕様書ドットコム

仕様書ドットコム 編集部

仕様書の意味・種類・書き方から、システム開発の要件定義書・設計書・テスト仕様書、公共工事の標準仕様書・共通仕様書、住宅や発注の仕様書、仕様書を書く仕事のキャリアまでを、初めて仕様書に向き合う人が自分で判断できるように整理している情報サイトです。 公式サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次