E2Eで検出する、表明することは、領域ごとに異なる開発者が作ったものに認識齟齬がないかを検出し、プロダクト全体の機能を表明する。
それが、E2Eテストの役割だと自分は考えている。
領域ごとに集まりミーティングを重ね仕様を決めていっても、認識齟齬や漏れはいくらかは発生してしまう。これを早期発見することで安定した開発が行うことができるだろうと自分は考えている。
なぜならUnitテストまではできていて結合で詰まったり、結合前のモンキーテストで問題が見つかり、今更リリース時期を動かしにくい状態の時にプロジェクトが乱れていくのを経験したからだ。
リリース時期を正直に言ってずらすべきだという意見の正しさも理解できるしそうするべきだったができるだけのことをすればまだ間に合わせることができたので対応を頑張ってしまったこれはこれで問題はあるが、日々のE2Eテストの自動化を設けていないことも開発としての問題だと考えてこの結論に至った。
組織としての柔軟性は何回かリリースを伸ばしていたし今回も伸ばせただろうという意味では十分にあったのでこの点は一旦保留としたい。
ここで言いたいのは、認識齟齬は生まれるし、認識の漏れは生まれるので段階的にE2Eの自動化目指そうという話。