Statement Deletion Operatorを用いたミューテーション解析ツールの作成と実用のための考察
ダウンロード数: 321回
SQuBOK分類 :
年度 : 2015年
発表場所 : ソフトウェア品質シンポジウム2015
執筆者 :
野中 亮(テクマトリックス㈱)
紹介文 :
ソフトウェアの品質を測定するために,ソフトウェアテストを行うことが一般的だ.また,一般的にテストの品質を測定する方法として,テスト網羅率,つまりカバレッジを使用する.しかし,カバレッジが100%でもバグが検出されない例があるように,テストの品質をカバレッジのみで測定するのでは不十分な面がある.そこで注目されている手法として,「ミューテーション解析」と呼ばれる手法がある.
ミューテーション解析とは,テストのバグ検出能力を評価する手法で,ソフトウェアに意図的に加えた改変をテストが検出できるかどうかを検証する.加えた改変のうち,検出できた割合をミューテーションスコアと呼ぶ.ミューテーション解析を行うことで,これまで数値化できていなかったテストのバグ検出能力を数値化することが可能となる.これをうまく使うことでカバレッジだけでは不十分であったテストの評価能力の向上が見込まれている.
本発表では,ミューテーション解析の説明,実際に作成したミューテーション解析ツールをGitHubのプロジェクトに適用した結果,そして実用に向けての考察を行う.
ソフトウェアの品質を測定するために,ソフトウェアテストを行うことが一般的だ.また,一般的にテストの品質を測定する方法として,テスト網羅率,つまりカバレッジを使用する.しかし,カバレッジが100%でもバグが検出されない例があるように,テストの品質をカバレッジのみで測定するのでは不十分な面がある.そこで注目されている手法として,「ミューテーション解析」と呼ばれる手法がある.
ミューテーション解析とは,テストのバグ検出能力を評価する手法で,ソフトウェアに意図的に加えた改変をテストが検出できるかどうかを検証する.加えた改変のうち,検出できた割合をミューテーションスコアと呼ぶ.ミューテーション解析を行うことで,これまで数値化できていなかったテストのバグ検出能力を数値化することが可能となる.これをうまく使うことでカバレッジだけでは不十分であったテストの評価能力の向上が見込まれている.
本発表では,ミューテーション解析の説明,実際に作成したミューテーション解析ツールをGitHubのプロジェクトに適用した結果,そして実用に向けての考察を行う.