###テストについて
項目として案件定義、外部設計、内部設計、コーディング、単体テスト、結合テスト、運用テストがあります。
現場によっては定義されている内容や名称も異なる事があります。内部設計ではなく、詳細設計と書かれていたり、運用テストが結合テストと呼ばれていたりします。
今回は、一般的な単体テストと結合テストについて触れていきます!
上記の図が一連の流れとなります。
システムを作る際、クライアントと調整し設計を行いコーディング、テストを行います。
この流れ、手順の事をウォーターフォールと呼びます。
全部で7つのフェーズに分かれており、V字型モデルとも呼ばれています。
###単体テスト
機能単位のテスト。
■関数単位
・function内で定義した処理が実行されるのか
・~book/1をURLに入力した際、idが『1』の情報を取得されているのか
■パーツ単位
・ユーザー登録を実行した際、データベースのテーブル内に1行データが増えているのか
###結合テスト
機能同士を組み合わせたテスト。
例)SNSの場合
・ログインをした後の最初のページにログインユーザーの名前やフォロー中のユーザーのつぶやきが表示されているのか
(フォロー中のユーザーのツイートを表示させる、ログインユーザーの名前を表示させる。①ログイン機能+②フォロー機能+③つぶやき機能)
・新規登録時にバリデーション機能が動くか
(登録時は文字列なのか、数字限定なのかという条件が機能しているか、空欄や入力文字数が多いとエラー文言が表示される。①登録機能+②バリデーション機能)
・退会した後はつぶやきが表示されないかどうか
(ログインが出来なくなり、フォローしている相手情報がないのでつぶやきも見れなくなる。①退会機能+②非ログイン時の動き)
###まとめ
・単体テストは内部設計(機能単位)のテスト
・結合テストは外部設計(機能同士を組み合わせた)テスト
※現場によって細かい定義の内容は変わってくるので、現場に確認を行ってください。