テスト設計とは? 基本的なプロセスや失敗しないポイントを解説

更新:2024.4.26
著者:Sky株式会社


テスト設計とは?

テスト設計とは、システムの品質を担保するために行う、テストのプロセスの中で、どのようにテストするかを具体的に定義することをいいます。そもそもシステム開発におけるテストとは一般的に、単にシステムを動作させて正常に動作するのかを確認することだけでなく、テストの事前準備から実行、終了報告までを含めた一連のプロセスを指します。テスト設計は事前準備の一種に当たり、システムの信頼性や精度を高めるためのテストにおいて重要な役割を担います。

具体的に行うこととしては、テスト全体の目的やスケジュールなどをまとめたテスト計画を基に、どのような条件や手順でテストを行い、どのような結果が出ることが正しいかなどを具体的に定義し、ドキュメント化します。このドキュメントはテストケースと呼ばれ、テストケースの内容を基に実際のテストは行われます。

システムテストについては、こちらのページをご覧ください

システムテスト(総合テスト)とは? 検証内容、種類、手順、技法を紹介

ソフトウェアテスト・評価については、こちらのページをご覧ください

ソフトウェアテスト・評価とは? 必要性や7原則、評価項目を紹介(ソフトウエアテスト・評価)

テスト設計のプロセス

テスト設計のプロセス図

テスト設計は、テスト全体のプロセスの中でテスト計画の次に位置し、「テスト設計方針」と「テストケース設計」に分類されます。「テスト設計方針」のフェーズで、テスト計画で定義された全体の目的などを基に、テストで確認したいことやテストケースをどのように作成すべきかなどテスト設計の大枠を考えます。次に「テストケース設計」のフェーズで具体的なテストの条件や手順、期待される結果などを検討し、テストケースとしてまとめます。実際のテストはこのテストケースに沿って行われるため、テストが正しく実行されるかどうかはテストケースの内容に左右されます。

テスト設計方針

テスト設計方針のフェーズでは、主に「テスト範囲」「テスト視点」「テスト条件」の3つの要素を記述してまとめます。それぞれ詳しく解説していきます。

テスト範囲

テスト範囲は、文字どおりテストを行う範囲のことで、システムに求められる要件とその要件を実現する機能から考えます。また、要件や機能に直接ひもづく範囲だけでなく、影響範囲も併せてテスト範囲に含めます。

影響範囲はユーザーの運用方法から考えます。ユーザーの運用方法を想定し、使用順序やデータの流れから影響がありそうな機能をテスト範囲に追加します。また、システムを改修する場合は、改修箇所からも影響範囲を考えます。プログラムやデータ定義などの改修箇所を参照している機能を洗い出し、テスト範囲に追加します。

テスト観点

テスト観点とは、テスト計画で決定したテスト全体の目的を踏まえ、特定の機能に対してどのようなテストを行うことが有効なのかを定義したものです。テスト観点を考える際は、仕様書どおりに動作するかどうかだけでなく、仕様書に記述がなくともユーザーが行う一般的な操作から推測したり、過去に発生した障害から類推したりすることが重要です。

テスト観点と近しい言葉にテストケースがあります。テストケースはテストの条件や手順、期待される結果などを明確化したドキュメントのことで、対するテスト観点は、テストを行うために必要な考え方や着眼点のことを指します。テスト観点は、テストケースのような具体的な手順には言及しないという違いがあります。

テスト条件

次に、テスト観点ごとに、どのようなテスト条件でテストすべきか、網羅の基準とその理由を考えます。テスト設計方針の段階では、テストで実施するデータのパターンは検討しませんが、どういったテスト技法を使用し、網羅する基準はどうするかまで決めることが必要です。網羅する基準が決まっていると、テストケースを作成する際に、データパターンの検討がスムーズになります。

テストケース設計

テスト設計方針の策定後は、テストケースの作成に移ります。テスト計画やテスト設計方針どおりにテストを実行するために、「テスト対象」「テスト観点」「テスト条件」「テスト手順」「期待値」などの要素をまとめます。これらを明確に記述することで、確認すべき項目の抜け漏れを防ぐことにつながります。テストケースのフォーマットは、企業や現場、プロジェクトによってさまざまですが、上記5つはテスト実行時に必ず考慮すべき事項といえ、基本的には記述されます。

テスト設計に失敗しない3つのポイント

精度の低いテスト設計を行ってしまうと、せっかくテストを行ってもシステムの不具合やバグなどを検出できず、品質を担保できません。テスト設計を失敗しないためにも、押さえておくべき3つのポイントをご紹介します。

テストケースの品質をそろえる

テストケースを複数のテスト設計者で作成する場合は、それぞれの品質にばらつきが出ないよう、大本となる設計方針の策定を欠かさず、設計者間で共有しておくことが大切です。

設計方針を共有しないままテストケースを作成した際によく起こるのが、表現のばらつきです。同じ内容でも設計者ごとに違う言葉で書かれたことで、テスト業務の実行者を混乱させ、思わぬ失敗やトラブルを招く恐れがあります。

加えて、設計方針による客観的な視点がなければ、テスト設計者は無意識に過去の類似案件と同じように、テストケースを作成してしまうことも考えられます。過去の類似案件をそのまま適用することで、本来必要なテスト内容の抜け漏れが生じる可能性があります。

事前に設計方針をまとめ、設計者間できちんと共有しておくことで、テストケースの品質のばらつきを防ぎ、精度の高いテストにつながります。

要件定義書の結論と重要な項目を理解する

要件定義書を結論から読み、重要な項目をあらかじめ理解しておくことも大切です。要件定義書とは、システム開発全体における具体的な進め方や全体設計がまとめられた資料のことで、主に開発担当者が作成します。この要件定義書を結論から読むことで、システムの目的や重要な機能などを効率的に理解できます。

要件定義書の要点を押さえてシステム全体を俯瞰することで、ユーザーの行動を予測できることにもつながり、実際の運用方法に近い具体性のあるテスト設計を行うことができます。

要件定義書の作成者に確認してもらう

テストケースを作成した後は、要件定義書の作成者にそのテストケースを確認してもらうことも非常に効果的です。テスト対象のシステムに1番詳しいといえる要件定義書の作成者に確認してもらうことで、テストの方向性は正しいのか、テスト内容に抜け漏れがないかなどをより的確な意見として聞くことができます。

まとめ

いかがでしたか? この記事では、システム開発におけるテスト工程の一つである、テスト設計についてご紹介しました。不具合やバグの検出などシステムの品質を担保する上で欠かせないテストですが、その良し悪しを決めるのはテスト設計といえます。システムの信頼性を高め、ユーザーの満足度向上につなげられる高い精度のテスト設計に向けて、この記事でご紹介したことが少しでも役に立てば幸いです。

著者 Sky株式会社

Sky株式会社は、家電のシステム開発を手掛けたのをきっかけに、デジタル複合機やカーエレクトロニクス、モバイル、情報家電、さらに自社商品として教育分野における学習活動ソフトウェアや、公共・民間向けクライアント運用管理ソフトウェアなど、幅広い分野でのシステム開発を展開しております。

お問い合わせ

ソフトウェア開発・評価/検証(ソフトウェアテスト)に関するご依頼・ご質問は、下記フォームよりお問い合わせください。弊社製品・サービスに関するお問い合わせは、各商品Webサイトより受けつけております。

パートナー企業募集

Sky株式会社では長期的なお付き合いができ、共に発展・成長に向けて努力し合えるパートナー企業様を募集しております。パートナー企業募集に関するご依頼・ご質問は、下記フォームよりお問い合わせください。

ページのトップへ