第300回: 「ALTAのテキストをつくろう」54 (ビジネスドメインテストの品質特性)
◀前の記事へ 次の記事へ▶︎
≡ はじめに
前回は、JSTQBのALTAシラバスの「4. ソフトウェア品質特性のテスト」の「4.1 イントロダクション」について書きました。
ALTA連載の前々々回と前回の復習は以下で模擬試験問題の確認を通して行います。
そして、今回はJSTQBのALTAシラバスの「4. ソフトウェア品質特性のテスト」の「4.2 ビジネスドメインテストの品質特性」について書きます。
≡ 前回の復習
前回、復習する問題を間違えてしまったので、今回は2回分の説明をします。まずは、前々々回ポストした結果です。

投票の結果、選択肢4の「コスト」が52.6%と最も多く正解も4です。
ALTAを受験される人は、この、適用、制限/注意事項、カバレッジを列に、テスト技法を行にした一覧表を作って技法の特徴を答えられるようにしておくといいですよ。
さて、それでは、前回ポストした結果です。

投票の結果、選択肢4の「移植性」が42.4%と最も多かったのですが、正解は2の「信頼性」です。(33票ということは、1票3点ですので、1位と2位は、1票差ですね)
『テクニカルテストアナリスト シラバス』は2024/07/14に、v4.0版の日本語版が公開されました!
これで、「英語版しかないから読めない」と言えなくなってしまいました。いや、もちろん内容が良いのでおすすめです。
どうしても市販の書籍は入門書が多くなってしまいます(購入対象者の人数がけた違いに多いですから)。だから、ALTTAシラバスのような中〜上級者向けの情報がまとまっているドキュメントは本当にありがたいと思います。
JSTQBのALTTAを翻訳されたみなさん、ありがとうございます。🙇♂️
さて、ALTTAの目次から「信頼性」を確認してみましょう。

MTBF、MTTF、MTTRなど超基本的な話しか出てきませんが、計算問題とかでるのかもしれません。(ハードウェアの信頼性ではないのでMTBF等は当てになりませんし、メインフレームのソフトウェアの信頼性を求める機会は少なくなっていますので実務的な意味はないと思うけれど……。)
いずれにしても、問題に戻りますと、ISTQBがそのように分けているというだけです。
実務上はALTAとALTTAの両方の知識を使ってテストをつくっていくことになります。
復習は以上として、今回のnoteのテーマに移ります。
≡ ビジネスドメインテストの品質特性
JSTQBのALTAシラバスの「4.2 ビジネスドメインテストの品質特性」は、以下の導入に当たります。4.2.1から4.2.6まで、6つの項に分かれていますが、よく見ると機能性が3つの副特性に分かれているだけですので、実質は4つです。
4.2.1 機能正確性テスト
4.2.2 機能適切性テスト
4.2.3 機能完全性テスト
4.2.4 相互運用性テスト
4.2.5 使用性評価
4.2.6 移植性テスト
上に「機能性が3つの副特性に分かれている」と書きました。シラバスにも「テストアナリストは、主に機能適合性テストに重点を置く」と書いてあります。機能性重視です。
機能をリストして、そこにテストを当てるテスト設計技法は批判されることが多いです。
でも、それは「機能しか見ていないということはありませんか? それでは良いテストにはなりませんよ。」と初心者を脱してリーダーになろうという人に対する指導です。
「機能はテストで重要じゃないんだ~」と誤解してはいけません。お客様に価値を届けるとしたときの価値を具現化したものが機能なのですから、機能が大切なことは大前提です。
似た話に「品質特性からテストをつくるな!」もありますね。
いや、むしろ、「品質特性からテスト作って!」とアドバイスしたいです。 ← このテーマは、別途きちんと書いておくかなー。
とALTAのシラバスには、一般的なことが載っているのですが、一点押さえておきたいポイントがあるので、引用します。
アジャイルソフトウェア開発の機能適合性テストでは、通常、次のテストを含む。
・ 特定のイテレーションでの実装が計画されている特定の機能(ユーザーストーリーなど)のテスト
・ 変更していないすべての機能に対するリグレッションテスト
「イテレーション」は最近は「スプリント」ということの方が多いと思います。
厳密には、スプリントはスクラム開発でのイテレーションのことですが、同義語と考えてほぼ差し支えありません。アジャイルとスクラムがほぼ同義語だからです。← 炎上ネタ?
イテレーション(スプリント)とは、通常、数週間で「設計」「開発」「テスト」「改善」を1サイクル回すことを繰り返しながら開発を進めるときの1サイクルのことを言います。
≡ JSTQB ALTA試験対策
いつものことですが、まずは、「学習の目的」を確認します。
4.2の導入部分に対する学習の目的はなし
(4.2.1から4.2.6までK2、4.2.7はK4)
ということで「4.2 ビジネスドメインテストの品質特性」の導入部分は、試験にでません。(暗記の対象から外れます!)
(K2:理解、K3:適用、K4:分析)
《問題》
アジャイルソフトウェア開発の機能適合性テストでは、通常、どのようなテストをしますか? 正しいものを選びなさい。
1. 変更していないすべての機能に対するリグレッションテスト
2. 複数のイテレーションを通して実装されるユーザーストーリー
3. 使いやすさ
4. 信頼性
答えは次回に書きます。
≡ おわりに
今回は、「4.2 ビジネスドメインテストの品質特性」がテーマでした。機能適合性テストが大事という話でした。
次回は、機能適合性テストの3兄弟である、「4.2.1 機能正確性テスト」、「4.2.2 機能適切性テスト」、「4.2.3 機能完全性テスト」をまとめて解説します。一気に説明を受けないと正確性と適切性と完全性の違いについて混乱してしまうからです(私がそうでした!)。
