テスト項目書の作成

はじめに

テスト、JUnitの概要」の単元では、コーディングした後、単体テストを行う ということを学習しました。
ここでは、単体テストの実施方法のうち「項目書を作成して、手動で実際の操作を行った結果を記録していくパターン」について学習します。
 *テスト項目書、テスト仕様書、テストケースなどの呼び方があります。

これまでの単元「Spring Bootの基本的な処理の流れ」「バリデーション」で使用した、
フォーム②(ModelAttribute)(URL:/manual/index2)に対して、テスト項目を作成し、テストを実施します。

事前準備として、確認画面を一部修正します。
下記の画像のように、入力された期間についても表示されるよう「check2.html」に追記してください。

テスト項目書の作成

テスト項目の基本とフォーマット

テスト項目書のフォーマットは現場により違いがあります。
フォーマットこそ違っても、「この操作をしたら」「この結果になる」といった項目を作る点は共通しています。
実際に実施する時は、結果が想定通りであればOK、想定と異なる場合はNG。といった形でテストの結果となります。

本マニュアルでは、下記のフォーマットを使用します。
ダウンロードしたら、ファイル名を「単体テスト項目書_マニュアル_○○」に変更してください。(○○は名前)

単体テスト項目書マニュアルサンプル.xlsx

ダウンロードしたテスト項目書のサンプルには
記入例として、下図のようなログイン画面に対するテスト項目シート「ログイン」が入っています。
テスト項目書は、このシートを元にして記載していきましょう。

また、後程触れますが「ログイン_1」「ログイン_2」といったシートはエビデンスのシートです。

テスト項目の書き方

基本的には1画面ごとに1シートを作成します。
今回の場合は「入力画面」と「確認画面」がありますので、2シート作成します。

シート内では、まずその画面で出来る動作ごとに分類します。
今回の入力画面なら、「初期表示時(そのURLにアクセスしたとき)」、「送信ボタン押下時」があれば良いでしょう。

テスト項目をどういった観点で作っていくか、いくつか例を紹介します。

初期表示時

・入力項目
入力項目の欄が空欄か、または初期表示される値が想定通りかを確認します。
一般的なWebサイトでも「登録情報の編集画面」では最初から文字が表示されていると思いますが、こういった場合は後者にあたります。

「ログイン」のシートでは「ID、パスワード」についてまとめて空欄であることを確認しています。

確認する入力項目が5~以上など 多い場合はまとめずに、項目ごとに1行ずつ作成した方が確認ミスを減らせます。

・表示/非表示の切り替え
削除ボタンなど、「ケースAの場合は表示されるが、ケースBの場合は表示されない」といったふうに表示/非表示の切り替えがある場合も、テスト項目に含めます。

選択項目

セレクトボックスのような選択ができる項目は、選択内容について確認します。

(例)

ボタン押下時

何らかのボタンを操作する場合についてのテストは必須です。
一般的にフォームにはバリデーションが実装されていますので、
バリデーションエラーで送信できなかった場合」「エラーがなく、正常に処理が進んだ場合」の両方を考えて作成しましょう。

「ログイン」シートの例のように、1つのバリデーションごとに最低1項目は作成します。

また、データベース(今後扱っていきます)に何か処理を行った場合、その旨は必ずテストに含める必要があります。

テストの実施・エビデンスの作成

テストの実施

テストを実施する際は、テスト項目書の通りに操作し、その結果を記録します。
マニュアルのフォーマットでは、結果、実施日、実施者名を1セットとして記載します。

エビデンスの作成

エビデンスとは、テストが正しく実行されたこと、システムが意図通りに動作していることを示すための「証拠」や「根拠」となるデータや文書のことを言います。「証跡」とも言います。

「ログイン_1」や「ログイン_2」のシートを見ていただくと分かる通り、
テスト項目ごとに、基本的にスクリーンショットや図形を用いて、正しく確認できていること(テストを正しく実施した証拠)を一目で分かるようにしています。
スクリーンショットの撮り方については「スクリーンショット(画面キャプチャ)」を参照のこと。

特に、データベースと接続している場合、
操作した後のデータベースのデータが想定通りの変更が加わっていることを確認することは必須です。

練習問題

問1: マニュアルに習って、該当のフォーム(URL:/manual/index2、check2)について、テスト項目書を完成させてください。
作成したテスト項目書ファイルを講師にSlackで提出し、レビューを依頼してください。

問2: 問1で作成したテスト項目書を用いて、テストを実施し、エビデンスを作成してください。
作成が完了したら講師にSlackで提出し、レビューを依頼してください。

タイトルとURLをコピーしました