Shikata Ga Nai

Private? There is no such things.

第38回 機械的なテスト+手動テストのバランス感覚を身につける

Hello there, ('ω')ノ

自動テストと手動テストの特徴

✅ 自動テスト(ツール)

  • 短時間で広範囲チェック
  • 見落としが少ない
  • 同じ操作を何度も繰り返せる

代表例:

  • OWASP ZAP
  • Burp Suite(スキャナー機能)
  • SaaS型診断サービス

✅ 手動テスト(人の目)

  • 実際の業務フローを意識した柔軟なチェック
  • 自動ツールが気づかない細かい挙動まで確認可能
  • 攻撃者視点で操作できる

なぜ両方必要か?

  • 自動ツールは「型にハマった脆弱性」には強い
  • 手動テストは「ビジネスロジック」や「画面上の表現」など、人間にしか気づけない部分を補完

たとえば:

  • 管理画面がURL直接入力で見えてしまう → 手動テストでしか気づきにくい
  • HTTPヘッダーやパラメーター汚染 → 自動ツールで網羅チェックが有効

実際の進め方モデル

① 自動テスト → 広く浅くチェック

  • 対象URLやAPIを登録
  • 検出された項目を一覧化

② 手動テスト → 気になった部分を深掘り

  • 自動ツールで検出されたリスクを実際に再確認
  • ユーザー視点でフローをたどる
  • デザインや表記ミスによるセキュリティリスクを確認

社内向けおすすめチェック順序

  1. 自動ツールで全体スキャン(週1〜月1ペース)
  2. 手動テストは重要画面(ログイン・管理画面など)を重点的に(週次〜随時)
  3. 新機能リリース時は両方必ず実施

チェックリストまとめ

  • [ ] 自動ツールによるスキャン結果を最新化しているか?
  • [ ] 手動テストで実際の画面操作・入力チェックを行ったか?
  • [ ] 自動テストと手動テストの結果をまとめて開発担当へ報告したか?
  • [ ] 両方の結果を社内ナレッジとして蓄積しているか?

注意事項

  • 自動ツール任せにしすぎない
  • 手動テストだけでは見逃しが増えるため必ず両方実施
  • 社内ルールやガイドラインに沿って進めること

まとめ

  • 機械的なテスト=広く浅く
  • 手動テスト=狭く深く
  • 両方のバランスを意識することで、効率と精度を両立

Best regards, (^^ゞ