🕌
full-stack テスト
前提
Fullstack: FEとBEをそれぞれ開発してる
BEはclean architectureに準拠
API定義書を満たす形で、FEとBEは実装を進める
-
unit test
各レイヤーで、エッジケースも含めてビチビチにprogramでテストする
ホワイトボックス
現在の形のスナップショットを撮るような目的 -
integration test
BE、FE内でそれぞれレイヤーを接続して、機能することを確認する
ブラックボックス。実際にリクエスト投げて動くかどうかみる。
この時点で、理論上は、FEとBEを繋げれば全てがうまく動く
ただ、実際は、FEとBEチームで仕様の捉え方に違いがあったり、漏れがあったり、色々たりてない問題が出てくる
うまく動く機能は、FEかつBEが正しく実装した部分であり、どちらか一方がうまく実装できてない場合は、機能全体として成り立たない。この溢れた部分を洗い出すのが外部結合テスト。
3. 外部結合テスト
FEとBEを実際に繋いで、特定のシナリオについてテストする。
実際に画面上で操作する。
シナリオは、機能全体をカバーできるように選び出すが、ある特定のシナリオで、条件分岐があるものに関しては、代表の一シナリオを選べば良い。細かい条件分岐によるvariationは、単体、内部結合テストで確認済みであるため。
ここまでで、あとはUATなど、ビジネスチームが最終品質確認のためにテストする。
Discussion