事前にテストケースを作成せずに行う探索的テストで効率よくバグを見つけるコツをまとめる。

データ系

  • データを変更・削除する
  • 矛盾したデータを使う
    • ファイル名の拡張子と中身の矛盾
    • 設定値と中身の矛盾
      • 文字コード
      • 言語
  • 異常値を使う
    • 一般
      • null
      • 空データ
      • 巨大データ
      • 大量データ
      • 重複データ
      • 論理削除済みデータ
      • 物理削除済みデータ
    • 文字列
      • 空文字
      • 空白
      • 不可視文字
      • 特殊文字
      • インジェクション
    • 数値
      • 0
      • 負数
      • 小数
      • 巨大数
  • 過去に発生したバグと同じデータを使う

操作系

  • 短時間で連続実行する
  • 同時実行する
    • 同じ操作
    • 矛盾した操作
  • 想定されているフローに沿わない操作をする
    • 途中でやめる
    • 前のステップに戻る
    • 同じステップを繰り返す
    • ステップをスキップする
  • 異常環境で実行する
    • CPU高使用率
    • メモリ高使用率
    • ストレージ不足
    • ネットワーク低速
    • ネットワークオフライン
  • 別の操作を挟む
    • 入力、削除、入力とする
    • エラーを表示させてから普通の操作をする
  • 過去に発生したバグと同じ操作をする