第262回: 「ALTAのテキストをつくろう」22 (ブラックボックステスト技法)
◀前の記事へ 次の記事へ▶
≡ はじめに
前回は、「3. テスト技法」の「3.1 イントロダクション」について書きました。
前回の復習は以下で模擬試験問題の確認を通して行います。
今回はJSTQBのALTAシラバスの「3.2 ブラックボックステスト技法」について書きます。
ブラックボックステスト技法は、キャッチイメージの「コピーを取る動作」のように、「中で何をしているかコピー機の仕組みは知らないけど、コピーしたいものを置いて枚数をセットしてボタンを押したらどうなるかは知っている」といったように、“ソフトウェアの外から見た振る舞いを確認するテスト”を作るときに使用するテスト設計技法です。
ブラックボックステスト技法には、同値分割法や境界値分析などがあります。
≡ 前回の復習
以下は前回出題したJSTQB ALTAの模擬試験問題を𝕏にポストした結果です。
投票の結果、4の「最適なテスト技法の適用」が53.8%と最も多かったのですが、正解は1の「ホワイトボックステスト技法」です。
この問題は、「ALTAのテスト範囲」を確認するものです。
ALTAのシラバスどおりなので正答は1です。
さて、ここからは私見となりますが、「ALTAのテスト範囲」はISTQBが勝手に決めたものですので、どうでもいいといえば、どうでもよいことです。
なぜALTAにホワイトボックステスト技法や非機能のテスト(例えばパフォーマンステスト等)が入っていないのかと言えば、受託型の第三者検証会社の保護のためと私は思っており、それ以上の何かについては後付けの理由と思います。
実は、アドカレの最終日に書こうと思っていたIV&Vの話のテーマは、「(第三者がテストをすると)客観的な評価ができるから品質が上がると信じている人は考え直した方が良いですよ。」でした。
ALTAの資格試験を受けられる方は、試験範囲の学習をした方が良いですし、テストを受けられない方もISTQBやJSTQBのサイトから知りたい情報を得るために、どのシラバスに何が書いてあるかについて知っておいた方が良いと思い問題としました。
繰り返しになりますが、そういう役割分担や組織構成を私が支持しているわけではありません。
さて、復習は以上とし、今回のnoteのテーマである「ブラックボックステスト技法」に移ります。
≡ ブラックボックステスト技法
ALTAのシラバスに書いてあることは「状態遷移図やデシジョンテーブルなどのモデルをテスト技法にしたがってテスト設計時に作成する。
そして、テスト技法を使用してモデルからテスト条件を体系的に導き出す。」です。
■ ブラックボックステストのモデル作成タイミング
シラバスに「例えば、状態遷移図やデシジョンテーブルなどのモデルは、テスト技法に従ってテスト設計時に作成する」と書いてありますので、「デシジョンテーブルは開発者が設計書に書くのでは?」問題について、ISTQBでは「いいえ違います」と、立場をクリアにしています。
ブラックボックステストとは、
「要求仕様書をもとに「動作テスト」(behavioral test)を行うこと」
というのがバイザーの定義(『実践的プログラムテスト入門』より)です。
上記の書籍に書いてあるのですが、ブラックボックステストでは、ダーティテスト(dirty test, 否定的テスト=negative test)もします。
そこで、ダーティテストが行えるようなモデルである必要性からモデルの作成をテスト設計時に行うとしているのかもしれません。
ISTQBの用語集で確認します。
ISTQB用語集には対義語の「クリーンテスト(clean testing)/肯定的テスト(positive testing)」は載っていないようです。
■ ブラックボックステストを体系的に作成する
シラバスに書かれている後半の「テスト条件は、これらのモデルから体系的に導き出す」ですが、「テスト技法を適用してテスト条件を導出する際にカバレッジを考慮する」ということです。
テスト技法を適用するときには、「モデルに対して何をどの程度網羅するのか」を決定する必要があります。
≡ JSTQB ALTA試験対策
いつものことですが、まずは、「学習の目的」を確認します。
ブラックボックステスト技法そのものに対してはALTAの試験にはでないということです。(次回以降の個々のテスト技法に対しては「学習の目的」があります)
答えは次回に書きます。
≡ おわりに
今回は、「ブラックボックステスト技法」がテーマでした。
次回から、個々の技法に入っていきます。(前回の予告は間違っていました。)
まずは「テスト技法」の「3.2 ブラックボックステスト技法」の「3.2.1 同値分割法」です。