回答編集履歴
1
微修正
answer
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
そして、経験的には何か1箇所でも変更したら、全て以前行ったのと同じテストを再度するべきと考えています。予想外の部分へ影響することは意外に少なくないですから。
|
7
7
|
しかし、それは現実的ではないとも思います。お客様へ迷惑をかけない範囲で如何に手を抜くかも重要ですね。
|
8
8
|
|
9
|
-
i)あるメソッドA(外部への参照等を一切せず、inputとoutputのみが外界との接触であるとする)をリファクタリング
|
9
|
+
> i)あるメソッドA(外部への参照等を一切せず、inputとoutputのみが外界との接触であるとする)をリファクタリング
|
10
10
|
|
11
11
|
以前、実施したテスト仕様書が残っているはずですから、メソッドAと、メソッドAを用いる部分について同じテストに通れば大丈夫と判断するでょう。(出荷後に見つかった不具合の再発防止テストも入っていれば確実です。)
|
12
12
|
メソッドAを用いる部分のテストは広範囲かもしれないので、悩ましいです。
|
@@ -15,7 +15,7 @@
|
|
15
15
|
しかし、テストを自動化していない場合、リファクタリングのためだけにテスト費用をかけることを納得してくれる人は少ないと思います。
|
16
16
|
リファクタリングは他の網羅的テストが必要になる仕様変更に乗じて行うことが現実的なように感じます。
|
17
17
|
|
18
|
-
ii)上述のメソッドAの機能に変更を加え、outputが変化する場合
|
18
|
+
> ii)上述のメソッドAの機能に変更を加え、outputが変化する場合
|
19
19
|
|
20
20
|
その影響がありうる部分について全てテストするのが理想です。
|
21
21
|
問題は影響がありうる部分の想定にミスがないかです。経験的には結構簡単に発生します。
|
@@ -23,10 +23,10 @@
|
|
23
23
|
|
24
24
|
テストが必要な部分を最低限自分自身の中でレビューする(文書化する等)、もしくは、他のメンバとレビューして、テスト範囲を絞り込むのが落とし所ではないでしょうか。
|
25
25
|
|
26
|
-
iii)あるメソッドB(DBを変更するメソッドを含む。inputとoutputはない)をリファクタリング
|
26
|
+
> iii)あるメソッドB(DBを変更するメソッドを含む。inputとoutputはない)をリファクタリング
|
27
27
|
|
28
28
|
i)と同様です。
|
29
29
|
|
30
|
-
iv)上述のメソッドBの機能に変更を加え、DBへの変更値に変化がある場合
|
30
|
+
> iv)上述のメソッドBの機能に変更を加え、DBへの変更値に変化がある場合
|
31
31
|
|
32
32
|
ii)と同様です。DB変更もoutputの一種です。
|