はい、あなたは正しく聞いた-そうです!ITコミュニティでは、これらすべてのテストが何らかの形で役立つという意見がしっかりと根付いていますが、本当にそうですか?この常識を批判的に考えて分析しようとしたことがありますか?流行に敏感な人たちは、多忙な活動の幻想を作り出し、どういうわけか彼らの給料を正当化するために、TDD、BDD、SDA、交通警察などの一連のパラダイムを考え出します。しかし、あなた(またはあなたのプログラマー)がコードの作成に専念し始めたらどうなるか考えてみてください。テスト用と部門全体用の個別の領域があります。プログラマーに要件を書くように強制しませんか?では、なぜ彼らはテストを書く必要があるのでしょうか?賛成と反対のすべての人は、投稿の内部に進むようにお願いします。そこでは、ユニット(および統合)テストが大きな悪であることを明確に示します!
テストはどこから来たのですか?
古代には、テストはまったくありませんでした。ブロック(ユニット)や統合テストなどの用語は言うまでもなく、そのような方向性すらありませんでした。そして、あらゆる種類のe2eについて、そして、神は私を許します、パイプライン、私は一般的に静かに保ちます。実際、まだテストするものがなかったためです。当時、ソフトウェアエンジニアは最初のコンピューターを作成しようとしていただけでした。
ご存知のとおり、最初のコンピューターは巨大で、重量が数十トンで、Apple MacBook Pro Retina 4k 32Gb RAM 1TbSSDタッチバーUSBType-Cよりも高価でした。そして当時、開発者たちは仕事中に何かがうまくいかないのではないかと本当に恐れていました。「バグ」という用語の由来の歴史をご存知だと思います。突然そうでない場合は、それを読んでください。非常に興味深いものです。そして、プログラマーは世界のすべてを恐れていたので、ユニットテストを思いついた。
時代は変わり、コンピューターも変わりました。テストも変更されました。ユニットテストに加えて、エリア全体も出現し、後に品質保証として知られるようになりました。
しかし、開発者も変わりました。今日では、誰かがプログラムを起動することを恐れていると考えるのはばかげています。これはサーバーに火をつける可能性があるからです。2020年には、プログラマーはプログラムを立ち上げることを恐れません。そして、恐れがなければ、なぜテストするのですか?
現代の現実
私は私の質問を繰り返します-あなたのMacBook(またはXiaomi)がコードのバグのために爆発しないのなら、なぜそれからテストするのですか?起動して結果を楽しむだけです。顧客のミスの高いコストであなたの憤慨を予想します-特別に訓練された人々にテストをさせてください。
. , . - . . -, Quality Assurance – , ¯\_(ツ)_/¯
, Software Development, Unmistakable Development. .
-, : «, , ». ? ?
. – . . , , , ?
: « » - .
, master, , . pull request , – . , , .
:
, .
, . , , , , . , -, .
.
– . – . ? .
, . , . , . , .
, , . , QA , . , – , .
– . .
Unit-testing, Integration Testing, End 2 End, Pipelines, CI, CD – , ? , , .
. , , e2e , . – .
- CI CD – . devops, . - , - , – .
. , – . – . – bash. … , .
Delivery In Time
: DIT – Delivery In Time. ( ****), . . , , . DIT , – , . , . , : – , – , . , , .
DIT . , ( ), . . , , Quality Assurance . .
:
– ?
– .
– .
– … , 1000 .
. , .
, DIT , , . , . - (, , , ), .
: – , . - , , , . .
, . .
- , (, , ) . , , - . , ? , , .
. , . , – . , , , .
. , , . , ? , , , ? , . , - . – .
. (, 2 ) – . , , . , , . . .
, ? . . , .
. . – , – . - , . , . .
!