🎉

ソフトウェア評価 step1 テストにあたる前の心構え

2024/09/12に公開

どういった記事なのか

テストエンジニアとしてテスト設計・テスト実施管理等を行ってきた経験から、
ソフトウェア評価について記事をまとめていく予定

step1として、実際にテスト設計等を行う前の心構えをまとめている

どんな人間が書いているか

プログラマー歴10年ちょいの初心者
ITに関わった当初はテストエンジニア、その後プログラマー・SEに転身
C# -> php -> ruby とプログラム未経験から職場とともにメイン言語を渡り歩いてきた

ソフトウェア開発におけるバグの発生

  • ソフトウェア開発において、バグは避けられない現象
  • 「x行のコードを書くと1件のバグが含まれる」 という法則が存在する
    • 具体的には、平均的に 10から100行のコードに1件のバグが含まれる とされる
    • この統計はコードの品質や開発者の経験に依存するが、バグは小さなものから重大なものまで幅広く存在する

テスト設計の重要性

  • テスト設計は、ソフトウェア開発の成功に不可欠なプロセス
  • テスト設計の目的は、バグの早期発見と修正コストの削減にある
  • バグが発見されるタイミングが早ければ早いほど、修正にかかるコストとリスクは低減する

心構え

  1. バグを前提とした設計
    バグが発生することを前提に設計することで、テストの効果を最大限に引き出せる

  2. テスト実施者のスキルを問わない設計
    テスト手順を明確に簡潔に記載することで、誰がテストしたとしても同じ結果を確認できるようにする

  3. 網羅的なテストケースの作成
    すべてのシナリオをカバーするテストケースを設計することが重要であり、特に境界値や異常値のテストは不可欠

  4. テスト自動化の検討
    手動テストだけでは限界があるため、テスト自動化の導入で効率とカバレッジを向上させる

  5. 品質を最優先に
    ソフトウェアの品質はユーザーの信頼と満足度に直結するため、品質を第一に考え、テストを軽視しない姿勢が求められる

まとめ

  • コードの量が増えるほどバグの可能性は高くなるため、初期の設計から品質管理を意識する必要がある
  • バグはプロジェクトの進行を妨げる大きな要因だが、適切なテスト設計と実施でリスクを最小限に抑えられる

Discussion