スキルアップ

今さら聞けないQA技術:テスト技法ツール(第1回)

今さら聞けないQA技術:テスト技法ツール(第1回)

皆さんはテストケースをどのように作成していますか? 人によってさまざまな作り方はあると思いますが、テストケースを漏れなく、効率よく作成するために「テスト技法」というテクニックが知られています。

本記事では、テスト技法の適用を支援するツール(テスト技法ツール)を活用して、効率的にテストケースを作成する方法について解説します。

テスト技法とは

テスト技法とは、ソフトウェアテストのテストケースを作成するための技法です。同値分割法、境界値分析、デシジョンテーブルテストなど、さまざまなテスト技法が存在します。これらのテスト技法は、国際規格ISO/IEC/IEEE 29119-4や、ソフトウェアテストの国際資格ISTQB(日本語版はJSTQB)のシラバス、さまざまな書籍で紹介されています。テスト技法を利用することで、テストケースの抜け漏れを防ぎ、効率よくテストケースを作成できます。

JSTQB Foundation Level シラバスでは、ブラックボックステスト技法、ホワイトボックステスト技法、経験ベースのテスト技法の3つにテスト技法を分類しています。ブラックボックステスト技法には、同値分割法、境界値分析、デシジョンテーブルテスト、状態遷移テストなどが挙げられています。テスト技法の種類一覧については、こちらの記事もご覧ください。

当社ではテスト技法を効率的に活用できるようにするために、「GIHOZ(ギホーズ)」というクラウド型のテスト技法ツールを公開しています。今回の記事では、GIHOZの利用者によく使われているテスト技法である、「デシジョンテーブルテスト」「ペアワイズテスト」「状態遷移テスト」を紹介します。

デシジョンテーブルテスト

デシジョンテーブルテストとは、JISX0125:1986で規定されている決定表(デシジョンテーブル)の表記で、入力条件の組み合わせと対応する出力結果を整理してテストケースを作成する技法です。デシジョンテーブルを用いると、組み合わせパターンが視覚的に分かりやすく整理できるため、テストを実施する前に、条件の組み合わせの考慮漏れを防げます。どのようなソフトウェアであっても、条件の組み合わせによって出力結果(ソフトウェアの動作)が決定するものには、デシジョンテーブルテストを利用できます。

デシジョンテーブルを作成する際、Excelなどの表計算ソフトを使用する方が多いと思いますが、GIHOZを利用すると条件の組み合わせを自動で生成でき、効率的にデシジョンテーブルを作ることが可能です。

以下はデシジョンテーブルの例で、オンラインショップのシステムにおける割引料率の判定ルールを表現したものです。

デシジョンテーブルは①条件記述部、②動作記述部、③条件指定部、④動作指定部の4つの要素で構成されています。条件指定部のYやNで、条件記述部に記載された条件を満たすかどうかを表現します。列が条件の組み合わせを表現しています。「-」は動作に影響を与えないため考慮不要であることを意味します。

動作指定部のXで、条件の組み合わせに応じた動作を指定します。例えば下図の条件指定部の1列目は、「タイムサービス時間内」かつ「割引対象商品」の場合、「10%割引」になることを表現しています。

GIHOZでは条件指定部のY、Nの組み合わせを網羅的に自動生成できます。上図の例で自動生成を行った場合、「タイムサービス時間内」、「割引対象商品」、「会員」の各条件がYまたはNのどちらかの値を取るため、2×2×2で8件となります。組み合わせを生成した後でテーブルを整理して、不要な組み合わせや、矛盾する組み合わせを除外したものが上図のデシジョンテーブルです。テーブルの整理の詳細はこちらの記事をご確認ください。

デシジョンテーブルを作成した後、各列をテストケースに落とし込みます。GIHOZでは、デシジョンテーブルの横1行を1件とする形式でテストケースに自動変換できます。

テストケースのフォーマットはプロジェクトごとに異なっていることが多いと思います。テスト管理ツールを導入しているプロジェクトもあるでしょう。デシジョンテーブルからテストケースに落とし込む際は、各プロジェクトのフォーマットやツールに合った形にしましょう。

ペアワイズテスト

ペアワイズテストは、2つのパラメータ間の組み合わせを網羅するテストケースを作成する技法です。オールペア法、ペアワイズ法とも呼ばれます。2つのパラメータ間の組み合わせにのみ着目するため、パラメータが3つ以上になる場合でも組み合わせの件数を抑えてテストケースを作成できます。

どのようなソフトウェアであってもペアワイズテストを適用することが可能です。特に、パラメータ間に明確な関係がなく、かつ多くのパラメータを組み合わせてテストする必要がある場合、ペアワイズテストを用いて組み合わせを絞り込むことが有効です。

ペアワイズテストでテストケースを作成する際に利用できるツールとしては、PICTPictMasterなどが挙げられます。PICTはコマンドラインで組み合わせの生成を実行できます。PictMasterはExcel上で組み合わせを生成することが可能です。

これらのツールをインストールしなくても、当社のGIHOZで簡単にペアワイズテストによる組み合わせを自動生成できます。以下はペアワイズテストで作成した組み合わせの例です。2パラメータ間の値の組み合わせのみ網羅することで、 全てのパラメータ間の値の組み合わせを作成した場合に比べて、テストケースの数を絞り込むことができます。

組み合わせられない値が存在する場合、組み合わせの制約を指定することもできます。制約の指定については、こちらの記事もご確認ください。

状態遷移テスト

状態遷移テストとは、テスト対象となるソフトウェアの状態の遷移を、状態遷移図や状態遷移表の形式で整理し、そこから状態遷移を網羅するテストケースを作成する技法です。テスト対象の状態と、状態の変化を起こすイベントを識別してテストケースを作成します。テスト対象の状態の変化に着目してテストを行いたい場合に利用されます。状態遷移テストでテストケースを作成する際に利用できるツールは、Enterprise Architectastah*などUMLのモデリングツールが挙げられます。

これらのツールには状態遷移図から遷移パスを抽出するアドインが提供されています。こうしたツールがなくても、GIHOZでも手軽に状態遷移テストでテストケースを作成できます。

GIHOZを利用すると、状態遷移図や状態遷移表から、遷移パスを網羅するようにテストケースを自動生成できます。網羅基準として、Nスイッチという基準を選択することができます。

以下はストップウォッチの状態遷移図と、0スイッチ、1スイッチという網羅基準で作成したテストケースの例です。GIHOZの状態遷移図は、四角形で状態を表現し、矢印で状態の遷移を表現します。矢印上に、その状態遷移のきっかけとなるイベントの名称を記載します。下図の例では、「停止中」の状態で「スタートボタン押下」すると「計測中」の状態に遷移する、といったストップウォッチの状態の遷移を表現しています。

Nスイッチは、中間にN個の状態を含む遷移パスを網羅するという網羅基準です。0スイッチの場合は、中間に1個も状態を含まない遷移パスを網羅するため、下図のように4件のテストケースとなります。1スイッチの場合は、中間に1個の状態を含む遷移パスを網羅するため、下図のように5件のテストケースとなります。

GIHOZでは生成したいスイッチ数を0~3の中から選択してテストケースを自動生成できるため、状態遷移テストのテストケースを効率的に作成できます。

本記事では、テスト技法ツールを活用して効率的にテストケースを作成する方法として、デシジョンテーブルテスト、ペアワイズテスト、状態遷移テストの3つを紹介しました。

今回紹介した以外にもさまざまなテスト技法があります。より詳しく学習したい方は、以下の書籍などを参考にしてください。

『はじめて学ぶソフトウェアのテスト技法』リー・コープランド(著)・宗雅彦(翻訳)、日経BP、2005年

『ソフトウェアテスト技法練習帳〜知識を経験に変える40問〜』梅津正洋・竹内亜未・伊藤由貴・浦山さつき・佐々木千絵美・高橋理・武田春恵・根本紀之・藤沢耕助・真鍋俊之・山岡悠・吉田直史(著)、技術評論社、2020年

『ソフトウェアテスト技法ドリル【第2版】 テスト設計の考え方と実際』秋山浩一(著)、日科技連出版社、2022年

SNSシェア

この記事は面白かったですか?

今後の改善の参考にさせていただきます!

Ranking

ランキング

もっと見る