要求逸脱に基づく例外試験項目の作成実験 An Experiment to Design

要求逸脱に基づく例外試験項目の作成実験
山本
修一郎†
森崎 修司†
An Experiment to Design Exceptional Test cases based on
Requirements deviations
Yamamoto Shuichiro, Shuji Morisaki
ねらい 本稿では,要求逸脱に着目して例外試験項目を作成する手法の有効性を明らかにするために実施し
た実験の結果について報告する。
キーワード 要求記述,要求逸脱,試験項目,評価実験,網羅性、生産性
Target: This paper describes the experimental result to clarify the effectiveness of the method to design exceptional test
cases based on requirements deviations.
Keywrds:
requirements description, requirements deviation, test case, experiment, exhaustiveness, productivity
1.想定する読者・聴衆
本稿の読者は、社会的に重要なシステム,人命に影
響を与えるシステムの発注者、設計・試験を担当する
して保証ケースで、関係者が十分であることに合意す
る方法が提案されている。しかし、この手法の適用に
ついて定量的な評価がなされていなかった。
4.提案・実験
技術者ならびに,それぞれの組織の管理者を含む。
4.1 実験課題
2.背景
本稿では、社会的に重要安全なシステム分野で,社
本実験の目的は、要求記述の逸脱に基づく例外試験
項目の作成手法[2]について、作業項目の所要時間と例
会的な影響を与える例外試験項目の作成について取り
外試験項目生産性を定量的に明らかにすることである。
扱う。
4.2 実験概要
例外誤りを削減するために、ディペンダビリティケ
文献[2]の手法により、金融系情報システムである年
ースが有効であることを実験的に明らかにした文献が
金管理パッケージの 17 機能についての結合試験項目を
ある[1]。しかし、例外試験項目を網羅的に作成する手
対象として、例外試験項目を作成した。
法については明確ではなかった。また、文献[1]の対象
実験で作成された試験項目の妥当性については、対
はコードであり要求記述を対象とした手法ではない。
象システム開発者による保証ケースの合意で確認した。
一方、例外試験項目を要求逸脱に基づいて網羅的に作
この実験の工数概要を表 1 に示す。また、17 要求に
成する手法が提案されている[2]。しかし、後者の方法
対する、要求記述、要求逸脱表、例外試験項目、保証
については、定量的な評価が実施されていない。この
ケースの作成工数と、例外試験項目数の内訳を表 2 に
ため、本稿では、後者の方法に基づいて実施した定量
示す。例外試験項目と保証ケースの工数が少ない理由
的な実験結果について明らかにする。
は、①要求逸脱表で例外試験項目を記述していること、
②要求逸脱表の記述項目をあらかじめ保証ケースの木
3.課題
テスト項目の十分性を確認するためには,システム
の発注者,システムを実装する開発者,実装されたシ
ステムが要求を満たすことを確認する検証者らが試験
項目について合意する必要がある。コードレベルでは、
試験項目がコードの実行経路に関する網羅性が定義さ
れている。しかし,要求記述に対する例外試験項目の
十分性の合意方法については研究されていない.この
ため,要求逸脱に基づいて十分な例外試験項目を摘出
構造に対応するように定義していることからである。
表 1 実験工数概要(人時)
Table 1 Overview of Experimental man-hours
項目
準備実験
本実験
要求記述
3.5
64.5
要求逸脱分析
7.0
41.0
例外試験項目
1.0
2.16
保証ケース作成
3.0
16.35
例外試験項目の合意
12.0
27.0
合計
26.5
151.01
†
名古屋大学
Nagoya University, Furo-cho, Chikusa-ku, Nagoya, Aichi, 464-8601
Japan
E-mail: [email protected]
1
性が実質的により高いことを実証している。
4.3 論述の視点
ISO/IEC/IEEE29148[3]に従った要求記述に基づいて、
6.まとめ
要求逸脱を網羅的に列挙することにより、事前に試験
要求逸脱に基づく例外試験項目作成手法を金融系情
すべき重要な例外試験項目を摘出できる。要求記述で
報システムの 17 項目の要求記述に対して適用すること
は、システム,対象,イベント事象,入力,出力,応
により、1K 人時で 11919.74 個の例外試験項目を作成
答事象などを記述する。この記述に対する逸脱を分類
できることを明らかにした。また、この結果をソフト
するガイドワードとして,なし,以外,部分,冗長,
ウェア開発データ白書と比較し、結合試験項目の平均
遅い,早いなどを用いる.ここで,要求逸脱に起因す
生産性に対して、約 36.5 倍であることを実証した。
る影響の重大性を評価することによって,例外試験項
ただし、ソフトウェア開発データ白書では、試験項
目を選択する。このように試験項目の重要性と根拠に
目の内容、試験対象の規模やドメイン、試験に従事す
ついて、関係者が合意することができるので、不適切
る者の経験や知識などが不明であるため、同じ環境下
な試験項目の採用を抑止できる。ここで、試験項目が
で、対象手法を用いる場合とそうでない場合とを比較
システムの信頼性に与える影響度を重要性である。影
する実験が必要である。
響度の理由が根拠である。また、事後に試験項目の重
要性判断の過誤が発生した場合にも、誤りを訂正して
判断知識を継続的に発展させていくことができる。
謝辞
本稿の実験を担当していただいた、株式会社ベリサ
ーブの二井誠氏と斎藤功氏に感謝します。
5.効果
IPA SEC によるソフトウェア開発データ[4]では、1K
人時で作成できる結合試験項目は、平均が 326.7 項目、
文
[1]
献
Maxison, R. and Olszewski, R. (2000): Eliminating Exception
Handling Errors with Dependability Cases: A Comparative,
最大が 11389.3 項目である。
今回の実験では、1800 個の例外試験項目を 151.01 人
時で作成していることから1K 人時で 11919.74 項目を
Empirical Study, IEEE trans. on SE, vol.26, no.9, pp.888-906.
[2]
山本修一郎 (2000): 保証ケース手法に基づくテスト十分性
に関する合意形成手法の提案,第 13 回知識流通ネットワーク
作成したことになる。
研究会, http://www4.atpages.jp/sigksn/conf13/index.html
したがって、試験項目生産性が平均に対して約 36.5
倍、最大に対しても、約 1.05 倍の結果となった。また、
本手法が扱うのは例外試験項目だけであることならび
[3]
ISO/IEC/IEEE 29148:2011 Systems and software engineering
—Life cycle processes — Requirements engineering
[4] IPA (2012):ソフトウェア開発データ白書 2010-2011
IPA: Information-technology Promotion Agency
に、正常系試験項目の生産性が例外試験項目の生産性
よりも一般的に高いことから、本手法の試験項目生産
表 2 実験結果
要求
RQ1
RQ2
RQ3
RQ4
RQ5
RQ6
RQ7
RQ8
RQ9
RQ10
RQ11
RQ12
RQ13
RQ14
RQ15
RQ16
RQ17
合計
要求記述
7.50MH
8.00MH
4.50MH
2.00MH
2.00MH
2.50MH
2.00MH
3.50MH
3.00MH
7.00MH
2.50MH
2.50MH
8.00MH
3.00MH
2.00MH
3.50MH
1.00MH
64.50MH
要求逸脱表
1.00MH
2.50MH
5.00MH
2.00MH
2.50MH
2.00MH
1.00MH
2.00MH
3.00MH
2.50MH
2.00MH
1.50MH
7.50MH
2.50MH
1.50MH
2.00MH
0.50MH
41.00MH
Table2 Result of Experiment
例外試験項目
保証ケース
0.01MH
4.00MH
0.01MH
2.00MH
0.01MH
0.75MH
2.00MH
0.75MH
0.01MH
0.90MH
0.01MH
0.75MH
0.01MH
0.75MH
0.01MH
0.75MH
0.01MH
0.75MH
0.01MH
0.70MH
0.01MH
0.75MH
0.01MH
0.50MH
0.01MH
0.50MH
0.01MH
0.75MH
0.01MH
0.50MH
0.01MH
0.50MH
0.01MH
0.75MH
2.16MH
16.35MH
合計工数
13.51MH
14.51MH
13.26MH
10.75MH
7.41MH
7.26MH
4.76MH
7.26MH
7.76MH
11.21MH
7.26MH
6.01MH
17.01MH
8.26MH
5.01MH
7.01MH
2.76MH
151.01MH
例外試験項目数
99
93
115
108
100
97
87
98
102
141
140
95
96
101
94
137
97
1,800
2