MasaoApril's Library.

Software Testingなネタを書いてみた。

JaSST'13東海SIG(23) 探索的テストの5要素:第1要素『製品探索』

 今回は、JaSST13'Tokai SIGで(時間不足で)触れなかった「探索的テストの5要素」の第1要素『製品探索』です。 なお、下記に資料を掲載していますので、ご参考下さい。

第1要素:製品探索

潜在的な不安定領域

 開発時のテストでバグを見つけ、インシデントレポートに記述してBTS(Bug Tracing System)に登録しますが、特定の機能でバグが多発します。欠陥の80%がモジュールの20%に存在する経験則が知られていますが、探索的テストもその経験則を利用し、潜在的な不安定領域を特定すると、何の機能をどのように探索するか検討材料になります。

データ処理の型

 組み込み系機器の製品によっては、内部メモリの領域に将来実装される機能が予約領域として確保されます。追加機能開発時に前述の予約領域を有効にしますが、組み込み系機器はメモリ容量が限られているため、追加機能に必要な内部メモリ領域が不足することがあり、内部メモリ領域のオフセット及びパディング処理を実施され、データ処理の型として宣言されます。
 追加機能のテスト実施時に既存機能のテストもスモークテスト程度に確認しますが、開発工数及びテスト工数は新規開発より少ない工数しか確保されないため、既存機能のスクリプトテストを回帰テストとして実施できる余力が無い状況があります。
 そこで、スクリプトテストの1項目を完了後に「データ処理の型」の変更に着目し、探索的テストのテストチャータとして活用します。また、市場クレームの情報を入手可能であれば、既存製品や類似製品の市場クレームから何の追加/変更からどのようなバグが発生したのか把握すると、探索時の一助になります。

製品の目的や機能

 探索的テストを行うときはシナリオを用意すると、無意味な探索を抑制する効果が経験上ありますが、常に「何のために製品を利用しているのか?」「製品が動作することで、何が変化するのか?」を念頭に置くと、製品に内在する問題を発見しやすくなります。

 次回は、「探索的テストの5要素」の第2要素『テスト設計』を書きます。