目次



    テストケース

    テストケースは基本的に箇条書きで記されることが多く、入力の手間を省けるよう考えてレイアウトを組む必要があります。


    テストケース 項目


    項番

    テストケース1つ1つを識別する場合に必要です。

    種別

    デザインに関するテストなのか、機能に関するテストなのかを記述します。

    検証

    正常テストなのか異常テストなのかを記述します。

    テスト手順

    テスト手順は誰がやっても同じ内容になるよう記述することが非常に重要です。手順を漏れなく、丁寧に書くことを意識しましょう。

    例:ログイン機能をテストする場合
    ・有効なユーザー名とパスワードを入力
    ・Submitする
    ・ログインが成功した場合、正しいページにリダイレクトされることを確認
    ・ログインが失敗した場合、エラーメッセージが表示されることを確認


    例:検索機能のテストをする場合
    ・検索ボックスにキーワードを入力
    ・Submitする
    ・検索結果が表示されることを確認
    ・結果がない場合でも適切なメッセージが表示される


    期待値

    テストケースにおいて予測される結果や期待される動作を記述します。期待値を明確にすることにより、テストの合格を判断することができます。


    例:ログイン機能をテストする場合
    ・正しいユーザー名とパスワードでログインが成功
    ・無効なユーザー名またはパスワードでログインが試みられ、エラーメッセージが表示



    例:検索機能のテストをする場合
    ・検索キーワードに基づいて正しい結果が表示
    ・検索キーワードに該当する結果がない場合、適切なメッセージが表示



    備考

    テスト手順で設定した期待値、またはケースの内容や実施方法など、補足事項があれば記述します。


    例:検索機能のテストをする場合
    ・検索キーワードによる絞り込みが複数回行われる場合、連続した検索の正確性とパフォーマンスに注意する



    結果

    テスト手順に沿って実行し、期待値と比べ、OKかNGかそれ以外の結果なのかを記述します。
    idealumpでは、結果欄の項目について下記を採用しております。

    ※プロジェクトによって項目は変化する場合があるが、基本的には最低限必要となるであろう選択肢として以下を基準とすべきである。


    テストを行う環境の数によって必要な結果の数も変わってきます。
    対象となる検証環境:Mac, Windows, iPhone, Android 
    この場合は環境が4つなので、実施と結果の数は単純に4倍となります。


    詳細

    結果でNGとなったり、保留中となっているテストケースの詳細を記載します。


    例:検索機能のテストをする場合
    ・【iPhone】検索結果がない場合に表示するテキストメッセージの文言が違う



    NGナンバー

    結果でNGとなったり、保留中となっているテストケースに対して番号を振り、個々を識別する際に役立ちます。


    実施者

    誰がこのテストケースをテストしたのかを記述します。主にエラーを見つけた人の名前を記述するのが好ましいです。


    実施日

    テストの実施日を記述します。


    使用アカウント

    テストの際に使用したアカウントを記述します。
    エラー発生時に使用していたアカウントを特定することにより、管理者アカウントの際と、ユーザーアカウントの際の違いがある場合等、原因追及に役立ちます。




    組み合わせテスト 技法

    実際にテストケースを作成していくにあたり、テスト対象の機能に複数の入力条件があり、テストケースが膨大になるという場合が多々あります。
    そのような場合を想定し、色々な組み合わせテストの技法を知っておきましょう。
    どの技法を使用するのかはテスト対象の規模や適正に合わせたものを選んでください。


    組み合わせテスト
    テスト対象の機能に複数の入力条件がある場合、その入力条件の値をいろいろと組み合わせて実施するテストです。


    引用
    情報学広場:情報処理学会電子図書館


    組み合わせテスト技法の代表的な2つを紹介します。


    直交表

    直交表は、複数の要素(パラメータ)とその値の組み合わせを効率的にテストするための表です。直交表は、一部の組み合わせを選択的にテストすることで、効率的に大量の組み合わせをカバーします。この手法は、一部の組み合わせが不具合を引き起こす可能性が高いと考えられる場合や、リソース(時間やコスト)が限られている場合に特に有効です。
    要素ごとに値の組み合わせを列挙し、各列が他の列との組み合わせで全て異なる値を持つように構成されます。これにより、テストケースの組み合わせを網羅的に選択することができます。

    - 各列の値の組み合わせを網羅的にカバーする
    - 列の組み合わせは全ての組み合わせを含まない場合がある(テストケース番号5、6の欠落)

    | No | A | B | C |
    | - | - | - | - | 
    | 1 | 0 | 0 | 0 | 
    | 2 | 0 | 1 | 1 |
    | 3 | 1 | 0 | 1 | 
    | 4 | 1 | 1 | 0 |


    ALL pair 表

    オールペアー表は、特定の要素(パラメータ)の組み合わせを全て網羅するために、各要素の値を適切に組み合わせる手法です。この手法では、各要素が持つ異なる値の組み合わせを特定し、それらをテストケースとして選択します。オールペアー表は、組み合わせの爆発的な増加を抑えながら、要素の組み合わせを網羅的にカバーすることができます。

    - 各列の値の組み合わせを網羅的にカバーする
    - 列の組み合わせは全ての組み合わせを網羅する
    - より広範な組み合わせをカバーする(テストケース番号5、6が追加されている)

    | No | A | B | C |
    | - | - | - | - | 
    | 1 | 0 | 0 | 0 | 
    | 2 | 0 | 1 | 1 |
    | 3 | 1 | 0 | 1 | 
    | 4 | 1 | 1 | 0 |
    | 4 | 1 | 1 | 0 |
    | 5 | 1 | 0 | 0 |
    | 6 | 0 | 1 | 0 |


    組み合わせテスト技法を選ぶ際の参考資料

    引用
    情報学広場:情報処理学会電子図書館




    まとめ

    ケースに必要な項目を整理し、組み合わせテスト技法を用いてテストの網羅性を高めながら、最適なテスト計画を立てましょう!
    PREV
    2023.09.11
    プロジェクトの成功に導くシステムディレクションの勘所
    NEXT
    2023.09.11
    少し紐解いてみる〝ブランディング〟Vol, 02