JSTQBの用語には、テストケース、テストベース、テストスイート、テストアイテムなど、テストに関連する様々な用語が存在します。
本記事で扱う「テストアイテム」も用語の一つであり、JSTQBの基となるISTQBの用語集「ISTQB Glossary」では以下のように解説されています。
テストを実施する個々の要素。 通常、一つのテスト対象に対し、多数のテストアイテムがある。
出典:ISTQB Glossary
なんとなく分かるけど、これといった定義であるかというとちょっと解読が難しい記述になっていますので 「よくわからない!」「結局何をテストアイテムと呼ぶの?」という方も多いと思います。
本記事では「テストアイテム」の概要や考え方について、例題を基に詳しく解説します。
テストアイテムとは
ISTQBでは「テストを実施する個々の要素」とされていますが、もう少しマイルドに「テスト対象を構成する各要素」と言い換えてみましょう。
少しイメージし易くなったのではないでしょうか。
なんとなくイメージができるようになったところで、本サイト(QmediA!)のお問い合わせ画面を例にして「テスト対象を構成する各要素」について見ていきましょう。
下記画面のテスト設計を行う際に、皆さんはどのように書き進めるでしょうか。
仮にAとBで下記のような二つの試験に分けたとして、それぞれの「テスト対象を構成する各要素」を考えてみましょう。
- A.画面試験
画面の要素を上から順番にテスト項目に落とし込んでいく。 - B.機能試験
「お問い合わせ内容の送信」機能についてテスト項目に落とし込んでいく。
Aの画面試験の項目としては「ヘッダー」「グロナビ」「パンくず」「タイトル」「テキスト」「お名前」「メールアドレス」「お問い合わせ内容」「確認ボタン」「フッター」が該当します。
画面試験の時は、画面の構成要素であるモジュールやセクションをテストアイテムと呼ぶ事ができます。
Bの機能試験の項目としては「バリデーションチェック」「送信処理」「受信先処理」「処理結果毎の画面遷移」「使用API」「各UI確認」などが該当します。
機能試験の時は、機能をテストする際に必要となる処理要素をテストアイテムと呼ぶ事ができます。
つまり、テストする対象によってテストアイテムと呼ばれるモノ・範囲は変化するという事になります。
- さらに深掘り!
テスト対象がバリデーションチェックとなった場合、バリデーション時の挙動、文言、エラー制御など、さらに細分化された処理要素がテストアイテムと呼ばれるようになります。
テスト対象が何なのかを見極める事が、テストアイテムを導き出すコツになります。
「テストアイテム」という呼称の実状
JSTQBのシラバスや参考書ではテストアイテムについて深く言及はされておらず、定義に迷う方もいると思います。
例えば、下記のような箇所もテスト対象の範囲によってテストアイテムとなる場合があります。
- パーツ
- コンポーネント
- モジュール
- セクション
QAチーム内では、これらについて「テストアイテム」と伝えても内容は伝わると思います。
ですが、開発やディレクターなど、その他の関係者へ説明する際には「テストアイテム」と伝えても正確に伝わらない場合があります。
そのため、現場ではテストアイテムは他の言葉(共通言語)に置き換えて使用している事が多い、というのが実状になります。
テストケース、テストスイートとの関係性
テスト項目書をベースにイメージする場合は、以下のような区分をイメージすると分かり易いでしょう。
「テストアイテムとは」の章で解説した本サイトの問い合わせ画面を例にすると、テスト項目は下記のようになります。
対象が「お問い合わせ画面」となり、大項目部分には構成要素の一つである「■お名前」、つまりテストアイテムが入ります。
そして、テストアイテムの下には観点別で細分化した中項目と、さらに細分化した小項目があります。
今回の例では、テスト項目書は「テスト対象(画面名)」「テストアイテム(大項目)」「テストスイート(中/小項目・手順)」で構成され、1行ごとの項目をテストケースと呼ぶ事が出来ます。
まとめ
テストアイテムの概要は下記の通りとなります。
- テストアイテム
・テスト対象を構成する各要素のこと
・テストの対象や観点が変わると、テストアイテムの範囲も変化する
テストアイテムはテスト対象によって変化するため「これがテストアイテムです!」という明確なものとして説明することは難しく、使いどころが難しい単語になっています。
また、テスト業務でもなかなか使われない単語なので、テストアイテムという言葉を知らなくてもQA業務で困ることもないでしょう。
ですが、テスト対象とテストアイテムが区別できるようになれば、テスト項目書を作成する際の大きなヒントになりますので、スキルアップにも繋がります。
正しいテストアイテムの対象や範囲を意識することで、より良いテスト業務の実施を目指しましょう。