[解決済み] ユニットテストの妥当なコードカバレッジは何%ですか(とその理由)?[クローズド]です。
質問
もし、ユニットテストのコードカバレッジの最小割合を義務付けるとしたら、おそらくリポジトリにコミットするための要件として、それは何でしょうか?
どのようにしてその答えにたどり着いたのか、説明してください(数字を選ぶだけなら、私一人でできますので ;)
解答方法は?
このアルベルト・サヴォイアの散文は、まさにその問いに答えるものです(しかも、とても楽しい方法で!)。
http://www.artima.com/forums/flat.jsp?forum=106&スレッド=204677
<ブロッククオートテストカバレッジについて
ある日の朝、プログラマーがこう尋ねた。 大先生が
「ユニットテストを書く準備はできています。どのようなコードカバレッジを目指すべきでしょうか? のために"
大師はこう答えた。
"カバレッジは気にせず、いいテストを書けばいい"
プログラマーは笑顔でお辞儀をして が出て行った。
...
その日のうちに、もう一人のプログラマーが という質問があった。
偉大なる師は、鍋を指さした。 沸騰したお湯で、こう言った。
"あの鍋に米を何粒入れればいいんだ?"
プログラマーは、困惑した様子で と答えた。
"言えるわけがない"。何人の人が必要なのかにもよりますが を食べさせ、どの程度空腹なのか、他にどのような ご飯の量 といった具合に。
「その通り」と大先生は言った。
二人目のプログラマーは微笑み、お辞儀をした。 と言って去っていった。
...
その日の終わりには、3人目の人が プログラマーがやってきて、同じ質問をした。 という質問をしました。
"80%以下はダメだ" マスターは厳しい声で答えた。 テーブルをこぶしで叩く。
3人目のプログラマーは、笑顔でお辞儀をした。 と言って去っていった。
...
と答えた後、一人の青年が 弟子は偉大な人に近づいた を、「マスター」と呼びます。
「大先生、今日、あなたが同じ質問に答えているのを小耳に挟みました。 コードカバレッジは3種類 という答えが返ってきます。なぜですか?"
偉大なる師は、その場から立ち上がり 椅子
"一緒に新鮮なお茶を飲もう" "話をしよう"
二人のカップに 熱い緑茶を飲み干すと と答え始めた。
「最初のプログラマーは、テストを始めたばかりの新人です。 今、彼はたくさんのコードを持っていますが、何も持っていません。 をテストします。まだまだこれからです。 この時点でコードカバレッジに注目するのは というのも、憂鬱になるし、まったく意味がない。 彼はただ慣れることだけが先決です。 を書き、テストを実行することです。彼は カバレッジのことは後で考えよう」。
「一方、2人目のプログラマーは、かなり経験を積んでいます。 プログラミングもテストも 私が 何粒ですか? 鍋の中に米を入れればいいんだ。 を理解させることができました。 必要なテストはいくつもあります。 を、彼女は知っている。 私よりも、彼女の方が優れています。 のコードです。結局のところ、コードは1つではないのです。 彼女はとても賢いです。 を処理することができます。 ということです。"
"なるほど "と若い見習いは言った。 「しかし、もし単純なものがないのであれば では、なぜあなたは 3人目のプログラマーは「80%以上 ということです。
大先生は大笑いしていました。 大きな声を出すと、その証拠にお腹が 緑茶だけではありません。 を上下にバタバタさせた。
「第3のプログラマーは単純な答えしか求めない。 を、そして、その答えはない。 とにかく従うことです。"
若い弟子と、白髪の 飲み干した。 瞑想的な沈黙の中で、お茶を飲む。
関連
-
[解決済み】Javaプロジェクト。ApplicationContextのロードに失敗しました
-
[解決済み】Assert.Fail()はバッドプラクティスとみなされるか?
-
[解決済み] tornado + async defのunittestはどのように行うのですか?
-
[解決済み] TDDのためのJavaScriptユニットテストツール
-
[解決済み] Mocha によるコードカバレッジ
-
[解決済み】ユニットテストと機能テストの違いは何ですか?
-
[解決済み] テスト駆動開発のデメリット?[クローズド]
-
[解決済み] ユニットテストはゲッターとセッターのために書くべきですか?
-
[解決済み] GUIをユニットテストするにはどうしたらいいですか?
-
[解決済み] モッキングフレームワークにおけるモッキングとスパイの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jest.fn()の機能と使い方を教えてください。
-
[解決済み] NUnit vs. MbUnit vs. MSTest vs. xUnit.net [終了しました。]
-
[解決済み】ユニットテストとは何ですか?[クローズド]
-
[解決済み】ユニットテスト初心者、優れたテストを書くには?[クローズド]
-
[解決済み] Unit Testsでランダムデータ?
-
[解決済み] モッキングフレームワークにおけるモッキングとスパイの比較
-
[解決済み】ユニットテストについて語るときの「DAMP not DRY」の意味とは?
-
[解決済み] ユニットテストとは、どのようなもので、どのように行うのですか?[重複あり]
-
[解決済み] Go の testing パッケージを使用してテストのセットアップを行うにはどうすればよいですか?
-
[解決済み] Enzyme - How to access and set <input> value?