【第2回】分類学とアブストラクト(抽象化)〜「思考の武器」をテスト・QAの現場に活かす〜

第1回では、AI時代に求められる思考力とは何かを問い直しながら、「抽象化」と「アナロジー」という武器の正体を解き明かしました。

分類学をアナロジーに、クジラとカバが実は親戚であるという驚きとともに、具体から本質を抜き出す面白さを感じてもらえたでしょうか。

今回はいよいよ実践編。抽象化とアナロジーを、テスト・QAの現場でどう使うか。テスト観点の洗い出し、同値分割法、状態遷移モデル、そして過去の不具合や競合製品からの類推まで、具体的な手法を通じて「考える力」を使いこなすヒントをお届けします。

抽象化をテストに活用する

抽象化は、具体的な仕様から本質的なテスト観点を抜き出し、体系的で漏れのないテストを効率的に設計するために活用することができます。

1. テスト観点の洗い出しと体系化

個別の機能仕様をそのままテストするだけでなく、それらに共通する「本質的な振る舞い」を抽象化してテスト観点を洗い出します。

例えば、「ユーザー登録画面」「商品購入画面」「問い合わせフォーム」など、入力フォームを持つ複数の画面があります。これらから「入力処理」という概念を抽象化し、「必須項目チェック」「文字数チェック」「型チェック(数値、メールアドレス形式など)」「禁止文字チェック」といった共通のテスト観点を導き出します。これにより、個別の画面ごとにゼロから観点を考える必要がなくなり、テストの抜け漏れを防ぐことができます。

2. テスト技法の適用(同値分割法・境界値分析)

テスト技法そのものが、抽象化の考え方に基づいていることもあります。

例えば、同値分割法を使って「18歳以上が利用可能」という仕様に対し、無数にある年齢の入力パターンを考えます。これを「17歳以下(無効)」「18歳以上(有効)」という2つの抽象的なグループ(同値クラス)に分けます。そして、各グループから代表的な値を一つずつ(例:10歳、25歳)選んでテストすることで、効率的に入力値の検証ができます。これは、具体的な値を「有効」「無効」という概念に抽象化する思考プロセスです。

3. テストモデルの作成

システムの振る舞いを、状態遷移図やデシジョンテーブルといった抽象的なモデルに落とし込むことで、複雑なロジックを網羅的にテストすることができます。

例えば、状態遷移図を使ってECサイトの注文ステータス(「注文受付」→「入金待ち」→「発送準備中」→「発送済み」→「完了」/「キャンセル」)を状態遷移図としてモデル化します。この図を基に、全ての状態と全ての遷移パターンをテストすることで、ロジックの抜け漏れや意図しない状態遷移がないかを確認できます。

アナロジーをテストに活用する

アナロジーは、過去の経験や他の類似システムから類推することで、仕様書には書かれていない潜在的な欠陥や、ユーザーが陥りやすい問題を発見するために活用されます。特に、アナロジーは経験ベースのテストで威力を発揮すると感じています。

1. 過去の不具合事例からの類推

過去のプロジェクトで発生した不具合は、アナロジーを使えばテストケースの宝庫になるかもしれません。

例えば、「以前開発したAというシステムの決済機能で、通信が途切れた際に二重課金される不具合があった。今回のBシステムも同じ決済代行会社を使っているから、同じような状況を再現するテストをしてみよう」と考えることは、過去の事例とのアナロジー(類推)によって、新たなテストケースを発想しています。

2. 類似製品や競合他社からの類推

続きを読むにはログインが必要です。
ご利用は無料ですので、ぜひご登録ください。

SHARE

  • facebook
  • twitter

SQRIPTER

北村 駿(きたむら しゅん)

記事一覧

元バンドマン・元バーテンダーのQAエンジニア。現在はとあるQA組織の内製化とQAテックリードを担いながら、ピープル・ワーク両面でマネジメントも奮闘中。

Xアカウント: https://x.com/max_qae
Zenn: https://zenn.dev/max_qae

RANKINGアクセスランキング
#TAGS人気のタグ
  • 新規登録/ログイン
  • 株式会社AGEST
NEWS最新のニュース

Sqriptsはシステム開発における品質(Quality)を中心に、エンジニアが”理解しやすい”Scriptに変換して情報発信するメディアです

  • 新規登録/ログイン
  • 株式会社AGEST