テストとは
アプリケーションを開発環境から本番環境に移す前に、
それまで書いたコードが正常に動作するかどうかを確認する作業のこと。
ユーザー登録、投稿機能が備わっているアプリケーションとかって
自分で登録してみて動作確認をする、っていう事しかしてこなかった。
というか、それで良いんだと思っていた。笑
当然、現場ではそういう「なんとなく」の確認は許されなくて
きちんと履歴(コード)として残さなきゃいけないし、そういう体制・環境を使わなければいけないですよね。。
単体テストと統合テスト
テストには単体テストと統合テストの違いについて、Webio辞書では以下のように書かれています
単体テストでは、個々の機能を果たすためのプログラム部品(プログラムモジュール)がそれぞれしっかりと動作しているかを検証する。
単体テストが行われ、問題ないことが確認されたら、それらのモジュールどうしを組み合わせた場合にもうまく機能するかどうかを検証する「結合テスト」の段階に引き渡される。
なんとなく、単体テスト→統合テストという流れなのはよくわかる。
もう少し噛み砕いて考えると、単体テストはRailsでいうとモデルクラスやコントローラーごとの動作確認を担当し、統合テストはアプリケーション機能の処理の一連の流れをテストする模様。
私のイメージとして
「”モデルクラス””コントローラー”など書く側から見た一つの塊ごとに動作確認するのが単体テスト、”ユーザーの新規登録”など使う側から見た一つの塊ごとに行うのが統合テスト」
という感じにまとまりました。
実際にテストを行うに当たって、ここの明確な定義ってさほど重要ではないかもしれない&考え方が浅いかもしれませんが、とりあえず自分の言葉で噛み砕いてみたというお話でした。。