|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ー : [ちょうおん] (n) long vowel mark (usually only used in katakana) ・ 解析 : [かいせき] 1. (n,vs) (1) analysis 2. (2) parsing
ミューテーション解析(ミューテーションテスト〔mutation analysisよりもmutation testingという単語が広く使われているが、ミューテーション解析はソフトウェアが想定通りに実装されていることを直接確かめるテスティングとは異なり、テスティングで利用されるテストケースの品質を評価するための手法である。従って、本稿ではミューテーション解析という用語を主に利用する。〕、ミューテーション法)はソフトウェアテストにおける、テストスイートの十分さを測定するための手法である。この手法では、テスト対象のプログラムの一部を機械的に書き換えることで、''ミュータント''と呼ばれる「人工的な誤りを含むプログラム」を生成する。テストスイートをミュータントに対して実行した結果と、元のプログラムに対して実行した結果が異なれば、テストスイートにはその誤りを発見するだけの鋭敏さが備わっていると考えられるだろう(テストスイートはミュータントを''kill''すると表現する)。機械的に大量にミュータントを生成したとき、そのうちテストスイートがkill出来るミュータントの割合を測定することで、テストスイートの「欠陥発見能力」の十分さを測定することが出来る。また、kill出来なかったミュータントをkillするように追加のテストケースを作成することで、開発者はテストスイートの欠陥発見能力を高めることが出来ると期待される。ミュータントを作成するためのプログラム書き換え方法を''ミューテーション操作''と呼び、典型的なプログラムの誤り(演算子+(プラス)と-(マイナス)を逆にしてしまうなど)を模倣するものや、有意なテストケース生成を促すものなどが研究されている。ミューテーション解析によって既存のテストケース・テスト用入力データの十分さ・不十分さが測定でき、さらなるテストケースの作成・自動生成などに利用することが出来る。 == ミューテーション解析の例 == ミューテーション解析は、プログラムを機械的に書き換えるミューテーション操作により、誤りを含んだプログラム(ミュータント)を作成する。テストスイートがその誤りを検出出来るかどうかが、テストスイートの十分さの指標として用いられる。 以下の様な単純なプログラムと、それに対するテスト用の入出力を例として考える。 スポンサード リンク
|