pulpul 日本の試験

システムアーキテクト 概念書 · システム開発・アーキテクチャ

探索的テストと新しい検証技法

探索的テストは、テスト担当者が経験や推測をもとにテストを設計しながら実行し、その結果を次のテストに反映していく技法である。あらかじめ全テストケースを固定せず、観察によって得た情報で次に調べる領域を変える点が特徴である。一方で、ソフトウェアの正しさを確かめる手法やテストの充分さを評価する手法には、探索的テストとは性質の異なるものも多い。本節では、探索的テストの仕組みと、テストセットや検証の手法を整理する。

探索的テストの仕組み

探索的テストでは、テスト担当者が対象の振る舞いを観察しながら、重要な領域に焦点を当ててテストを行う。その結果をもとに新たなテストケースを作成し、テストを繰り返していく。事前に設計したテストケースを機械的に実行する方式と異なり、学習しながらテストを深める点に価値がある。

代表的な入力値の組合せを試し、その観察結果から次に試す組合せを決めるような進め方も、探索的テストに当たる。ここでは、伝票が作成されるかどうかといった実行結果を次の設計に反映させることが判断の基準になる。

探索的テストは、過去の経験から不具合の起きやすい箇所を推測するエラー推測や、同値分割・境界値分析のような設計技法とも区別する必要がある。エラー推測は事前に作るテストケースを指し、同値分割や境界値分析は入力の範囲に基づいてテスト値を決める方法である。

テストセットの有効性を評価する手法

変異テストでは、元のプログラムに条件式の不等号などを変える軽微な変更を加えた変異体を多数作る。そして既存のテストセットを各変異体に適用し、元のプログラムと異なる結果となった変異体の数から、テストセットが不具合を検出する能力を評価する。変異体を見分けられないテストセットは、不具合の検出力が不十分であると判断できる。

この手法は、テストの結果がすべて想定どおりになった後で、そのテストセットが十分であるかを確かめるために使う。テストが通ったことだけで安心せず、テストセットの質そのものを測る点に意義がある。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む