テストケース作成で気をつけるべき3つのポイント。ソフトウェアテストを効率よく行う方法

Webサービスでもアプリケーションでも、あらゆるソフトウェアのリリース前にはテスト(検証作業)を行い、バグがないかチェックすべきでしょう。このときに使う、テストすべき項目を列挙したリストを「テストケース」と呼びます。

しかし、テスト項目は多岐にわたるため、知識なしでテストケースを作るのは膨大な時間がかかります。

そこで本記事では、テストケースを効率よく書くための方法を紹介します。

効果のあるテストをしたい人や、はじめてテストケースを作る人は、ぜひ参考にしてください。

テストケースを書く3つの目的

はじめに、テストケースを作る目的を3つご紹介します。

1. 抜け漏れなくテストをするため

テストする内容をリスト化する過程で、必ずテストしなければいけない点が漏れなく含まれているかを確認できます。

また、リストを見ながらテストしていくことで、何をどこまでテストしたかがひと目でわかります。

2. 一貫したテストをするため

テストは複数人で行うのが一般的です。テスト担当者が自分の経験や考えに基づいてテストを行うと、テストの質が担保できません。テスト漏れのリスクにもつながります。

テストケースに基づいて一貫したテストを実施することで、テスト項目について確かなチェックを行なったことを保証できます。

3. テストした項目をはっきりさせるため

限られた時間の中で全てのバグを発見することは難しく、どうしてもリリース後にバグが見つかることがあります。そのような場合でも、テストケースを振り返れば「どこで抜け漏れが発生したか」が明らかになり、効率よく再テストできます。

もしテストケースを作成していなければ、再度テスト項目を考えるところから行うことになり、余計な時間とコストがかかってしまいます。

テストケース作成で気をつけるべき3つのポイント

いきなりテストケースを書き出そうとして、思いつくままに項目を挙げても、実際にテストを行う担当者にとってわかりやすい指示書にはなりません。

ここからは、テストを効率よく行うためのテストケース作成の3つのポイントをご紹介します。

1. 「テスト設計技法」を活用する

ユーザーの行動を網羅し、なるべく漏れのないチェックを行う必要がありますが、ソフトウェア開発の工程で全ての項目をチェックするのは大変です。

また、ソフトウェアの機能が増えれば増えるほど、テスト項目の組み合わせの数は掛け算で増えていきます。

そこで利用したいが「テスト設計技法」です。現在では、統計学の手法に基づいて効率よくテスト項目の組み合わせを生成する方法が考案されています。代表的なのが以下の2つです。

  • 直交表
  • ペアワイズ法(オールペア法)

直交表やペアワイズ法による組み合わせを自動で生成できる、『Pictmaster』というフリーソフトウェアが便利です。利用してみるのも良いでしょう。

2. 「テスト開発プロセス」を利用する

現在では、テストの設計方法を細かく定義し、テストケースを効率よく作成するための「テスト開発プロセス」が考案されています。

▲テスト開発プロセス(出典:INFORIUM

テストの設計段階の工程を、

  1. テスト要求分析(テストの目的を整理する)
  2. テストアーキテクチャ設定(テストの順序を考える)
  3. テスト詳細設計(どのテスト技法を用いるかを決め、テストケースを洗い出していく)
  4. テスト実装(テスト手順を確定する)

に細分化したのがテスト開発プロセスです。

今回は3つ、代表的なテスト開発プロセスをご紹介します。

 

【①VSTeP法】

VSTeP法(Viewpoint-based Software Test Engineering Process)は、電気通信大学・西康晴氏が考案したテスト開発プロセスです。

テスト観点(テストで何を確認するのか)をベースに、テスト要求分析やテストアーキテクチャ設定を行うことを重視しています。

VSTeP法

 

【② HAYST法】

HAYST法(Highly Accelerated and Yield Software Testing)は、富士ゼロックス株式会社が考案したテスト開発プロセスです。

直交表を利用したテスト設計に特化しています。

HAYST法

 

【③ゆもつよメソッド】

ゆもつよメソッドは、テストコンサルタントの湯本剛氏が考案したテスト開発プロセスです。

ゆもつよメソッドでは、

  1. テスト計画(テストの対象や目的を設定)
  2. テスト分析(テストの対象や目的を掘り下げ、テスト条件を洗い出す)
  3. テスト設計(テスト方針を確定する)
  4. テスト詳細設計
  5. テスト実装

というプロセスを提唱しています。

ゆもつよメソッド(SlideShare)

3. わかりやすい文章で書く

テストケースは、複数のテスト担当者が同じようにテストを実行し、同じ結果が得られるように書く必要があります。 そのためには、ひと目で何をすればいいのかが明らかになるように、わかりやすい文章で書きましょう。

具体的に気をつける点は、

  • 入力と期待される出力を具体的に書くこと
  • 簡潔な文章で書くこと

の2点です。

以下の例を見てみましょう。


▲「求人情報を検索する」という機能のテストケース例(出典:webrage

「不十分な例」では、実際に何を検索するのか指示されていません。結果にも「正しく表示されること」とありますが、何を基準に正しい検索結果とするのかが明示されていません。

「良い例」のように、

  • どこに何があるのか
  • 何を入力すると何が出力されるのか

という具体的な部分を明記することで、テストの一貫性を担保できます。

まとめ

テストケースについてのまとめは以下のとおりです。

  • テストケースとは、テストを「漏れなく」「一貫して」「何をしたかわかるように」して行うためのリスト
  • テストケースを作る前の準備(テスト設計)が重要
  • テスト開発プロセスを活用することで、テストケースを効率的に作れる
  • テストケースの文章は、具体的かつ簡潔に書く

テスト開発プロセスを踏まえてテストケースを効率よく作成することは、バグの少ない高品質のソフトウェア作りのために重要な要素です。

ソフトウェアテスト技術振興協会(ASTER:Association of Software Test EngineeRing)は、毎年『テスト設計コンテスト』を実施し、テスト開発をクリエイティブな作業として広めています。

ぜひテストケース作りをクリエイティブに楽しんでみてはいかがでしょうか。

(執筆:shochik 編集:Workship MAGAZINE編集部)

SHARE

  • 広告主募集
  • ライター・編集者募集
  • WorkshipSPACE
週2日20万円以上のお仕事多数
Workship