1. ホーム
  2. unit-testing

[解決済み] ユニットテストの妥当なコードカバレッジは何%ですか(とその理由)?[クローズド]です。

2022-03-15 04:16:08

質問

もし、ユニットテストのコードカバレッジの最小割合を義務付けるとしたら、おそらくリポジトリにコミットするための要件として、それは何でしょうか?

どのようにしてその答えにたどり着いたのか、説明してください(数字を選ぶだけなら、私一人でできますので ;)

解答方法は?

このアルベルト・サヴォイアの散文は、まさにその問いに答えるものです(しかも、とても楽しい方法で!)。

http://www.artima.com/forums/flat.jsp?forum=106&スレッド=204677

<ブロッククオート

テストカバレッジについて

ある日の朝、プログラマーがこう尋ねた。 大先生が

「ユニットテストを書く準備はできています。どのようなコードカバレッジを目指すべきでしょうか? のために"

大師はこう答えた。

"カバレッジは気にせず、いいテストを書けばいい"

プログラマーは笑顔でお辞儀をして が出て行った。

...

その日のうちに、もう一人のプログラマーが という質問があった。

偉大なる師は、鍋を指さした。 沸騰したお湯で、こう言った。

"あの鍋に米を何粒入れればいいんだ?"

プログラマーは、困惑した様子で と答えた。

"言えるわけがない"。何人の人が必要なのかにもよりますが を食べさせ、どの程度空腹なのか、他にどのような ご飯の量 といった具合に。

「その通り」と大先生は言った。

二人目のプログラマーは微笑み、お辞儀をした。 と言って去っていった。

...

その日の終わりには、3人目の人が プログラマーがやってきて、同じ質問をした。 という質問をしました。

"80%以下はダメだ" マスターは厳しい声で答えた。 テーブルをこぶしで叩く。

3人目のプログラマーは、笑顔でお辞儀をした。 と言って去っていった。

...

と答えた後、一人の青年が 弟子は偉大な人に近づいた を、「マスター」と呼びます。

「大先生、今日、あなたが同じ質問に答えているのを小耳に挟みました。 コードカバレッジは3種類 という答えが返ってきます。なぜですか?"

偉大なる師は、その場から立ち上がり 椅子

"一緒に新鮮なお茶を飲もう" "話をしよう"

二人のカップに 熱い緑茶を飲み干すと と答え始めた。

「最初のプログラマーは、テストを始めたばかりの新人です。 今、彼はたくさんのコードを持っていますが、何も持っていません。 をテストします。まだまだこれからです。 この時点でコードカバレッジに注目するのは というのも、憂鬱になるし、まったく意味がない。 彼はただ慣れることだけが先決です。 を書き、テストを実行することです。彼は カバレッジのことは後で考えよう」。

「一方、2人目のプログラマーは、かなり経験を積んでいます。 プログラミングもテストも 私が 何粒ですか? 鍋の中に米を入れればいいんだ。 を理解させることができました。 必要なテストはいくつもあります。 を、彼女は知っている。 私よりも、彼女の方が優れています。 のコードです。結局のところ、コードは1つではないのです。 彼女はとても賢いです。 を処理することができます。 ということです。"

"なるほど "と若い見習いは言った。 「しかし、もし単純なものがないのであれば では、なぜあなたは 3人目のプログラマーは「80%以上 ということです。

大先生は大笑いしていました。 大きな声を出すと、その証拠にお腹が 緑茶だけではありません。 を上下にバタバタさせた。

「第3のプログラマーは単純な答えしか求めない。 を、そして、その答えはない。 とにかく従うことです。"

若い弟子と、白髪の 飲み干した。 瞑想的な沈黙の中で、お茶を飲む。