第312回: 「ALTAのテキストをつくろう」65 (テストツールの種類(後編))
◀前の記事へ 次の記事へ▶︎
≡ はじめに
前回は、JSTQBのALTAシラバスの「6. テストツールおよび自動化」の「6.3 テストツールの種類」の前半について書きました。
前回の要約は以下の通りです。
ALTAシラバスでは「テスト設計ツール」と「テストデータ準備ツール」と「テスト自動実行ツール」の3種がTA用の「テストツールの種類」として載っている。
前回の復習は以下で模擬試験問題の確認を通して行います。
今回はJSTQBのALTAシラバスの「6. テストツールおよび自動化」の「6.3 テストツールの種類」の後半について書きます。
≡ 前回の復習
以下は前回出題したJSTQB ALTAの模擬試験問題を𝕏にポストした結果です。

投票の結果、選択肢4の「テストマネジメントツール」が55.2%と最も多く、正解も4です。
この問題は問題文の「テストアナリストが主に使用する」を読み落とさないことがポイントかなと思います。
「テストアナリスト」という職種はISTQBで設定(定義)しているものなので、受験する人は「そうですか」と受け入れるしかない問題です。
だから間違っても「そうなんだー」でへっちゃらです。
これは、「テストマネジメントツールにテストアナリストが関わってよいし、多くの場合、積極的にかかわるほうが良いと私は思っているということです。ただ試験はそういうものじゃなく合格を目指すものだから。
復習は以上として、今回のnoteのテーマに移ります。
≡ テストツールの残り
前回は、「テスト設計ツール」について書きました。今回は残りの、「テストデータ準備ツール」と「テスト自動実行ツール」について書きます。
■ テストデータ準備ツール
ALTAシラバスで、どうして対象を「テストデータ」に絞っているのか理解できません。「テスト準備ツール」でいいんじゃないの?と思います。
私の経験では「テスト環境構築ツール(デプロイパイプラインの構築を含む)」や「バグ発生時のテスト環境、テスト対象情報の取得ツール」や「構成管理ツール」等々も、とてもテストの効率化に寄与しました。
ALTAシラバスですが、短いので要約しながら引用します。
テストデータ準備ツールには、次の利点がある。
● 要件ドキュメント、ソースコードなどのドキュメントを分析して、カバレッジのレベルを達成するために必要なテストデータを決定する。
● データセットを本番システムから取得し、個人情報の漏えいなど「セキュリティとデータプライバシーのリスク」にそなえ、データの内部的な整合性を維持しながら、選別または匿名化を実行して個人情報を削除できる。この機能は、現実的なデータを大量に必要とする場合に、特に重要となる。
● 特定の入力パラメーターのセットから合成テストデータを生成できる(例えば、ランダムテスト用)。これらのツールのいくつかは、データベース構造を分析して、テストアナリストから要求される入力が何かを判断する。
「テストデータ準備ツール」といいつつ、単なるデータ準備というよりも、テスト設計技術やITの知識を必要とするデータ準備を効率化するツールなのでテストアナリストの出番ということです。
2つ目の「●」のデータプライバシーのリスク回避のための匿名化は重要です。
特に日本では、個人情報保護法があります。
個人情報保護法の第2条第9項において「匿名加工情報は、特定の個人を識別できないように個人情報を加工して作成されるもの」と定義されている点を押さえておきましょう。
例えば、テスト実行用にお借りした顧客情報を、個人を特定できるような項目を削除・入替などの加工をすることで特定の個人を識別できないような形にし、しかも、もとの個人情報を復元できないようにしますが、この情報のことを「匿名加工情報」いいます
そして、個人情報保護法への対応のため、「個人情報の保護に関する法律についてのガイドライン(通則編)」の「2-12 匿名加工情報」を読んでおきましょう。以下に引用します。

自分でツールをつくらずに「匿名加工情報 ツール」あるいは「データマスキングツール」あたりでググって必要十分な機能を持つツールを探して使いましょう。
個人情報の流出はとても大きなリスクです。
万が一の時にテストアナリストが苦しい立場に追い込まれることのないように、少なくとも「必要なツールなので購入したい」と上司に相談してください。
似た用語に「仮名加工情報」があります。こちらは、「個人を特定できる情報を削除または置換して、他の情報と照合しない限り特定の個人を識別できないように加工した個人に関する情報」のことです。
社内利用を目的とした加工なので、「匿名加工情報」よりも条件が緩くなります。
(仮名加工情報の活用例: 購買履歴や移動履歴を使用してマーケティングの分析を実施する)
テストで使うデータは「匿名加工情報」にしてください。「仮名加工情報」だと流出時に問題となるからです。
■ テスト自動実行ツール
ALTAシラバスには、「テスト実行ツールを使用する目的」が5つ載っています。
● コスト削減のため(工数、時間)
● より多くのテストケースを実行するため
● 同じテストケースを多くの環境で実行するため
● テスト実行の再現性を向上するため
● 手動で実行できないテストケースを実行するため
(例:大規模なデータ妥当性確認テスト)
まとめると、6.1節の最初にでてくる「テストツールを使用すると、テストの効率性と正確性を大幅に改善できる」となるはずですが、、、。
正確性、、、どこいった?
シラバスには上記に加えて、いくつか追加の情報がありましたのでポイントだけ抜き出して箇条書きにします。
● テスト実行ツールの投資効果は、通常リグレッションテストを自動化したときに最高となる。
● 継続的インテグレーション環境で新しいビルドを評価するための自動化は、メンテナンスコストが高くなることもある。
● テスト実行ツールは、一般的にシステムテストおよび統合テストで使用する。
● 特にAPIテストツールなどの一部のツールは、コンポーネントテストでも使用することがある。
≡ JSTQB ALTA試験対策
いつものことですが、まずは、「学習の目的」を確認します。
6.2 キーワード駆動自動化
TA-6.2.1 (K3)特定のシナリオで、キーワード駆動テストプロジェクトでのテストアナリストの適切な活動を判断する 。
(K2:理解、K3:適用、K4:分析)
《問題》
継続的インテグレーション環境で新しいビルドを評価するための自動化テスト実行ツールについて正しいものを選びなさい
1. メンテナンスコストが高くなることもある
2. リグレッションテストにのみ効果がある
3. コンポーネントテストに限って使用する
4. システムテストに限って使用する
答えは次回に書きます。
≡ おわりに
今回は、「6. テストツールおよび自動化」の「6.3 テストツールの種類」(後半)がテーマでした。
今回の内容は「匿名加工情報」と「テスト自動実行ツールの目的とTIPS」でした。
さて、次回は「7. 参考文献」と「8. 付録A」について書きます。この連載の最終回となる予定です。
連載の開始日は2023年7月16日なので、1年半経ちました。
元々はALTAテキスト(パワポ)をつくるための連載だったのですが、パワポについては後回しになっています。つくらないといかんなあ。
