第290回: 「ALTAのテキストをつくろう」45 (経験ベースのテスト技法)
◀前の記事へ 次の記事へ▶︎
≡ はじめに
前回は、「3. テスト技法」の「3.2 ブラックボックステスト技法」の「3.2.8 技法の組み合わせ」について書きました。
各テスト技法についてよく知り、技法を組み合わせることで良いテストを作っていくという話でした。
適用範囲が広く強力なテスト技法であるCFD法、つくることが難しい原因結果グラフ、作成までに手間のかかる状態遷移テスト、不具合を90%以上を見つけてくれそうなペアワイズテスト等々を実施すると達成感があります。
また、テストケース数も数百を超え、多くのバグも見つかりますので安心してしまいがちです。
ところが、そのようなテストを実施した後に、全くアプローチや見方が異なるテスト(例えば、ユースケースを用いたシナリオテスト)を実行すれば、また、違うタイプのバグが見つかるものです。
残念ながら1つのテスト技法で全てのバグを検出することは不可能です。そこで、テスト技法を組み合わせることによって、広く、クリティカルな(重篤な)バグを見つけ切ろうというのが「技法の組み合わせ」の主旨です。
前回の復習は以下で模擬試験問題の確認を通して行います。
今回はJSTQBのALTAシラバスの「3.3 経験ベースのテスト技法」について書きます。
≡ 前回の復習
以下は前回出題したJSTQB ALTAの模擬試験問題を𝕏にポストした結果です。
投票の結果、選択肢2の「各テスト技法を補い合うため」が88%と最も多く、正解も2です。投票数は48票とまずまずで、正解率が高いので問題ないと思います。
実務では、テストで見逃してしまった欠陥についてどういうテストをしたらよかったのだろうと1件1件深く分析をすることが大切です。
ところで、開発者に欠陥の分析を依頼すると(当たり前ですが)、「テストで見逃してしまった要因」ではなく、「どうしてこの欠陥を作り込んでしまったのだろうという作り込みの要因」について分析してくれます。
そもそも欠陥を作り込まなければ、テストでどんなに失敗しても(手を抜いても)お客様先で問題はでません。でも、テストのプロとしては、どのような重篤な欠陥を持つソフトウェアであっても、「優秀なあなたがうっかりして欠陥を作り込んでしまったとしても、逃さずに見つけるから安心して開発に専念して」と開発者に言いたいですよね。
さて、テスト技法を組み合わせるという話題ですが、今回から始まる「3.3 経験ベースのテスト技法」が終わった後に、ブラックボックステストに経験ベースのテストを加えることを想定し「3.4 最善の技法の適用」として再度話題に上ります。だから、前回の復習はこのくらいでいいかな。
それでは、今回のnoteのテーマに移ります。
≡ 経験ベースのテスト技法
JSTQBのALTAシラバスには、経験ベースのテスト技法の長所と短所が書かれています。まずは、そこをキッチリ抑えましょう。
■ 経験ベースのテスト技法の長所
シラバスの内容を引用します。
いったい、どんな経験を積んだらこんなスーパーマンになれるのでしょうか。
「人生3回目ですか?」、と、これは冗談ですが、上記リストを「経験ベースのテスト技法の長所」と呼んで良いのでしょうか。技法を習したら「そういうエンジニア」になるわけではなく、天才テスターの長所のような気がします。
閑話休題。シラバスの長所の例は本当か疑問が残ります。しかし、これを理解しているかどうかを確認する問題が試験にでる(と思います)ので、つまらないけど、ひとつずつ確認していきます。
稗田阿礼でもあるまいし……、人がドキュメント不足の代替になるはずがないと私は思います。
ドキュメントが不足していたら、開発部門に作るように働きかけて、それでも作らなかったら自分で作って間違っているかレビューしてもらい、以降は、それを正しいものとしてテストの期待結果に使うのが良いと思います。
シラバスのこの個所を書いた人、テストの目的を失念しているような気がします。きっとテストケースを書かないとかチャーターで代用することを想定しているのと思いますが、結構めちゃくちゃな話をしていると思います。
次いこ。次。
テスト対象物が価値を与える業務経験を持ってテストに臨むのは非常に良いことだと思います。業務に使ってみて初めて分かることもあります。
「経験ベースのテスト技法」と「テスト結果のフィードバックの速さ」は関係ないと思います。こちらは何を想定しているのかすら分かりませんでした。
こちらも、「経験ベースのテスト技法」とのつながりが分かりません。そんな気になるだけだと思いますし、テストをする前に作成するソフトウェアに関して熟知しておくことが大切と思います。
運用上の故障って何だろう。
経験ベースのテスト技法で分析できるとは? はて??
これが経験ベースのテスト技法の長所なのでしょうか?ブラックボックステスト技法の方が多様なテスト技法を適用できると思うのですが。
■ 経験ベースのテスト技法の短所
シラバスの内容を引用します。
「長所」のほうも、よくわからなかったけれど、「短所」については、本当に「ちょっと何言ってるか分かんない。」(富澤たけし)
「バグケチョンテスト」(松谷さんのYouTubeより)とかだと、こういう短所があるのかなあ?
少しでも記憶に残るようにひとつずつ確認しますね。
経験ベースのテストは、「経験」という暗黙知を使用するからドキュメント化には向かないということでしょうか。原文を確認します。
「不適切」は「inappropriate」の訳なのですね。inappropriate は、例えば、フォーマルな場にジーンズで行っちゃった的な「ふさわしくない」の不適切です。経験ベースで気が向くままテストをするのは、確かに銀行のシステムをテストするときにたくさんのテストスクリプトを残すような方法をとる場面では不適切で使いどころではない感じなのでしょう。一方で、銀行のシステムのテストにおいても経験を使ってテストケースを捻りだす場合もあると思うのですが。
どうやら、探索的テストのように、テストスクリプトを作らないタイプの経験ベースのテスト技法の話をされているようです。(違っていたらすみません)
ただ、テストスクリプトがあったら、高いレベルの再現性を達成できるかというと、そんなことはありません。
高いレベルの再現性がほしければ、動画を取っておくか、ペアテスト(二人組でテストを実施)をすればいいんじゃないでしょうか。
こちらは、シラバスのもう少し先のところに「カバレッジについていくつかのアイデアを提示するが、経験ベースのテスト技法には、公式なカバレッジ基準が存在しないことに注意する必要がある。」と書いてありますので、ALTAのテストに出やすいかもしれません。「モデルベーステストのようにカバレッジを体系的に定義できない」ということを言いたいのだと思います。
Testsをテストケースと訳していますが、テストケースを作らない探索的テストの話じゃなかったのかーい(笑)。
「テストは、その後の自動化にはあまり向いていない。」でもいいんじゃないかなあ。
❶~❸の「❶ テストドキュメントが作りにくいテスト」で、「❷ 再現性が低いテスト」で、「❸ テストカバレッジを求めにくいテスト」だから「➍ 自動化に適さない」と言いたいのかなと思いました。
ということで、一つずつ見ても私にはよくわからなかったので、今回は申し訳ありませんが、(ALTAの試験対策としては)暗記してください。
そんなに難しい問題は出ないと思うので、3回くらい読んでおけば十分と思います。
≡ JSTQB ALTA試験対策
いつものことですが、まずは、「学習の目的」を確認します。
「K2」なので「理解」できたらOKということです。
(K2:理解、K3:適用、K4:分析)
ということでそんなに難しい問題はでません。
答えは次回に書きます。
≡ おわりに
今回は、「経験ベースのテスト技法」がテーマでした。
類似したソフトウェアのテスト経験があるとないではテストの質が大きく変わります。
その一方で、製品は違うけど、そこだけ切り出せば似たようなものという見方もできます。
例えば、ゆもつよメソッドで使用している論理的機能構造図(下記図はこちらのページから引用しました。)まで抽象化してしまえば、どのようなテスト対象であっても当てはまります。
上記図に「論理的機能構造モデル」と書きましたが、テスト対象をある程度抽象化して捉えてきていたらその経験は新しい商品やサービスのテストでも役に立つはずです。
次回は、「3.3.1 エラー推測の定義」について書きます。
この記事が気に入ったらサポートをしてみませんか?