2025.07.14

テストのバランス

作成したアプリの品質を保てるようにしたいと考え、ある時自動テストの実装を始めてみようと考えました。

そもそもあまり時間がなかったため、まず優先してどの段階のテストを実装するかを考えました。
当時、GUIのあるアプリを作成しており、画面を操作して、想像通りの動作になることをまず保証したかったため、e2eテストから実装する方針にしました。

e2eテストを実装して、画面の動作を確認していると、他のテストがなくても意外と問題ないのではとしばらくの間は思っていました。
しかし、受け取った値を画面表示前に色々と変換するメソッドを実装していくと、常にそのメソッドが想定通りの結果を返すか不安になったため、こういう場合はやはり単体テストも追加した方が良いと思うようになりました。

さらに、ちょっとだけの変更のつもりだったのに、UIの表示が崩れてしまったこともあったため、スクリーンショット差分も取れるようにしたいと思うこともありました。

全てを完璧に実装することは難しく、また実行タイミングが多すぎると待ち時間が長くなってしまうため、実装も実行も時間と相談して良いバランスを見つけられるようになりたいと思いました。

(担当:雀舌)