フロントエンドとバックエンドを分けるとどうなるか

ビジネスロジックテストの観点から

分けないとユニットテストしかできない

まず、フロントエンドとバックエンドを分けない、いわゆるモノリシックなWebアプリについて、ビジネスロジックのテストをしたくなったと仮定してみます。

分けるとE2Eテストもできるようになる

一方、フロントエンドとバックエンドを分けるアーキテクチャだとどうでしょうか。

E2Eテストは言語に依存しない

E2Eテストには、ユニットテストと違って、言語に依存しない特長があります。APIを別言語で書き直す場合でさえ、テストケースが無駄になりません。

Web APIのテストは保守コストが低い

別言語での書き直しほど極端な例でなくても、リファクタリングのためにユニットのインターフェイスを変えたくなることぐらいはあるでしょう。インターフェイスが変われば、ユニットテストのテストコードも修正する必要があります。

まとめ

まとめると、下記のようになります。

  • E2Eテストは言語に依存しない
  • Web APIのテストは保守コストが低い

VELTRA Engineering

Posts from the VELTRA Engineering team. www.veltra.com

Takashi Iwamoto

Written by

An Web engineer at VELTRA corporation, a member of JAPAN MENSA

VELTRA Engineering

Posts from the VELTRA Engineering team. www.veltra.com