テストとは
Webアプリケーションを開発するときに、
こちらが動いて欲しいような動作をしてくれるかを検証する
ためにテストをします。
Railsで開発する場合はRSpecと言うテスト用のフレームワークです。
テストはコードを書いて、想定通りの動作をするのかを検証していきます。
テストをしないとサービスをリリースするときに、
ちゃんと動作せずにリリースすることになり、
クライアントなどに迷惑がかかってしまうことがあります。
単体テスト
一つ一つのプログラムが正常に動くのかを確認していくテストです。
飛行機で例えると部品を一つ一つ異常がないかをチェックしていくイメージです。
部品に異常があれば空を飛んでる途中に事故が起きてしまいますよね。
アプリケーションなども同じでシステムに異常があれば、
思ったように動作しなくなってしまいます。
結合テスト
インターフェースが正常に動いているかをテストです。
つまり複数の機能を合わせて想定通りに動作するのかをテストするのが結合テストです。
飛行機で例えるとこのボタンを押せば車輪が出るのか、このレバーを引けば上昇するのかなど
部品と部品で連動して動作するかをテストします。
railsなどは
controllerなどのAPI関連のテストでRequest specと言います。
どんなテストツールがあるか
例えばこんなのがあります。
-
Rails
RSpec -
React、Vue.jsなどのフロントエンド
Jest Cypress Autify -
Laravel
phpunit
最後に
総合テストとシステムテストというものがあります。
総合テストは大きな単位でのテストです。
システムテストは実践的なテストです。
新幹線のテスト走行みたいなイメージです。
よければ色々調べてみてください。
参考資料