第287回: 「ALTAのテキストをつくろう」42 (ユースケーステスト/中編)
◀前の記事へ 次の記事へ▶︎
≡ はじめに
前回は、「3. テスト技法」の「3.2 ブラックボックステスト技法」の「3.2.7 ユースケーステスト」の前編として、「ユースケーステストの定義」について書きました。
コーバーンという人の「雲・凧・波・船・海・魚・泥・貝」の絵を紹介できて満足です。興味を持たれた方は、『ユースケース実践ガイド』をお読みください。絶版なので図書館で借りて読むといいと思います。
前回の復習は以下で模擬試験問題の確認を通して行います。
今回はJSTQBのALTAシラバスの「3.2.7 ユースケーステスト」の中編として、「ユースケーステストの適用、制限/注意事項」について書きます。
≡ 前回の復習
以下は前回出題したJSTQB ALTAの模擬試験問題を𝕏にポストした結果です。
投票の結果、選択肢4の「システムの導入で残業時間が削減されることのテスト」が86.2%と最も多く、正解も4です。
他の選択肢についてですが、1の「カーナビで道を外れたときの動作のテスト」は、カーナビの最終試験で、実車にテスト対象のカーナビを積んで市街地を走るシナリオテスト(ユースケーステストの王道)を思い浮かべられると思います。
そうされた方が多かったのか、誰も投票しませんでした。
「2. 期限切れのクレジットカードが使えないことのテスト」「3. 150円入力して150円の缶コーヒーを購入できることのテスト」となると徐々にシナリオ色が減り、3は単なる機能テストだよなあ……と選びにくくなっていきます。機能についてもその振る舞い記述があればユースケーステストを作ることができます。
そして正解の「4. システムの導入で残業時間が削減されることのテスト」。
なんとなく、コレはユースケーステストジャナイゾ感はあるものの、【ユースケーステストではないこと】を後輩に説明するのはやっかいだなと思われたんじゃないかと思います。前回で言えば、「雲・凧」といったビジネスレイヤーのユースケーステストに見えなくもないからです。
というふうにモヤっとしてもらうための問題なので、復習もモヤっとしたままとし、今回のnoteのテーマに移ります。
≡ ユースケーステストの適用、制限/注意事項
■ ユースケーステストの適用
JSTQBのALTAシラバスより該当箇所の全文を引用(太字筆者)します。
太字のところで、ちょっと気を付けてほしいことは、「コンポーネントテストにおけるユースケーステストの話はしていない」という点です。原文は、
そして、JSTQBの翻訳は以下です。
細かいですが、「コンポーネントまたはシステムの振る舞いが」は、「コンポーネントやシステムの振る舞いが」の方が良いと思います。
ここでいっているcomponentsは、複数形であることから分かるとおり、componentが複数ある大きなコンポーネントを表しているからです。
意訳をすれば、「あなたの組織ではコンポーネントと呼んだりシステムと呼んでいるものの振る舞いをテストするなら、統合テストでもユースケーステストをすることがあるよ」ということだと思いますので、「または」で対照させずに「や」とするほうが良いと思うからです。
■ ユースケーステストの制限/注意事項
ユースケースがあっても、全面的に信用しないようにと書いてあります。
そもそも要求は曖昧なものですから、それをテストベースにするユースケーステストはそのこと(ユースケースが、曖昧で抜け漏れの可能性が高いこと)を十分に承知して必要に応じて他のテスト技法と併用してくださいということです。
≡ JSTQB ALTA試験対策
いつものことですが、まずは、「学習の目的」を確認します。
「K4」なので「理解」して「適用」できるだけではなく「分析」まで求められる重要な項目ということです。試験問題には、ユースケーステストをつくることができるかどうか、あるいは、(定義が広いので)ユースケーステストではないものを選ばせる問題が出ると思います。
答えは次回に書きます。
≡ おわりに
今回は、「ユースケーステストの適用、制限/注意事項」がテーマでした。
曖昧なユースケースを対象とするテスト技法です。ユースケースに書かれていることだけをテストしても良いユースケーステストにならないことは肝に銘じておく必要があります。
ユースケース図からテストをつくるのではなく、ユースケース記述の記述からテストを作ります。そしてほとんどの場合、デシジョンテーブルを作成します。また、以前のnoteに書いたシナリオを補足する方法も有効です。
次回は、「3.2.7 ユースケーステスト」の後編として、「ユースケーステストのカバレッジ、検出できる欠陥の種類」について書きます。
この記事が気に入ったらサポートをしてみませんか?