エンジニアといっても日々テストしかしていない毎日ですが、用語がわかっていなかったので調べてみました。
UT, IT, ST, UATの意味
STテストを来週から始めます。といってもテストやるのね程度でしたが以下の意味があるようです。
UT(Unit Test) 単体テスト
初動のテストです。作成したコードが仕様通り動いているか確認します。
作成者や、同じチームの人がテストを行います。
IT(Interface Test) 結合テスト
他者が作成したコードとひっくるめてテストします。
例:Web開発チームとアプリ開発チームで作成したものを結合してテストする
それぞれ細かな仕様の違いでバグを量産したりします。
ITa、ITbやIT1、IT2とレベルによっては分けたりするようです。
勉強してから遠くでIT1(アイティーワン)が〜と話ているのを聞きました、しらなかっただけで会話してたんですね。
ST(System Test) システムテスト
実際の運用に沿って全体的にテストを行います。
一通り一連の流れを実施します。
1つずつ見ていたテストを流れに沿って実施し、予期した動き、データが作成されているかを確認します。
UAT(User Acceptance Test) ユーザ受け入れテスト
依頼元(実際に使用するユーザ)によりテストを実施します。
いままでふわっとしていたことも指摘されてバグが量産されたりします。
その他
他にもコンペアといって旧システムから新システムへ移行する際に新旧動作に問題がないか比較するテストもありました。
モンキーテストについては以前書いたのでそちらも興味があれば読んでみてください!
UT, IT, ST, UAT 呼び方の話
略称でUT, IT, ST, UATという場合と、日本語で単体テスト、結合テスト、システムテスト、ユーザ受け入れテストと呼ぶこともありますが人によりけりです。
だいたいその時のプロジェクトリーダーが使っている言葉をみんな使うことになります。
テストの順番
テストには実施する順番があります。
バグが発生した場合や納期までの時間がない場合、テストの流れが戻ったり、同時並行することもありますが基本的なテスト実施の流れは以下のようにまります。
UT → IT → ST → UAT
4段階のテストを時には少し戻りながらシステムを完成させていきます。序盤でできる限りバグを出しておくと後々楽になります。
ちょっとしたことだから別にいいかと思っていたことがUATでは原因が判明するまでに時間がかかって大事になってしまったりします。
おわり
開発はいつまでたってもできないですが、テストも学ぶことがあって楽しいです。