• 検索結果がありません。

第 9 章 適用例 34

10.4 謝辞

本研究を進めるにあたり,遠隔地にも関わらず,いつも熱心にご指導してくださった岸 知二客員教授に深く御礼を申し上げます.そして,合同ゼミや合同合宿にて貴重なコメン トをくださった

Defago Xavier

准教授に感謝いたします.また,身近な存在でもあり,忙 しい時でも,いつも親身になって相談に乗ってくださった岸研究室,Defago研究室の先 輩方ありがとうございました.最後に研究活動を共に励んできた同期の方々に感謝をし,

謝辞といたします.

参考文献

[1]

日経

BP

社, 組み込みソフトウェア開発のための最新技法と基礎知識 設計からトラ ブルシューティングまで, 2007.

[2]

郷祐一, 水野修, 白神彰則, 安部剛, 田中良明, テスト駆動開発の通信ソフトウェアへ の適用モデルと評価, 2005.

[3]

ケント・ベック, 長瀬嘉秀(監訳), テスト駆動開発入門, (株)ピアソン・エデュ ケーション, 2003.

[4]

西康晴, テスト観点に着目したソフトウェアテスト設計プロセス, SEA 関西プロセ ス分科会&てふかん共同開催,2006.

[5] Cem Kaner,Hung Quoc Nguyen,Jack Falk,

テスト技術者交流会

(訳),

基本から学ぶ ソフトウェアテスト―テストの「プロ」を目指す人のために, 2001.

[6]

河野哲也,西康晴, バグのパターンを用いたテストの提案−バグのナレッジマネジメ ント−, 2006.

[7] OMG, OMG Systems Modeling Language(OMG SysML), V1.0, OMG, 2007.

[8] OMG, UML 2.0 Testing Profile Specification # :ptc, 03-07-01.

[9]

我妻智之, 神谷慎吾, 大平直宏, 松下誠,楠本真二,井上克郎, メタモデルに基づくト レーサビリティ技術の提案, 2005.

[10]

潘沂冰,林晋, UMLモデリングのためのテスト駆動開発, 2003.

[11] Sanford Friedenthal, Alan Moore,Rick Steiner,Morgan Kaufmann, A Practical Guide to SysML -The Systems Modeling Language, Revised

版,2009.

[12] Paul Baker, Zhen Ru Dai, Jens Grabowski, Oystein Haugen, Ina Schieferdecker, Clay Williams, Model-driven Testing -Using the UML Testing Profile, Springer, 2007.

[13]

小谷正行,落水浩一郎, UML記述の変更波及解析に利用可能な依存関係の自動生成,

2008.

[14]

スコット・W・アンブラー, 株式会社オージス総研 訳, アジャイルモデリング―XP と統一プロセスを補完するプラクティス, 2003.

[15]

和田卓人, デベロッパーテスティング〜ソフトウェア開発者の基礎体力, オブジェク ト倶楽部

2006

夏イベント, 2006.

49

付録A テスト観点テンプレートの全体像(表形式)

ViewAbsReqTestKeyぜ起こっ備考 正確計算自体が間違っ計算がでるかのチック、通常の計 誤っ評価基準式の表記法を考慮かっ式の表現ック例:階乗かけ算の表記 切り捨て切り捨ての場合がること考慮かっ 四捨五入四捨五入の場合があ考慮しかっ 他の表現への変換表現の変換が正し行われてこと考慮かっchar型か数字の変換(-48ック 近似式近似処理行う関数の特性を考慮かっ 無効計算数学的に無効計算考慮かっ負数対し平方根を求めよう、0除算 公式公式自体バグがあること考慮かっ公式が正用いるかどかのック 誤っ基本関数利用る基本関数自体にバグがあるとこと考慮かっサイン、コサイン、双曲関数の近似考慮ック ViewAbsReqTestKeyぜ起こっ備考 数に対する境界値に対し境界値のかっ 古い仮定よる定数昔に決め定数コンピ接続る端末の台数の最大値更新かっ オーバーローオーバーローる場合を考えかっ ンダローンダローる場合を考えかっ 大文字小文字の区別大文字と小文字の入力よっ 処理が変わる可能性を考えかっ 空文字の入力空文字の入力考えかっ NULL終了文字列の入力NULL終了文字列が入力れること考えかっ 拡張ル名の認ル名の長よっ認識があること考えかっ 昔のはスックの都合上ル名や変数の名称の長は6~8文字か認識で 空の空のルが入力れる場合考えかっ 別形式の保存種類のフルを出力ること考慮かっ 構造構造の境構造の境界を考えかっ ViewAbsReqTestKeyぜ起こっ備考 初期状態が正領域が0から始ま場合考慮かっ 初期化処理のック行っかっ

領域の値が0開始ると、プログは必が設 済み思うのではな の他のデが設定されてる可能性考えること 異常終了時の処理異常終了時の処理を考慮しかっ異常終了時に原因記録かどか、ユザがログ れるか、 ログ自身が自動で処理止めれるか 発生はずの値得な値を与えれた時の対処考慮かっば、2月3日のよう日付の受付な 状態の通状態ると通知る機能を実装かっ状態ると、ユザー知らせるかどかのック

回復回復 検出

計算機能 データ

文字

50

Viewabs reqabs reqTestKeyぜ起こっ備考 HWの入れ替追加以前定めの制約が 新しハー制御購入当初は別のHWが使るかどかのック バイの使用終了の連絡バイが使用状態か解放れたのメッセのシルがるかどかのック バイの欠 OSOSのバOSのバは把握しるか SWのバ不適当なバーン管理の対処新しバーンのフルで構成れてかっ新しバーンのフルで構成れてるかどかの機能があるかチック ネット 開発言語コーングルによるバグ自動変数の自動的な初期化を文字の大文字・小文字が区別される コンパイコンパイの特自動的に初期値がコンパイのチックP Viewabs reqabs reqTestKeyぜ起こっ備考 大容量、メバイ対象扱える限界値 、メバイ対象限界状態のテ ViewabsReqabs reqTestKeyぜ起こっ備考 時間時間がう設定れてかっ 時の処理時にコマンド入力れて 状況があること考えかっ 処理通知機能ック漏れ 処理ンセル機ック漏れ 処理経過表示ック漏れ

性能ログのスピー

時間 長い処理

環境動作環境

バイ 開発環境 負荷

付 録 B 変更波及解析

要求の削除パターンに対する変更波及解析結果

解析結果

B.1:

要求

Add

が削除された場合

1 f i x O b j e c t L i s t

2 <<Requirement>>

3 Requirement ( i d = 1 1 1 , name = Add )

4 ModifyNumber : change Requirement

5 L o c a t i o n : RTMDiagram 6 warning a t t r i b u t e :

7 ” Element : Requirement ( name = Add , L o c a t i o n = RTMDiagram ) ” and 8 ” Element : TestCase ( name = AddNormalTestCase ,

9 L o c a t i o n = TestContextDiagram ) ” 10 a r e d e r i v e d i d a t t r i b u t e .

11

12 Requirement ( i d = 2 1 1 , name = 16 b i t C a l c u l a t i o n )

13 ModifyNumber : 5

14 L o c a t i o n : RTMDiagram 15 warning a t t r i b u t e :

16 ” Element : Requirement ( name = 16 b i t C a l c u l a t i o n , L o c a t i o n = RTMDiagram ) ” 17 and

18 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 19 L o c a t i o n = TestContextDiagram ) ”

20 a r e d e r i v e d i d a t t r i b u t e . 21

22 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

23 <<A b s t r a c t R e q u i r e m e n t>>

24 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

25 <<TestKey>>

26 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

27 <<TestContext>>

28 T e s t C o n t e x t ( name = AddTestContext )

29 ModifyNumber : 1

30 L o c a t i o n : RTMDiagram 31 warning a t t r i b u t e :

32 ” Element : T e s t C o n t e x t ( name = AddTestContext , L o c a t i o n = RTMDiagram ) ” 33 and

34 ” Element : TestContextDiagram ( name = AddTestContextDiagram , 35 L o c a t i o n = TestContextDiagram ) ”

36 a r e d e r i v e d name a t t r i b u t e . 37

38 T e s t C o n t e x t ( name = AddTestContext )

39 ModifyNumber : 3

40 L o c a t i o n : TestContextDiagram 41 warning a t t r i b u t e :

42 ” Element : T e s t C o n t e x t ( name = AddTestContext , 43 L o c a t i o n = RTMDiagram ) ” and

44 ” Element : T e s t C o n t e x t ( name = AddTestContext , 45 L o c a t i o n = TestContextDiagram ) ”

46 a r e same a l l a t t r i b u t e . 47

48 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

49 <<TestCase>>

50 TestCase ( name = AddNormalTestCase )

51 ModifyNumber : 4

52 L o c a t i o n : TestContextDiagram 53 warning a t t r i b u t e :

54 ” Element : TestCase ( name = AddNormalTestCase , 55 L o c a t i o n = TestContextDiagram ) ” and

56 ” Element : U n i t T e s t T a b l e ( name = AddNormalTestCase , 57 L o c a t i o n = U n i t T e s t T a b l e ) ”

58 a r e d e r i v e d name a t t r i b u t e . 59

60 TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e )

61 ModifyNumber : 4

62 L o c a t i o n : TestContextDiagram 63 warning a t t r i b u t e :

64 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 65 L o c a t i o n = TestContextDiagram ) ” and

66 ” Element : U n i t T e s t T a b l e ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 67 L o c a t i o n = U n i t T e s t T a b l e ) ”

68 a r e d e r i v e d name a t t r i b u t e . 69

70 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

71 <<UnitTestCase>>

72 UnitTestCaseColumn ( name = t e s t C h e c k A n a l y s i s ) 73 T a r g e t C l a s s : A n a l y s i s

74 TargetMethod : a n a l y s i s

75 ModifyNumber : 6

76 L o c a t i o n : U n i t T e s t T a b l e 77 warning a t t r i b u t e :

78 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 79 L o c a t i o n = TestContextDiagram ) ” and

80 ” Element : UnitTestCaseColumn ( name = t e s t C h e c k A n a l y s i s , 81 L o c a t i o n = U n i t T e s t T a b l e ) ”

82 a r e d e r i v e d i d a t t r i b u t e . 83

84 UnitTestCaseColumn ( name = t e s t C h e c k C a l c u l a t e ) 85 T a r g e t C l a s s : C a l c u l a t e

86 TargetMethod : c a l c u l a t e

87 ModifyNumber : 6

88 L o c a t i o n : U n i t T e s t T a b l e 89 warning a t t r i b u t e :

90 ” Element : TestCase ( name = AddNormalTestCase , 91 L o c a t i o n = TestContextDiagram ) ” and

92 ” Element : UnitTestCaseColumn ( name = t e s t C h e c k C a l c u l a t e ,

93 L o c a t i o n = U n i t T e s t T a b l e ) ” 94 a r e d e r i v e d i d a t t r i b u t e . 95

96 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

97 <<Other Model Element>>

98 TestContextDiagram ( name = AddTestContextDiagram )

99 ModifyNumber : 2

100 L o c a t i o n : TestContextDiagram 101 warning a t t r i b u t e :

102 ” Element : T e s t C o n t e x t ( name = AddTestContext , 103 L o c a t i o n = RTMDiagram ) ” and

104 ” Element : TestContextDiagram ( name = AddTestContextDiagram , 105 L o c a t i o n = TestContextDiagram ) ”

106 a r e d e r i v e d name a t t r i b u t e . 107

108 T e s t B e ha v i o r D i a g ra m ( name = AddNormalTestCase )

109 ModifyNumber : 5

110 L o c a t i o n : T e s tB e h a v i o r Di a g r a m 111 warning a t t r i b u t e :

112 ” Element : TestCase ( name = AddNormalTestCase , 113 L o c a t i o n = TestContextDiagram ) ” and

114 ” Element : Te s t B e h a v io r D i a g r a m ( name = AddNormalTestCase , 115 L o c a t i o n = T e s tB e h a v i o r Di a g r a m ) ”

116 a r e d e r i v e d name a t t r i b u t e . 117

118 T e s t C o n f i g u r a t i o n D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e )

119 ModifyNumber : 5

120 L o c a t i o n : T e s t C o n f i g u r a t i o n D i a g r a m 121 warning a t t r i b u t e :

122 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 123 L o c a t i o n = TestContextDiagram ) ” and

124 ” Element : T e s t C o n f i g u r a t i o n D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 125 L o c a t i o n = T e s t C o n f i g u r a t i o n D i a g r a m ) ”

126 a r e d e r i v e d name a t t r i b u t e . 127

128 T e s t B e ha v i o r D i a g ra m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e )

129 ModifyNumber : 5

130 L o c a t i o n : T e s tB e h a v i o r Di a g r a m 131 warning a t t r i b u t e :

132 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 133 L o c a t i o n = TestContextDiagram ) ” and

134 ” Element : Te s t B e h a v io r D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 135 L o c a t i o n = T e s tB e h a v i o r Di a g r a m ) ”

136 a r e d e r i v e d name a t t r i b u t e . 137

138 U n i t T e s t C a s e T a b l e ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e )

139 ModifyNumber : 5

140 L o c a t i o n : U n i t T e s t T a b l e 141 warning a t t r i b u t e :

142 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 143 L o c a t i o n = TestContextDiagram ) ” and

144 ” Element : U n i t T e s t T a b l e ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 145 L o c a t i o n = U n i t T e s t T a b l e ) ”

146 a r e d e r i v e d name a t t r i b u t e . 147

148 T e s t C o n f i g u r a t i o n D i a g r a m ( name = AddNormalTestCase )

149 ModifyNumber : 5

150 L o c a t i o n : T e s t C o n f i g u r a t i o n D i a g r a m 151 warning a t t r i b u t e :

152 ” Element : TestCase ( name = AddNormalTestCase , 153 L o c a t i o n = TestContextDiagram ) ” and

154 ” Element : T e s t C o n f i g u r a t i o n D i a g r a m ( name = AddNormalTestCase , 155 L o c a t i o n = T e s t C o n f i g u r a t i o n D i a g r a m ) ”

156 a r e d e r i v e d name a t t r i b u t e . 157

158 U n i t T e s t C a s e T a b l e ( name = AddNormalTestCase )

159 ModifyNumber : 5

160 L o c a t i o n : U n i t T e s t T a b l e 161 warning a t t r i b u t e :

162 ” Element : TestCase ( name = AddNormalTestCase , 163 L o c a t i o n = TestContextDiagram ) ” and

164 ” Element : U n i t T e s t T a b l e ( name = AddNormalTestCase , 165 L o c a t i o n = U n i t T e s t T a b l e ) ”

166 a r e d e r i v e d name a t t r i b u t e . 167

168 t o t a l Element = 15

解析結果

B.2:

要求

16bitCalculation

が削除された場合

1 f i x O b j e c t L i s t

2 <<Requirement>>

3 Requirement ( i d = 2 1 1 , name = 16 b i t C a l c u l a t i o n )

4 ModifyNumber : change Requirement

5 L o c a t i o n : RTMDiagram 6 warning a t t r i b u t e :

7 ” Element : Requirement ( name = 16 b i t C a l c u l a t i o n , 8 L o c a t i o n = RTMDiagram ) ” and

9 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 10 L o c a t i o n = TestContextDiagram ) ”

11 a r e d e r i v e d i d a t t r i b u t e . 12

13 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

14 <<A b s t r a c t R e q u i r e m e n t>>

15 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

16 <<TestKey>>

17 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

18 <<TestContext>>

19 T e s t C o n t e x t ( name = AddTestContext )

20 ModifyNumber : 3

21 L o c a t i o n : TestContextDiagram 22 warning a t t r i b u t e :

23 ” Element : T e s t C o n t e x t ( name = AddTestContext , 24 L o c a t i o n = RTMDiagram ) ” and

25 ” Element : T e s t C o n t e x t ( name = AddTestContext , 26 L o c a t i o n = TestContextDiagram ) ”

27 a r e same a l l a t t r i b u t e . 28

29 T e s t C o n t e x t ( name = AddTestContext )

30 ModifyNumber : 1

31 L o c a t i o n : RTMDiagram 32 warning a t t r i b u t e :

33 ” Element : T e s t C o n t e x t ( name = AddTestContext , 34 L o c a t i o n = RTMDiagram ) ” and

35 ” Element : TestContextDiagram ( name = AddTestContextDiagram , 36 L o c a t i o n = TestContextDiagram ) ”

37 a r e d e r i v e d name a t t r i b u t e . 38

39 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

40 <<TestCase>>

41 TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e )

42 ModifyNumber : 4

43 L o c a t i o n : TestContextDiagram 44 warning a t t r i b u t e :

45 ” Element : Requirement ( name = 16 b i t C a l c u l a t i o n , 46 L o c a t i o n = RTMDiagram ) ” and

47 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 48 L o c a t i o n = TestContextDiagram ) ”

49 a r e d e r i v e d i d a t t r i b u t e . 50

51 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

52 <<UnitTestCase>>

53 UnitTestCaseColumn ( name = t e s t C h e c k A n a l y s i s ) 54 T a r g e t C l a s s : A n a l y s i s

55 TargetMethod : a n a l y s i s

56 ModifyNumber : 6

57 L o c a t i o n : U n i t T e s t T a b l e 58 warning a t t r i b u t e :

59 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 60 L o c a t i o n = TestContextDiagram ) ” and

61 ” Element : UnitTestCaseColumn ( name = t e s t C h e c k A n a l y s i s , 62 L o c a t i o n = U n i t T e s t T a b l e ) ”

63 a r e d e r i v e d i d a t t r i b u t e . 64

65 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

66 <<Other Model Element>>

67 TestContextDiagram ( name = AddTestContextDiagram )

68 ModifyNumber : 2

69 L o c a t i o n : TestContextDiagram 70 warning a t t r i b u t e :

71 ” Element : T e s t C o n t e x t ( name = AddTestContext , 72 L o c a t i o n = RTMDiagram ) ” and

73 ” Element : TestContextDiagram ( name = AddTestContextDiagram , 74 L o c a t i o n = TestContextDiagram ) ”

75 a r e d e r i v e d name a t t r i b u t e . 76

77 T e s t C o n f i g u r a t i o n D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e )

78 ModifyNumber : 5

79 L o c a t i o n : T e s t C o n f i g u r a t i o n D i a g r a m

80 warning a t t r i b u t e :

81 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 82 L o c a t i o n = TestContextDiagram ) ” and

83 ” Element : T e s t C o n f i g u r a t i o n D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 84 L o c a t i o n = T e s t C o n f i g u r a t i o n D i a g r a m ) ”

85 a r e d e r i v e d name a t t r i b u t e . 86

87 U n i t T e s t C a s e T a b l e ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e )

88 ModifyNumber : 5

89 L o c a t i o n : U n i t T e s t T a b l e 90 warning a t t r i b u t e :

91 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 92 L o c a t i o n = TestContextDiagram ) ” and

93 ” Element : U n i t T e s t T a b l e ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 94 L o c a t i o n = U n i t T e s t T a b l e ) ”

95 a r e d e r i v e d name a t t r i b u t e . 96

97 T e s t B e h a vi o r D i a g r am ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e )

98 ModifyNumber : 5

99 L o c a t i o n : T e s t Be h a v i o r D i ag r a m 100 warning a t t r i b u t e :

101 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 102 L o c a t i o n = TestContextDiagram ) ” and

103 ” Element : Te s t B e h a v io r D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 104 L o c a t i o n = T e s tB e h a v i o r Di a g r a m ) ”

105 a r e d e r i v e d name a t t r i b u t e . 106

107 t o t a l Element = 9

要求の追加パターンに対する変更波及解析結果

解析結果

B.3: AbstractRequirement

Calculate

に要求

Sub

を追加した場合

1 no impact e l e m e n t .

解析結果

B.4: AbstractRequirement

Number

に要求

Minus

を追加した場合

1 f i x O b j e c t L i s t

2 <<Requirement>>

3 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

4 <<A b s t r a c t R e q u i r e m e n t>>

5 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

6 <<TestKey>>

7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

8 <<TestContext>>

9 T e s t C o n t e x t ( name = AddTestContext )

10 ModifyNumber : 1

11 L o c a t i o n : RTMDiagram 12 warning a t t r i b u t e :

13 ” Element : T e s t C o n t e x t ( name = AddTestContext , L o c a t i o n = RTMDiagram ) ” 14 and

15 ” Element : TestContextDiagram ( name = AddTestContextDiagram ,

16 L o c a t i o n = TestContextDiagram ) ” 17 a r e d e r i v e d name a t t r i b u t e . 18

19 T e s t C o n t e x t ( name = AddTestContext )

20 ModifyNumber : 3

21 L o c a t i o n : TestContextDiagram 22 warning a t t r i b u t e :

23 ” Element : T e s t C o n t e x t ( name = AddTestContext , 24 L o c a t i o n = RTMDiagram ) ” and

25 ” Element : T e s t C o n t e x t ( name = AddTestContext , 26 L o c a t i o n = TestContextDiagram ) ”

27 a r e same a l l a t t r i b u t e . 28

29 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

30 <<TestCase>>

31 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

32 <<UnitTestCase>>

33 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

34 <<Other Model Element>>

35 TestContextDiagram ( name = AddTestContextDiagram )

36 ModifyNumber : 2

37 L o c a t i o n : TestContextDiagram 38 warning a t t r i b u t e :

39 ” Element : T e s t C o n t e x t ( name = AddTestContext , 40 L o c a t i o n = RTMDiagram ) ” and

41 ” Element : TestContextDiagram ( name = AddTestContextDiagram , 42 L o c a t i o n = TestContextDiagram ) ”

43 a r e d e r i v e d name a t t r i b u t e . 44

45 t o t a l Element = 3

要求の内容変更パターンに対する変更波及解析結果

解析結果

B.5:

要求

Add

RepeatAdd

に変更した場合

1 f i x O b j e c t L i s t

2 <<Requirement>>

3 Requirement ( i d = 1 1 1 , name = Add )

4 ModifyNumber : change Requirement

5 L o c a t i o n : RTMDiagram 6 warning a t t r i b u t e :

7 ” Element : Requirement ( name = Add , L o c a t i o n = RTMDiagram ) ” and 8 ” Element : TestCase ( name = AddNormalTestCase ,

9 L o c a t i o n = TestContextDiagram ) ” 10 a r e d e r i v e d i d a t t r i b u t e .

11

12 Requirement ( i d = 2 1 1 , name = 16 b i t C a l c u l a t i o n )

13 ModifyNumber : 5

14 L o c a t i o n : RTMDiagram 15 warning a t t r i b u t e :

16 ” Element : Requirement ( name = 16 b i t C a l c u l a t i o n , 17 L o c a t i o n = RTMDiagram ) ” and

18 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 19 L o c a t i o n = TestContextDiagram ) ”

20 a r e d e r i v e d i d a t t r i b u t e . 21

22 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

23 <<A b s t r a c t R e q u i r e m e n t>>

24 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

25 <<TestKey>>

26 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

27 <<TestContext>>

28 T e s t C o n t e x t ( name = AddTestContext )

29 ModifyNumber : 1

30 L o c a t i o n : RTMDiagram 31 warning a t t r i b u t e :

32 ” Element : T e s t C o n t e x t ( name = AddTestContext , 33 L o c a t i o n = RTMDiagram ) ” and

34 ” Element : TestContextDiagram ( name = AddTestContextDiagram , 35 L o c a t i o n = TestContextDiagram ) ”

36 a r e d e r i v e d name a t t r i b u t e . 37

38 T e s t C o n t e x t ( name = AddTestContext )

39 ModifyNumber : 3

40 L o c a t i o n : TestContextDiagram 41 warning a t t r i b u t e :

42 ” Element : T e s t C o n t e x t ( name = AddTestContext , 43 L o c a t i o n = RTMDiagram ) ” and

44 ” Element : T e s t C o n t e x t ( name = AddTestContext , 45 L o c a t i o n = TestContextDiagram ) ”

46 a r e same a l l a t t r i b u t e . 47

48 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

49 <<TestCase>>

50 TestCase ( name = AddNormalTestCase )

51 ModifyNumber : 4

52 L o c a t i o n : TestContextDiagram 53 warning a t t r i b u t e :

54 ” Element : TestCase ( name = AddNormalTestCase , 55 L o c a t i o n = TestContextDiagram ) ” and

56 ” Element : U n i t T e s t T a b l e ( name = AddNormalTestCase , 57 L o c a t i o n = U n i t T e s t T a b l e ) ”

58 a r e d e r i v e d name a t t r i b u t e . 59

60 TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e )

61 ModifyNumber : 4

62 L o c a t i o n : TestContextDiagram 63 warning a t t r i b u t e :

64 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 65 L o c a t i o n = TestContextDiagram ) ” and

66 ” Element : T e s t C o n f i g u r a t i o n D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 67 L o c a t i o n = T e s t C o n f i g u r a t i o n D i a g r a m ) ”

68 a r e d e r i v e d name a t t r i b u t e . 69

70 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

71 <<UnitTestCase>>

72 UnitTestCaseColumn ( name = t e s t C h e c k A n a l y s i s ) 73 T a r g e t C l a s s : A n a l y s i s

74 TargetMethod : a n a l y s i s

75 ModifyNumber : 6

76 L o c a t i o n : U n i t T e s t T a b l e 77 warning a t t r i b u t e :

78 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 79 L o c a t i o n = TestContextDiagram ) ” and

80 ” Element : UnitTestCaseColumn ( name = t e s t C h e c k A n a l y s i s , 81 L o c a t i o n = U n i t T e s t T a b l e ) ”

82 a r e d e r i v e d i d a t t r i b u t e . 83

84 UnitTestCaseColumn ( name = t e s t C h e c k C a l c u l a t e ) 85 T a r g e t C l a s s : C a l c u l a t e

86 TargetMethod : c a l c u l a t e

87 ModifyNumber : 6

88 L o c a t i o n : U n i t T e s t T a b l e 89 warning a t t r i b u t e :

90 ” Element : TestCase ( name = AddNormalTestCase , 91 L o c a t i o n = TestContextDiagram ) ” and

92 ” Element : UnitTestCaseColumn ( name = t e s t C h e c k C a l c u l a t e , 93 L o c a t i o n = U n i t T e s t T a b l e ) ”

94 a r e d e r i v e d i d a t t r i b u t e . 95

96 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

97 <<Other Model Element>>

98 TestContextDiagram ( name = AddTestContextDiagram )

99 ModifyNumber : 2

100 L o c a t i o n : TestContextDiagram 101 warning a t t r i b u t e :

102 ” Element : T e s t C o n t e x t ( name = AddTestContext , 103 L o c a t i o n = RTMDiagram ) ” and

104 ” Element : TestContextDiagram ( name = AddTestContextDiagram , 105 L o c a t i o n = TestContextDiagram ) ”

106 a r e d e r i v e d name a t t r i b u t e . 107

108 T e s t B e ha v i o r D i a g ra m ( name = AddNormalTestCase )

109 ModifyNumber : 5

110 L o c a t i o n : T e s tB e h a v i o r Di a g r a m 111 warning a t t r i b u t e :

112 ” Element : TestCase ( name = AddNormalTestCase , 113 L o c a t i o n = TestContextDiagram ) ” and

114 ” Element : Te s t B e h a v io r D i a g r a m ( name = AddNormalTestCase , 115 L o c a t i o n = T e s tB e h a v i o r Di a g r a m ) ”

116 a r e d e r i v e d name a t t r i b u t e . 117

118 T e s t B e ha v i o r D i a g ra m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e )

119 ModifyNumber : 5

120 L o c a t i o n : T e s tB e h a v i o r Di a g r a m 121 warning a t t r i b u t e :

122 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 123 L o c a t i o n = TestContextDiagram ) ” and

124 ” Element : Te s t B e h a v io r D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 125 L o c a t i o n = T e s tB e h a v i o r Di a g r a m ) ”

126 a r e d e r i v e d name a t t r i b u t e . 127

128 U n i t T e s t C a s e T a b l e ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e )

129 ModifyNumber : 5

130 L o c a t i o n : U n i t T e s t T a b l e 131 warning a t t r i b u t e :

132 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 133 L o c a t i o n = TestContextDiagram ) ” and

134 ” Element : U n i t T e s t T a b l e ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 135 L o c a t i o n = U n i t T e s t T a b l e ) ”

136 a r e d e r i v e d name a t t r i b u t e . 137

138 T e s t C o n f i g u r a t i o n D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e )

139 ModifyNumber : 5

140 L o c a t i o n : T e s t C o n f i g u r a t i o n D i a g r a m 141 warning a t t r i b u t e :

142 ” Element : TestCase ( name = A d d 1 6 b i t O v e r f l o w T e s t C a s e , 143 L o c a t i o n = TestContextDiagram ) ” and

144 ” Element : T e s t C o n f i g u r a t i o n D i a g r a m ( name = A d d 1 6 b i t C a l c u l a t o n T e s t C a s e , 145 L o c a t i o n = T e s t C o n f i g u r a t i o n D i a g r a m ) ”

146 a r e d e r i v e d name a t t r i b u t e . 147

148 T e s t C o n f i g u r a t i o n D i a g r a m ( name = AddNormalTestCase )

149 ModifyNumber : 5

150 L o c a t i o n : T e s t C o n f i g u r a t i o n D i a g r a m 151 warning a t t r i b u t e :

152 ” Element : TestCase ( name = AddNormalTestCase , 153 L o c a t i o n = TestContextDiagram ) ” and

154 ” Element : T e s t C o n f i g u r a t i o n D i a g r a m ( name = AddNormalTestCase , 155 L o c a t i o n = T e s t C o n f i g u r a t i o n D i a g r a m ) ”

156 a r e d e r i v e d name a t t r i b u t e . 157

158 U n i t T e s t C a s e T a b l e ( name = AddNormalTestCase )

159 ModifyNumber : 5

160 L o c a t i o n : U n i t T e s t T a b l e 161 warning a t t r i b u t e :

162 ” Element : TestCase ( name = AddNormalTestCase , 163 L o c a t i o n = TestContextDiagram ) ” and

164 ” Element : U n i t T e s t T a b l e ( name = AddNormalTestCase , 165 L o c a t i o n = U n i t T e s t T a b l e ) ”

166 a r e d e r i v e d name a t t r i b u t e . 167

168 t o t a l Element = 15

解析結果

B.6:

要求

16bitCalculation

8bitCalculation

に変更した場合

1 f i x O b j e c t L i s t

2 <<Requirement>>

3 Requirement ( i d = 2 1 1 , name = 16 b i t C a l c u l a t i o n )

4 ModifyNumber : change Requirement

ドキュメント内 体系的テスト駆動開発環境の研究 (ページ 53-72)

関連したドキュメント