≡ はじめに
前回は「テスト設計のプロセス」の「ローレベルテストケースとハイレベルテストケースの長所と短所」について書きました。
前回の復習は以下で模擬試験問題の確認を通して行います。
今回はJSTQBのALTAシラバスの「1.4 テスト設計」のうちの「1.4.2 テストケースの設計」の前半(テストケースとは何か?)について書きます。
≡ 前回の復習
以下は前回出したJSTQB ALTAの模擬試験問題を𝕏にポストした結果です。
投票の結果、4が64.5%と最も多く、正解も4です。
ところで、正解者が多いといっても64.5%は微妙な値です。3分の2が66.7%であることを考えると、約1/3は不正解を選択しているからです。ということで、今回は解説をします。
まず、今回の問題は、「以下の選択肢で誤っているものを選びなさい」ですから、注意が必要です。ローレベルテストケースの特徴ではないものを選ばないといけないからです。
選択肢1の「経験が浅いテスト担当者に向いている」が不正解ということは「ローレベルテストケースは経験が浅いテスト担当者に向いている」という命題が正しいということになります。
ローレベルテストケースは、ハイレベルテストケースよりも詳細で具体的に書きますから、経験が浅いテスト担当者でも間違えずに、テスト設計者が期待した通りのテストを実行することができます。
選択肢2の「テスト自動化の実装に費やす時間を削減する」は、【実装】という個所がポイントです。
これが、「テスト自動化の全体に費やす時間を削減する」でしたら、変わらないか、かえってハイレベルテストケースで書いたテストケースの方が自動スクリプトをつくりやすいから、ローレベルテストケースをもとにして自動テストスクリプトをつくることは時間がかかると思います。
選択肢3の「(ローレベルテストケースは、)実行時にテスト担当者の創造力を制限する傾向にある」はローレベルになればなるほど、具体的なテストケースになるわけですから、テスト担当者が自由に決めることができる部分は減ります。
これを言い換えれば、「テスト担当者の創造力を制限する傾向にある」となりますから、この選択肢の主張は正しいので、問題の解答としては誤りということになります。
最後の選択肢4の「(ローレベルテストケースは、)テストの再現能力が低く検証を困難にする」は、全逆のことを言っていますので、こちらの選択肢が正解となります。
再現能力ついでに思い出したのですが、テストを実行してバグを見つけたときの「バグ票」に記載する再現手順は、できるだけ具体的に「ローテストケース」のように書きましょう。
以上で復習は終わりです。長かったー。
≡ テストケースとは何か?
ALTAシラバスの1.4.2では、「テストケースの設計」というタイトルで、テストケースのつくりかたについて丁寧に書いてあります。
ということで、今回の本題の「テストケースとは何か?」です。まず、シラバスを確認します。以下、要約したものです。(採番はシラバスの記載順です)
① 目的
② 事前条件(テスト環境、テストのリリース計画、実行前のシステムの状態)
③ テストデータ(入力値と、事前に設定する変数値)
④ 期待結果
⑤ 事後条件
たくさんありますが、大切なものは太字にした、「① 目的」、「③ テストデータ」、「④ 期待結果」の3点です。
ここで、用語集を確認してみます。
こちらも参照ということですので、「テストステップ」も調べます。(灰色のボタンを押すだけです)
一緒に覚えておきたいのは「テストプロシジャー」という用語です。こちらですが、昔は「テスト手順」と呼んでいたので、テストケース内の「アクション」と紛らわしいものでした。
用語集から抜き出しただけで、いまいちわかりにくいので表にしてみました。「アクション」というのは、「操作手順」のことですが、ハイレベルテストケースの場合や、わざわざ書かなくても期待通りのテストを実行するだろうという場合は書かないこともあります。
表にしても「事前条件の実行前のシステムの状況と、テストデータの事前に設定する変数値」の違いや、「期待結果と、事後条件の違い」などモヤっとしますよね。
「どちらかと言えば……」で使い分けるので良いと思っています。前に、テストプロシジャーをつくるときに事前条件・事後条件を使うと便利でした。
関係を整理してみます。
実は、ISO 29119ではテストプロシジャーが違う意味だったりします。
したがって、テスト管理ツールを自作する人でない限りは「まぁ適当に」といったところで、チーム内で意味が統一していれば良いと思います。正確な定義よりも、テストで検討すべき要素を明らかにすることが大切と思います。
≡ JSTQB ALTA試験対策
まず、テスト設計の「学習の目的」を確認します。
今回の範囲(1.4.2)については、TA-1.4.2を問う問題とします。K4なので、「分析」という深いレベルで使いこなせることを確認するテストとなります。
答えは次回に書きます。
≡ おわりに
今回は、「テストケースとは何か?」でした。
テストケース周りの用語は、まだ揺れがあるようです。
ただ、揺れがあるといっても、「ISTQBでは……」とか「ISO 29119では……」といった標準がどうなっているかを知ったうえで、自プロジェクトのテンプレートを決めると良いと思います。
今回、ALTAテキストの追記はありません。1.4.2についてはまとめて書きます。
次回は「1.4.2 テストケースの設計」の続きです。中編として、「期待結果」について書きたいと思っています。