見出し画像

テストケースの目的と作成ポイント

こんにちは。
株式会社ニュークラウドの代表「木村」です。

大規模なECサイト開発やシステム開発では、必ず「テスト検証」や「QA(Quality Assurance / 品質保証)テスト」が行われます。またそれらテスト検証を行うために「テスト仕様書」や「テスト設計書」、また「テストケース」などと呼ばれる各テストを実行するための資料(ドキュメント)を用意することが多いです。そしてテスター(実際にテストを行うエンジニア)がそれら資料を確認して、実際にテストを行なっていきます。

そのため各テスト資料は、内容が明確かつ意味合いがあるもの(業界用語で言うと「テスト観点」)をしっかり理解した状態で作り込む必要があります。その中でも実際にテストで使用する資料「テストケース」は、作成時にしっかり作る必要があります。

このテストシートが、テスト観点とズレたり、テスターが理解できない状態で作られてしまうとテスト実行自体がすべて無駄になってしまいます。しかし、これを理解せずに適当に作る開発会社もたくさんあります。

そこで本日は、新人でも的確なテストケースが作れるように「テストケースの目的」と「作成ポイント」をまとめさせていただきました。

テストケースの目的

まずテストケースとは、冒頭でもお伝えしたようにテスターが実際にテストを行うための資料・シートのことです。具体的には、「テストの対象」や「テスト観点」、また「操作手順」や「期待する結果」などテスト内容と方法が記載されています。

そもそもなぜテストケースが必要なのか、それは現代では、幅広い層がECサイトやシステムを使うようになり、もしその中で"少し"でもバグや不具合があると「使えない」「ありえない」などといったネガティブな評価を受けてしまいます。また人間は、ネガティブなものほど興味を持ち拡散してしまうため、開発・提供側は非常にシビアに向き合っていく必要があります。そのため、少しでもネガティブ評価を受けないように正式ローンチ前にしっかり不具合等を見つける必要があります。そのため、テスト検証にて漏れが発生しないようにテスト一覧をしっかりまとめた「テストケース」の存在が大事になってきました。

ちなみにテストケースは、テスト仕様書やテスト設計書とは異なり、テストの詳細が記載され、またテスターが実際に扱う資料となっています。

テストケースの作成ポイント

テストケースを作成する上で最も大切な視点・考え方があります。それは、「誰がいつ見ても分かる、かつ同じ手順でテストを実行できる」ことです。大規模なプロジェクトほど、メンバーが数十人〜数百人規模となり、テスターも途中から参加する場合も多々あります。しかし、途中から参加してすぐにテスト検証をしなければいけない状態で過去の資料や膨大なテスト設計書などに全て目を通すことはできないです。そのためテストケースは、途中から参加されたテスターでも問題なくスムーズに理解できる内容でなくてはなりません。

またAテスターとBテスターでテスト手順が異なって、期待される結果も異なった場合、これではテスト検証の意味がありません。そのため、誰がやってもしっかり同じ手順かつ同じ結果になることが「テストケース」作成では大切なポイントです。

では、具体的には、どのような項目がテストケースには必要なのか、以下にまとめました。

1 - テスト対象:
テストを実施する対象
2 - テスト観点:
正常に動作していることを証明するために「何を、どのように、テストすればよいか」という視点を定義
3 - 前提条件:
そのテストを成立させるために満たすべき前提の条件
4 - 操作手順:
テストを実行する際の"具体的な"テスト手順
5 - 入力データ:
テストを実行する際に利用するデータ情報
6 - 期待する結果:
テストを実行して、どのような結果がでれば正常であるのかを明文化したもの

一般的には、上記6の項目がテストケースにしっかり反映されている必要があります。

また書き方も大事なポイントであり、誰でもすぐに理解かつ明確に把握できる必要があります。

例えば、まずは悪い書き方の例をご紹介します。

【悪い(×)書き方の例】
●操作手順
求人検索画面でキーワードを入力して検索する

●期待される結果
求人情報一覧が表示される

●問題点
・求人検索画面は、どこから行けるのか?
 (画面をすぐに見つけられないとテスト工数と時間が増えてしまう)
・キーワードは、なんと入力すればよいのか?
 (テスターによって、バラバラのキーワードを入力したら、結果もバラバラになってしまう)
・どのような形で求人情報一覧が表示されるのか?
 (その場で表示されるのか?それとも遷移されるのか?どちらが正しいかが分からないと結果の評価もできない)

では、上記の例では、どのような書き方が最もよいのか。

【正しい(○)書き方の例】
●操作手順
[手順1]サイトのグローバルメニューにある「求人情報検索」リンクをクリックする。
[手順2]キーワード検索のフォームが出現するので、その中に「東京都」と入力する
[手順3]入力したら、キーワード検索のフォーム右にある「検索」ボタンをクリックする。

●期待される結果
「検索結果一覧」画面に遷移され、「東京都」の求人情報一覧が上から「応募締め切りが近い順」に表示されている。

●ポイント
・テスト手順〜結果までは、細かく書かれているため、スムーズに内容を理解できる。
・誰がいつやっても同じ内容のテストができる状態にある。

一般的な資料と比べたらあまりに丁寧すぎると思うかもしれません。しかしテスト検証は、「誰がいつやっても同じ状態」である必要があるため、これくらいの丁寧さが大事です。

最後に

テストケースを作る上でまずは、目的と必要性をしっかり理解することが大切です。それらをしっかり理解できれば、細かい点までも見えたテストケースを作ることができます。またテストケースは、一人で作成&本確定をしてはいけません。必ず第三者の評価(レビュー)を受ける必要があります。そして評価する方は、上記で挙げたテストケースの6つ項目に沿って分かりやすく作られているかをチェックしてあげましょう。

また一部開発会社では、テスターにテストケース作成やチェックを丸投げするところもありますが、テスターの仕事は「テストを回す」ことであり、テストケースの精査を行うことではありません。もちろんテストケース作成&チェック分の工数を与えているのであれば、問題ないのですが、テスト検証分の工数内でテストシートチェックもお願いすることは違ってきます。そこを間違えないようにテストケース作成は作成者が、チェックはテスト検証の責任者などが行うようにしましょう。

この記事がお役に立てると幸いです。

株式会社ニュークラウド 代表「木村」

こんにちは。 株式会社ニュークラウドの代表「木村」です。 noteでは、主に「ビジネス」について書いています。 みなさんのサポートと応援により、クリエイティブな活動が続けられています。 本当にありがとうございます。 これからも応援のほど、よろしくお願いいたします😊