Uncategorized

じっくりわかる ソフトウェアのテスト技法

ハマトン

なぜ「テスト技法」を学ぶのか?

  • 思いつきテストでは抜け漏れが出やすい
  • 全ての条件で実施すると果てしない
  • テストの網羅性・効率を高めるために「設計」が重要
  • 現場でよく使われる代表的な6つの技法を紹介

テスト技法の全体マップ(今回紹介する6つ)

  • 同値分割法
  • 境界値分析法
  • 状態遷移テスト
  • ユースケーステスト
  • デシジョンテーブルテスト
  • ペアワイズテスト

同値分割法

  • 「同じグループ」として扱える入力をひとまとめに
  • 各グループから1つずつ代表値を選んでテストする
  • 同じグループのものは、同じ結果になることを前提にテストすることで、代表値以外のテストを省略する
  • テストケース数を減らしつつ、効率的にカバーできる

境界値分析法

  • 境界付近にバグが潜みやすいという経験則に基づく
  • 最大値・最小値・その前後をしっかりテストする
  • 数値入力などのテストに特に効果的

状態遷移テスト

  • システムの「状態」ごとに挙動をチェック
  • 特定の条件下で特定のイベントが発生した時、どう状態が変化するかを明確にする
  • UIやログイン状態など、状態を持つ機能で有効
  • 計測モードや校正モード等の複数のモードが存在する機器で有効

ユースケーステスト

  • 想定されるユーザーの操作の流れに沿ってテストする
  • 現場での利用状況を踏まえた確認ができる
  • ユーザー視点で抜けやすいパターンを見つけやすい

デシジョンテーブルテスト

  • 条件とその組み合わせを整理してテストする
  • 複数の条件下で特定の操作をしたときの出力結果を確認する
  • 複雑なロジック・仕様の整理に向いている
  • 漏れなく条件分岐をチェックしたいときに便利

ペアワイズテスト

  • 入力の「組み合わせ爆発」を防ぐための手法
  • すべてのペア(2項目の組)を網羅的にテスト
  • 少ないケース数で効率よく品質を担保

まとめと活用のヒント

  • テスト技法を使い分けることで設計力アップ
  • 実務では「複数の技法」を組み合わせて使うのがコツ
  • 最初は1つずつでもOK!徐々に慣れていこう

ABOUT ME
ハマトン
ハマトン
組み込みエンジニア
ものづくり企業の組み込みエンジニア
大学では電気関係の勉強をしていたが会社ではソフト開発をしている
もちろん何もわからない
しかし学ぶしかない
後輩にこんな思いをさせるわけにはいかない
そんなブログ。
記事URLをコピーしました