テスト工程では想定外をどれだけ潰せるかが重要です。
設計通りに動くか?だけでは不十分で、設計の抜けや弱さを見つけるのもテスト工程の重要な役割になります。
🚀 テスト工程で必要なこと(実務レベル)
① テスト観点の広さ(最重要)
優秀な人は“見る角度”が違います。
観点:
- 正常系
- 異常系
- 境界値
- 業務ルール
- データパターン
👉 壊れるパターンを想像できるか
② テストケースを“設計”する
ダメ:
- 適当に試す
良い:
- 意図を持って網羅する
例:
- 最小値 / 最大値
- null / 空
- 不正入力
👉 テストは設計そのもの
③ 期待結果を明確にする
NG:
- 「うまくいくこと」
OK:
- 「〇〇が表示される」
- 「エラーコードXXXが返る」
👉 判定できないテストは意味がない
④ 再現性を担保する
- 手順が明確
- 誰がやっても同じ結果
👉 再現できない=直せない
⑤ テストデータの質を上げる
- 正常データ
- 異常データ
- 境界データ
👉 データが甘いとテストは無意味
⑥ バグの“原因”まで追う
普通:
- バグを見つけて終わり
優秀:
- なぜ起きたか分析
- 再発防止を考える
👉 テストは改善活動
⑦ 影響範囲を考える(回帰テスト)
- 修正したら他も壊れていないか?
- 関連機能に影響ないか?
👉 バグは連鎖する
⑧ 非機能もテストする
見落としがちな重要ポイント👇
- パフォーマンス
- セキュリティ
- 同時アクセス
👉 「動く」だけでは不十分
⑨ テストしやすい設計を意識する
上級者はここまでやります。
- モジュール分割
- DI(依存性注入)
- テスト可能な構造
👉 テストは設計とセット
⑩ 正しく報告する
- 再現手順
- 発生条件
- 期待結果と実際
👉 修正の質が変わる
🧠 優秀なSEの思考
テスト中に考えていること👇
- どこが壊れやすい?
- 想定外は何?
- ユーザーはどう使う?
- この仕様は本当に正しい?
⚠️ よくある失敗
- 正常系だけで満足
- テストケースが雑
- 期待結果が曖昧
- データが偏っている
- バグを報告するだけ
👉 これでは品質は上がらない
🚀 一段上のレベル
上級者になると👇
- バグが出そうな箇所を予測できる
- テストで設計の欠陥を見抜く
- テストを自動化して品質を維持する
🔚 一言でまとめると
👉 優秀なSEのテスト =
「想定外を潰し、品質を保証する力」