のだが、なぜだろう?
おいらがいく現場、いく現場、みんなそういう掛け声がかかる。
その程度の認識しか持ってないから、炎上するんだと言えばそれまでだが。
なに?
うちは炎上してない?
それって資金にまだ余裕があるから、ってだけじゃねーのか?
米櫃の底が見え始めた途端、戦場のど真ん中に取り残されてることに気づくと思うぞ w
「テストケース出してごらん」
で、組合せ爆発した上に取りこぼしが大量にある、実効性の乏しいテストケースしか出せないわけよ。
なんとかそれっぽいものをでっち上げても、今度は検証に半日から一日かかるとかいう喜劇。
E2Eテストなんて、10年ほど前に実質的に破綻したテスト手法ですよ。
今時の、複雑度の上がったシステムは、設計時に検証手段を確保しておかないと、よく使われる機能の正常系だけがかろうじてテストできる、って状態以上にはなりません。
「うちはE2Eテストで万全」という人は、現状の認識能力に問題があるか、粗チンサービスのオーナー、ってだけの話です。
基本的にサービスは成長するので、早晩、破綻するでしょう。
設計時に検証手段を確保しておく。
というのが、テスト駆動開発の本質です。
そして、そのテスタビリティを向上させる方法が、オブジェクト指向だったりモジュール化だったり、ドメイン分析だったり、マイクロサービス化だったりするのです。
これらは専らテスタビリティのためだけというわけではなく、お互いに影響を与え合っています。
それは、ただ一つの戦略のため。
Keep It Simple, Stupid.
ただこれだけのために存在しています。