teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

タイトルと本文の区切りを追加

2015/05/26 02:14

投稿

退会済みユーザー
answer CHANGED
@@ -1,14 +1,17 @@
1
1
  ■メソッド1つに対するユニットテストの作成には、実装の何割程度の工数が必要でしょうか?
2
+ =====
2
3
  メソッド1つの実装時間を算出した経験はなく、また必要性も感じないため、正確な数値ではありませんが、メソッド実装時間の半分ぐらいを見込んでおけば十分ではないでしょうか。
3
4
 
4
5
  個人的には、メソッド1つではなく、クラス1個を最小単位とすべきかと思います。
5
6
 
6
7
  ■ユニットテストで網羅できる処理はシステム全体の何%程度を維持しておられるのでしょうか。
8
+ ====
7
9
  どのようなプログラム設計をしているのか定かではないので正確な回答にはなりませんが、一般的なMVCアーキテクチャのWEBアプリケーションであれば、Model層のモジュールとDBアクセス関連のモジュールに関しては100%を維持すべきかと思います。恐らくはこれが最低限になるかと思います。
8
10
 
9
11
  Controller層やView層については、ユニットテストは不可能ではないのですが、実際に動作させてブラウザで確認した方が早いことが多いので、個人的にはあまり重要視していません。
10
12
 
11
13
  ■システムにおけるユニットテストの存在はもはや当たり前のような風潮を感じるのですが、個人的にはめちゃめちゃ大変な印象です。
14
+ ====
12
15
  ユニットテストのメリットは、一度テストコードを書けば何度でも実行可能な点にあります。テストコードを自動的に実行する仕組みを構築しておけば、コードが変更されるたびに回帰テストを行うことができます。
13
16
 
14
17
  これをユニットテストなしに、実際にプログラムを動かして動作チェックを行うほうが大変だと思います。