トレンド情報 / 記事を探すCOLUMN

『テスト計画?テスト設計?なにそれ?おいしいの?』わかりやすく解説しました

更新日|2019.08.27

三堀雅也

『テスト計画?テスト設計?なにそれ?おいしいの?』わかりやすく解説しました

はじめに

バルテスで、テスト業務に関する研究開発、人材育成を担当している三堀と申します。

テスト業務に就いていると、様々な「テスト」と名の付く言葉に出会うと思いますが、初めてテストを担当する方やまだテストを担当したばかりという方は、この多くの「テスト」と付く言葉に戸惑ってしまっているのではないでしょうか。

「テスト計画」、「テスト設計」・・・。
この2つの言葉にも頭を抱えていませんか?

「テスト計画、テスト設計・・・。ナニソレ?ワタシワカラナイ・・・。」
題名を見て、このような感想を持ったあなた。
そんなあなたのために、本稿では「テスト計画」と「テスト設計」を分かりやすく解説していきたいと思います。

「テスト計画」、「テスト設計」ってなに?

fbe37d0657fba3e374a4b4b67d0a31d3_s

そもそも、「テスト計画」、「テスト設計」ってなんだと思いますか?

答えは
「テスト計画」は「テストの計画を立てること」
「テスト設計」は「テストする内容を設計すること」
です。

・・・と、これでは結局何をすることなのか分からないですよね。
ということで、「旅行」に例えて解説していきます。

皆さま、家族など何名かのグループで旅行に行くことになったとイメージしてください。
旅行するためにまず、何をしますか?

  • 旅行で何をしたいか考える。

    (温泉でゆっくりしたい!)

  • 何処に旅行に行くのか決める。

    (温泉入りたいから、草津行く!)

  • 何日から何泊するのか決める。

    (7/13から7/14まで1泊2日)

  • 予算を決める。

    (4人で12万)

こんなところでしょうか。
実はテストでも同じようなことを考えます。

  • テストで何をしたいのか考える。

    (バグを無くしたい!)

  • 何処をテストするのか決める。

    (特にここはバグがあると困るから重点的にテストする!)

  • テストの期間を決める

    (7/1から7/31まで1か月間)

  • テストに掛かる工数を決める。

    (5人で800時間)

また旅行に戻ります。
次にどのように旅行するかを決めませんか?

  • どうやって移動する?

    (車?電車?)

  • どのようなルートで行く?

    (最短ルート?遠回りでも景色が良いルート?)

  • 宿泊先はどうする?

    (駅近?景色が良いところ?料理がおいしいところ?)

テストで考えてみましょう。

  • どうやってテストする?

    (テストする手順は?使用するデータは?)

  • どのようなパターンでテストする?

    (どのようなパラメータの組み合わせパターンにする?)

  • 期待結果はどうする?

    (機能仕様書から読み取れる?テスト側で確認する手段ある?)

これが「テスト設計」です。

つまり、「テストで何をしたいのか、どのような予定でテストするか」を決めるのが「テスト計画」、
「どのような手段でテストするのか」を決めるのが「テスト設計」です。

なんとなくでも、「テスト計画」と「テスト設計」がどんなものかイメージ湧きましたでしょうか?

注意して頂きたいのは、「テスト計画」、「テスト設計」共に、上記で挙げた内容を考えれば終わりというものではないということです。

今回は「テスト計画」、「テスト設計」を理解してもらうために、あえてざっくり説明していますので、他に考えなければならない事項については割愛させて頂きます。

少しイメージは付いたけど、何で「テスト計画」と「テスト設計」するの?

laptop-2709647_640

次に、「テスト計画」と「テスト設計」をする理由について解説していきたいと思います。

前章では、テストを旅行に例えて解説しました。
ですが、旅行は何も計画しないで行き当たりばったりで行く場合もあると思います。
むしろ、そういった旅行の方が好きという方もいるかもしれません。

しかし、テストはそういう訳にはいきません。

行き当たりばったりでテストしたことで不具合を見逃してしまい、不具合が残ったままのシステムやサービスが世の中に出てしまった結果、命に関わる重大な事故や大きな損害が発生してしまうかもしれません。

これは比喩ではありません。

最近の事例だと、鉄道の逆走事故やバーコード決済サービスのセキュリティ事故などがニュースに取り上げられたりしていますよね?実際に起こる問題であるため、軽く考えてはいけないのです。

このような話を聞くと、「じゃあテストはたっぷり時間を掛けて、入念にやらないとヤバイじゃん」と思うかもしれませんが、残念ながら、納得がいくまで延々とテストするということは出来ません。予算や時間、投入できる人員といった制約があります(テストに限った話ではありませんが・・・)。

そのため、その限られた予算と時間、人員で不具合を見つけていくために、「テスト計画」でテストの計画とスケジュールを決めて、「テスト設計」で計画どおりにテストを実行できるようにして、テストに臨まないといけないわけです。

「テスト計画」、「テスト設計」が大事なのはわかったけど、結局まだ何をすれば良いのかワカラナイ・・・。

では、実際に「テスト計画」、「テスト設計」で確認したり、決めたりする内容を見ていきましょう。

下記を見てください。

<テスト計画で検討、決定するもの(一例)>
  • テストの背景、目的
  • テスト対象、非対象(機能一覧)
  • テスト戦略(テストアプローチ)
  • テスト観点(概要)
  • スケジュール
  • 工数
  • 管理計画(不具合管理、課題管理など)

<テスト設計で検討、決定するもの(一例)>
  • テスト観点の詳細化
  • テスト対象の詳細化(機能細分化)
  • テスト対象へのテスト観点割り当て
  • 使用するテスト技法の検討と適用範囲
  • テストするパターン(インプットパターン、アウトプットパターン)
  • テストの実施手順
  • 期待結果
  • テストで使用するデータの内容、パターン

このような内容を決めていきます。ただし、ここで挙げた内容はあくまでも一例です。
検討し、決めていくべき項目は他にもありますし、会社やプロジェクト状況によっても変わってきます。

「現場や状況によって異なる」って、正解は無いってこと!?とてもじゃないけど出来る気がしない・・・!

e77aff5700f104bb714ff808bf07fd43_m

そんなあなたにはこれ!

「ISO/IEC/IEEE 29119-3: Test Documentation」

「テスト計画」や「テスト設計」など、テストに必要なドキュメントについて、国際標準規格が定められています。

この標準規格をベースにすれば、何もない状態から考えていくよりも、考えやすくなると思います。
経験が浅いうちは、「テスト計画」、「テスト設計」を考える指針として、活用してみてください。

ただし、これはどのようなプロジェクトにも使える魔法のツールというわけではありません。「国際標準規格の項目を埋めれば良いや」と思考停止にならないよう注意が必要です。

おわりに

「テスト計画」、「テスト設計」は、それぞれどのようなことをやるのか、本稿を読んだことで、少しでもイメージ出来ましたでしょうか?

大事なのは、テスト計画書、テスト設計書の項目を埋めることではなく、テスト担当者であるあなたが、「テストで何をしたいのか」、「どうやってテストするつもりなのか」を明文化することです。

本稿を読んだことで、そのことに気づけて貰えたら幸いです。

資料ダウンロード

ライター:三堀雅也

バルテス株式会社 R&C部 副主任研究員

モバイルアプリ、Webサイト、ソーシャルゲームのテスト業務経験後、バルテスに入社。業務系システムを中心にテスト業務全般(管理、計画、設計、実施)に従事。またマネージャとして、オフショアとのブリッジ対応...