MENU

「テスト技法」解説

■テスト技法とは?

テスト技法とは、ソフトウェアテストのテストケースを作成するための技法です。同値分割法、境界値分析、デシジョンテーブルテストなど、さまざまなテスト技法が存在します。テスト技法を利用することで、テストケースの抜け漏れを防いだり、効率よくテストケースを作成することができます。

■テスト技法の種類一覧

テスト技法は、主にブラックボックステスト技法、ホワイトボックステスト技法、経験ベースのテスト技法にカテゴライズされ、その中に個々のテスト技法が分類されています。 カテゴライズの方法や、その中に分類される各テスト技法は、他にもさまざまなものがありますが、ここでは一例としてご紹介します。

テスト技法カテゴリー
主なテスト技法名
ブラックボックステスト技法 同値分割法
境界値分析 →もっと詳しく
デシジョンテーブルテスト →もっと詳しく
状態遷移テスト
ペアワイズ法 →もっと詳しく
クラシフィケーションツリー法
ホワイトボックステスト技法 ステートメントテスト
デシジョンテスト
経験ベースのテスト技法 探索的テスト
エラー推測

1.ブラックボックステスト技法

テスト対象の入力と出力に着目してテストケースを作成する技法です。テスト対象の内部構造は参照せずブラックボックスとして扱うため、ブラックボックステスト技法と呼ばれます。

同値分割法

出力が同等になると想定される入力値などのグループ(同値クラスや同値パーティションと呼びます)を識別し、各グループに対するテストケースを作成する技法です。同値クラスを網羅するようにテストケースを作成することで、テストケースの件数を適切に削減できます。

境界値分析

連続する値の境界を分析し、境界となる値に対するテストケースを作成する技法です。境界値は仕様の解釈に関しての齟齬が生まれやすく、バグが潜んでいる可能性が高いとされます。境界値を狙ってテストすることで、仕様の認識ミスや実装ミスによるバグを検出できます。

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

JISX0125:1986で規定されている決定表(デシジョンテーブル)の表記で、入力条件の組み合わせと対応する出力結果を整理してテストケースを作成する技法です。入力条件の組み合わせを網羅したり、重要な組み合わせを識別してテストケースを作成できます。

状態遷移テスト

テスト対象の状態の遷移を、状態遷移図や状態遷移表の形式で整理し、そこから状態遷移を網羅するテストケースを作成する技法です。テスト対象の状態と、状態の変化を起こすイベントを識別してテストケースを作成します。

ペアワイズ法

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

クラシフィケーションツリー法

クラシフィケーションツリー法は、テストの入力条件をツリー形式の図でグラフィカルに整理して、テストケースを作成する技法です。入力条件を漏れなく整理しテストカバレッジを高めたい場合に有効です。 入力条件の組み合わせを作成する際は、ペアワイズ法などの組み合わせテスト技法を活用することができます。

2.ホワイトボックステスト技法

ホワイトボックステストとは、システム内部の構造を理解した上でそれら一つ一つが意図した通りに動作しているかを確認するテスト技法です。

ステートメントテスト

ステートメントテストは、コード内の命令文を網羅するようにテストする方法です。実行可能な命令文をすべてテストした場合に、100%の網羅率となります。 他のテストでは実行されないコードの中にあるバグを見つけるのに役立ちます。

デシジョンテスト

デシジョンテストはコード内の条件分岐に着目し、分岐を網羅するようにテストする方法です。条件分岐のすべての取りうる判定結果に対してテストした場合に、100%の網羅率となります。 他のテストでは実行されない条件分岐のコードにあるバグを見つけるのに役立ちます。

3.経験ベースのテスト技法

経験ベースのテスト技法とは、その名の通りテスト担当者や開発担当者の知識・スキル・経験・直感をベースに行うテスト技法です。

探索的テスト

テストを実施しながら、テスト対象に対する理解を深めて、さらにテストが必要な部分に対するテストの作成と実施を同時に進める方法です。探索的テストは他のテスト技法と併用でき、探索的テストを実施しながら、他のテスト技法でテストケースを作成することが可能です。

エラー推測

テスト担当者の経験や知識に基づき、テスト対象に発生しうるエラーを推測し、そのエラーを引き起こす欠陥を検出するテストケースを作成し、テストする方法です。テスト対象の過去バージョンの動作状況、起きやすいエラーの種類、他のテスト対象で経験したエラーなどの知識から、どのようなエラーが発生しうるか推測します。

■テスト技法の選択

適切なテスト技法を選ぶ必要性

テスト技法はやみくもに使うのではなく、テスト対象の特性や仕様、テストの目的やスケジュール、利用可能なツールなどを考慮し、適切なテスト技法を選択する必要があります。

テスト技法の利用における課題

テスト技法を利用する際によくある課題として、どのテスト技法を利用するのが適切か分からないという声があります。

テスト技法を選ぶ際のポイント

状態遷移をテストするのか、入力条件の組み合わせをテストするのか、組み合わせる場合はどこまでパターンを網羅するか、など、どのようなテストを実施するかに応じて、テスト技法を選択します。

■テスト技法ツールの活用

テスト技法ツールとは

いざテスト技法を使うとなると、テスト技法ごとに決まった記法やテストケースの作成ルールを理解し、表計算ソフトなどでテストケースを作成していく必要があります。この作業を直感的かつ効率的にできるように、テスト技法ごとにさまざまなツールが存在します。

テスト技法ツールでできること

ペアワイズ法のツールでは、組み合わせ生成のアルゴリズムに基づいて、2パラメータ間の値の組み合わせを網羅するようなテストケースを自動生成できます。 状態遷移テストのツールでは、状態遷移図や状態遷移表から、状態の遷移を網羅するテストケースを自動生成できます。

このようなツールを活用することで、テスト技法を正しく利用することができ、効率的にテストケースを作成できます。

当社が提供するテスト技法ツール「GIHOZ(ギホーズ)」では、機能テストを作成する際によく活用される「デシジョンテーブル」 、「ペアワイズ法」、「境界値分析」といったテスト技法を一つのプラットフォームでサポートしています。それぞれの技法に適したインターフェースから、簡単な操作で高度なテスト技法を直感的に利用し、網羅性の高いテストケースを効率よく作成できます。無償でご利用いただけますので、是非ともご活用ください。

テスト技法ツール
「GIHOZ」を今すぐ使ってみませんか?
無料でアカウントを作成できます。

QUESTION

テスト技法に関するよくある質問

テスト技法を使用するメリットを教えてください。

テスト技法を正しく使用することで、テストケースの漏れを防いだり、効率よくテストケースを作成することができます。