Loading...

最終更新日時:2023.11.22 (公開日:2023.05.30)

テストケースって何?悪いテストケースと良いテストケースの違い

ソフトウェア開発において、テストは欠かせない工程です。テストを効率良く進めるためには様々な工夫が必要ですが、その一つとして重要なものがテストケースです。良いテストケースを使うことでどのようなメリットが得られるのか。逆に、悪いテストケースを使うとどのようなデメリットがあるのか。いくつかの例を使って解説します。

テストケースって何のためのもの?

テストをどのように進めるのかを記載した指示書にあたるものがテストケースです。テストでの指示とはどういうものでしょうか?まず、テストの対象は何なのか?ネットショッピング、飲食店の予約などのWebサイトなのか?あるいはプリンター、複合機などのオフィス機器なのか?

例えば、テストの対象がネットショッピングのWebサイトであった場合、テストで使ってよいサイトのURLは?ログインするためのアカウントは?何をテストすればいい?サイト全体なのか、あるいは商品検索、カートへの商品追加など特定の機能のテストなのか?操作した結果、どのような挙動になるのが正しいのか?様々なパターンがあると思います。

テストの指示書であるテストケースには、

  • テストの対象
  • テストの観点(何を確認するのか?)
  • テストの操作手順
  • 期待結果

などが記載される必要があります。しかしながら、テストケースの記載内容があいまい、分かりづらく、間違っていたりすると、

  • テスト対象ではない箇所をテストしてしまう
  • 操作手順を間違って、期待結果通りにならず、誤って不具合と判定されてしまう
  • テストしたい箇所が正しくテストされず、不具合を見逃してしまう

など、予期せぬ結果になり、せっかく時間をかけて行ったテストが無駄になってしまうこともあります。テストするべき対象に対して、正しくテストを行いましょう。そのための必要な情報を記載した指示書にあたるのが、テストケースです。

テスト実行をはじめて行うエンジニア向けのマニュアル型資料
テスト実施の基本とバク報告の書き方を解説
  テスト実行者向け はじめてのガイドブック  

悪いテストケースとは?

良いテストケースを作るために、まずは悪いテストケースの例をいくつか見ていきましょう。

No実施手順期待結果結果
1商品を検索する検索できること
2カートに入れるカートに入ること

【例1 悪いテストケース1】

上記のテストケースの場合、悪い点はどこなのでしょうか?

  • 対象システムは?
  • 対象システムの接続先(URL)は?
  • Webブラウザでテストする場合、どのブラウザを使えばいい?
  • 最初にログインは不要?
  • 「商品を検索する」という手順は、ジャンルから選択していくやり方と、キーワードを入れて検索するやり方など複数あるが、どれのこと?
  • 「カートに入ること」という期待結果は、商品は何でもいいので一つ入れば良いのか?
  • 結果には何を書けばいい?

など、確認したいことがたくさん出てきます。質問・回答に時間もかかりますし、質問しないでテストを行うと、どのレベルまでテストされたのかが不明のままになってしまう可能性が高くなるのです。

No実施手順期待結果
11.以下URLに接続する
   https://www.xxxyyy.co.jp/
2.ログイン画面で以下のアカウント/パスワードを入力して、「ログイン」ボタンを押す
 アカウント:testaccount1
 パスワード:testpass
3.左のメニューから「商品検索」ボタンを押す
4.「商品検索」画面、「商品名」フィールドに以下の文字を入力して「検索」ボタンを押す
 文字列:「ソフトウェアテスト」
・ログイン画面が表示されること
・商品検索画面が表示されること
・検索結果の中に「ソフトウェアテスト」という文言の入った以下の商品が含まれていること
 「ソフトウェアテストの教科書」/カテゴリ:書籍
 「はじめて学ぶソフトウェアテスト技法」/カテゴリ:書籍
・検索結果の中に以下の商品が含まれていないこと
 「スマートフォンケース(赤)」

結果欄には以下の何れかを記載すること
OK / NG / 再確認OK / QA / 保留 / NT / N/A

【例2 悪いテストケース2】

上記のテストケースの悪い点はどこなのでしょうか?手順は明確になり、テスト対象を間違えることは無さそうです。結果欄に記載する内容も明確になりました。ただ、期待結果が途中の結果も含めて複数記載されています。商品検索画面は表示されていますが、検索結果は期待通りにはならなかった場合、結果欄にはどのように記載すればいいのでしょうか?

期待結果が全てOKではないので、NGと記載することになりそうです。不具合の改修を担当する開発者は、どこまでがOKで、どこがNGなのかが不明な場合があります。そのためテスト実行者にヒアリングするか、あるいは開発者が再度同じテストを最初から行い、確認する必要があるでしょう。効率良いテストになるとは言えませんね。

プロジェクト・プロダクト全体の品質を向上させ、デジタル改革を加速させます
バルテスの品質向上サービスのご紹介

良いテストケースの書き方と粒度

悪いテストケース例で述べたことを注意し、さらに以下の考慮を加えると、良いテストケースになります。

【良いテストケースの書き方】

  • テスト観点(何を確認したいのか?)を明確にする
  • 前提条件を明記する

事前に対象画面にアクセス可能なアカウントを用意しておく、価格がxx円以上の商品データをxx件作成しておく
正しいテストを行う上での事前準備を明確にして、テストミスを防ぐ

  • テストした環境、バージョンを明記する

これにより環境、対象ソフトウェアテストのバージョンの差異により結果が異なる場合も正しく状況が把握出来る

  • 実施日、実施者を明記する

テスト実行者に後から状況を確認したい場合に、誰に確認すれば良いのか明確になる
テスト実行者が結果に対して責任を持つという点でも効果がある

  • 不具合の情報(不具合管理システム、Excelなどで別途管理している場合の不具合のID)を記載する

不具合が解消された際にどのテスト項目を再確認するべきかが明確になる

  • テスト結果の集計が出来るような工夫をしておく

テストの進捗管理に使える、社内及びお客様への日次、週次などの報告用に使える
この他にも、テスト項目の粒度にも注意を払う必要があります。

No実施手順期待結果結果
1商品を検索する検索できること 
2カートに入れるカートに入ること 
31.以下URLに接続する
   https://www.xxxyyy.co.jp/
2.ログイン画面で以下のアカウント/パスワードを入力して、「ログイン」ボタンを押す
 アカウント:testaccount1
 パスワード:testpass
3.左のメニューから「商品検索」ボタンを押す
4.「商品検索」画面、「商品名」フィールドに以下の文字を入力して「検索」ボタンを押す
 文字列:「ソフトウェアテスト」
・ログイン画面が表示されること
・商品検索画面が表示されること
・検索結果の中に「ソフトウェアテスト」という文言の入った以下の商品が含まれていること
 「ソフトウェアテストの教科書」/カテゴリ:書籍
 「はじめて学ぶソフトウェアテスト技法」/カテゴリ:書籍
・検索結果の中に以下の商品が含まれていないこと
 「スマートフォンケース(赤)」
 

上記は悪いテストケースの例で提示した3件のテスト項目です。

No.1とNo.2はかなりざっくりと記載されており、No.3は手順が細かく記載されています。No.1とNo.2は極端な例ですが、複数のテスト項目の粒度が全く統一されていない例になります。完全に粒度を統一するのは難しいですが、ある程度の統一感を意識することで、テスト実行者にとっても分かりやすくなります。また勘違いなどから起こるテストミスを防ぐことにもつながります。テストケースを作成するテスト設計者にとっても、テスト実行者からの質問対応が減り、また、進捗確認を行う上でも、より正確に消化状況を把握できます。

【良いテストケースの粒度】

  • 実施手順は、複数の似たような手順がある場合、そのどちらなのかを明確にする。
  • 期待結果は、結果を確認して、OK / NGなどの結果を残したい単位にしていく。

このような内容が、良いテストケースの粒度を考える上でのポイントになります。

品質を高め、コストダウンができる効果を9つの事例でご紹介
テストアウトソーシングの効果とコストダウン実例ガイドブック

まとめ

「テストケースって何?悪いテストケースと良いテストケースの違い」と題しまして、ご説明してきました。テストケースは、ソフトウェアテストを行う上での指示書です。誰が、何を、いつ、どの環境で、どのような目的で、どのようにテストしたのかを明確に出来るように意識するのは大事なポイントです。また、テスト実行の進捗管理、状況報告も意識して、集計表も用意しておくことが重要です。

当サイトでは、テスト技法を学びたい方、アジャイル開発やマイグレーションのテスト手法について知りたい方、テストアウトソーシングサービスに興味のある方へ、ダウンロード資料を多数ご用意しております。ぜひダウンロードいただき、資料をご活用ください。

CONTACT

お問い合わせ

バルテスでソフトウェアの品質向上と安全を手に入れよう