1. ホーム
  2. unit-testing

[解決済み] ユニットテストがそんなに素晴らしいなら、なぜもっと多くの企業がやらないのですか?[クローズド]

2022-11-29 14:06:30

質問

私が最初に勤めた本当のソフトウェア会社は、ユニットテスト (NUnit) にこだわっていました。当時、私たちが本当にテストにこだわっていたのかどうかは分かりませんが、私たちのコードカバレッジがどのようなものだったのか、そして私がユニットテストのほとんどを書いていたことは覚えています。それ以来、多くのテストを行う企業に出会いましたが、それは椅子のテストであり、人がそこにいることに依存し、再現性が低く、バグを発見する可能性が低いのです。もう1つの態度は、「将来、お金が降ってきたときにでも」というものでした。

私はユニットテストが恋しいです -- それは人生をより簡単にします。しかし、私が新しい仕事を探すとき、ユニットテストは、企業が将来的に"get going with"したいものか、まったくやらないものかのいずれかであることがわかりました (ええと、それはもうしばらく前からありますよ!)。過去2年間に私が見た求人票の60~75%は、ユニットテストを全く記載していなかったと思います。私は、ユニットテストの経験を要件としていた 1 つまたは 2 つを思いつくだけです (中堅の開発者のポジションの場合)。

そこで質問です。 何が足りないか ? 私は、それが人々の生産性を高めると思いますが、それは、実際にそれを行うのに十分な時間を費やした後でのみです。ユニットテストのコスト削減に関する良い研究はないのでしょうか?私が見ているのは会社のタイプなのでしょうか?

編集:タイトルが少し悪魔を擁護するものであっても、私は自分自身をユニットテスト推進者だと考えています。

どのように解決するのですか?

私の経験では、これにはいくつかの要因があります。

  1. 経営陣は、ユニットテストが本当に何であるか、または、なぜそれが彼らにとって本当の本質的な価値を持つのかを本当に理解していません。
  2. 経営陣は迅速な製品提供を重視する傾向があり、ユニットテストをその目標に逆行するものと(間違って)見ている。
  3. テストはもっぱらQAに属するという誤解がある。開発者はコーダーであり、テストを書くことはできません。
  4. ツールは自由に利用できるにもかかわらず、ユニットテストを正しく行うには経営者がお金を使わなければならないという共通の誤解がある。(もちろん、考慮すべき開発者の立ち上げ時間はありますが、実際には法外なものではありません)。
  5. Will の回答で、この回答は終了です。テスト コードの価値を決定するのは非常に難しい (編集 jcollum)

当然、他の要因もありますが、これらは私がこれまでに遭遇したものだけです。