Ask The Expert
【Q&A】テストケースを設計する方法
質問:テストケースを設計する際、どのような点を注意すべきでしょうか?
設計に当たっては、実用的で再利用可能なテストケースの作成を目指すことが大切だ。設計プロセスに役立つアイデアを以下にまとめたので参考にしていただきたい。
最初に考えなければならないのは、利用者のことである。誰がテストケースを読み、それを使用するのかということだ。テストケースの利用者が新米テスターなのか、経験豊富なテスターなのか、それともオフショア(海外)アウトソーサーのテスターなのかによって、テストケースのデザインは異なる。
新米テスターやオフショアテスターが各テストケースで必要な「すべての情報」を提供するようなテストケースを作成するのであれば、テストケースはかなり詳細なものにする必要がある。テストケースの目的は明確に示さなければならない。テストデータをテストケースに添付してもよい。テストデータを含めるのであれば、テストデータは「指定通りに」使用しなければならないのか、それともサンプルとして添付してあるだけなのかを明記する必要がある。
テストデータはテストで非常に重要な部分である。テストケースに書き込まれたテストデータが、使用するデータタイプのサンプルであり、テスターが創造性を発揮して、ほかのテストデータを使用しても構わないのであれば、テストケースにその旨を明記しなければならない。場合によっては、定義されたすべてのテストケースについてその旨を明記し、テストチームに周知徹底する必要があるだろう。
具体的な例を見てみよう。同一の認証情報を使って2つのユーザーアカウントを作成できないことを示すためのテストケースを設計する場合を考える。筆者がテスターであれば、このテストケースの目的として記載された要件に違反するための手段を思いつく限り試そうとするだろう。例えば、1つのアカウントを作成し、それをいったん無効にした上で、同じ認証情報を使って別のアカウントを作成し、その後で、最初のアカウントを再び有効にするといった具合だ。
この例とは対照的に、ジョー・スミスという名前のユーザーアカウントを作成し、そのアカウントが作成されたことを確認した上で、ジョー・スミスという名前で別のアカウントの作成を試みよというテストケースの具体的な指示に従うという方法もある。
筆者は、テスターが創造性を発揮するやり方が望ましいと考えている。テストの目的がテストケースで最も重要な側面であると思うからだ。テストデータを具体的に指定する理由があるのでなければ、すべてのテストデータを可変要素として指定する方法を筆者は好む。テスターが新たなアイデアを思いつき、異なるテストデータでテストすることが望ましいと考えているからだ。
テストケースを指定通りに実施する必要がある場合と、テスターに創造性を発揮してもらいたい場合を明確化すること。つまり、添付したテストデータが指定通りに使用される必要がある場合と、テスターが異なる値を試すことができる場合を明確化するということだ。筆者はテストデータが可変要素であることを明確に示すために、変更可能なテストデータをカラーで強調したことがある。
コンテンツも考慮すべき事柄の1つである。誰がテストケースを使用するかが分かれば、テストケースの説明のトーンや詳細を決めやすい。では、コンテンツの詳細はどのように決めればいいのだろうか。規制を受けた環境の中でテストを行い、テストする製品が監査の対象になるのであれば、選択の余地はない。指針となる手順に従い、要求された事項を順守しなければならないのである。規制を受けず、急速に変化する環境の中でテストを行うのであれば、詳細な手順を示したテストケースは融通が利かないので、更新しにくかったり実用性に欠けるなどして、使い捨てになってしまう恐れがある。テスト環境の状況およびテスト対象となる製品も、考慮すべきファクターなのだ。また、テスト実施経験および対象となる製品に関する経験の両面において、テストチームの経験レベルを考慮する必要もある。
フォーマットも考慮すべき事柄の1つである。ただし筆者は個人的には、フォーマットはそれほど重要ではないと考えている。テストケースの要はコンテンツであり、フォーマットではないからだ。しかしテストケースを保存するツールを購入し、そのツールを使わざるを得ない人もいるかもしれない。あるいは、テストケースはWordやExcelまたはTestDirectorで記述しなければならないといった指針を定めている企業もあるだろう。筆者は、フォーマットがテスターにとって実用的であることが望ましく、テスターの仕事を増やしたり、ソフトウェアをテストするという最終的な目標を見失わせたりするものであってはならないと考えている。
最後に考慮すべき事柄として、テストケースのランク付けが挙げられる。テストケースが多くなってくれば、テストケースのメンテナンスも重要な要素となる。テストケースの作成を重ねる中で、製品およびテストケースが時とともに進化するということが理解でき、テストケースをランク付けしようと考えるようになるだろう。ここで言うランク付けとは、必ず実施しなければならないテストケースと、比較的重要度が低いテストケースを決めることを意味する。テストケースが各リリースのリグレッションテスト用に設計されており、そのテストケースが重要な機能をカバーしているのであれば、そのテストケースのランク付けを検討することが望ましい。
筆者は以前、各テストケースを1~3のレベルに分類することによってランク付け問題を解決した。レベル1のテストケースは基本的な機能をチェックするものであるため、各ビルドごとに実施する必要がある。レベル2のテストケースは製品の機能変更に基づいて選択し、レベル3のテストケースはリグレッションテストスイートをすべて実行するときに使用するようにした。一般的には、各製品リリースごとにすべてのテストケースを評価し、実施の優先順位を見直すことになるだろうが、テストケースの開発を重ねていけば、現在のリリースだけにフォーカスするよりも、製品全体に対して各テストケースがどの程度重要であるか考えるようになるだろう。
以上を要約すれば、まず、実用性と再利用性を重視することである。また、利用者に応じて、テストケースを詳細に記述する必要がある。各テストケースの目的を明確化するとともに、添付されたテストデータは「そのまま」使用するのか、それともサンプルとしてテストデータを示しているだけなのかを明記する。そしてメンテナンス可能なフォーマットを使用すること。
TechTargetジャパンへのご登録はお済みですか?
**「TechTargetジャパン」メンバーシップのご案内**
会員登録を行うことで、300点以上の技術資料がそろったホワイトペーパーや興味・関心分野ごとに情報を配信するメールマガジン、ITmediaや@ITの特集記事がPDFでまとまって読める電子ブックレットなど、各種サービスを無料で利用できます。**会員登録(無料)はこちらから**
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー