テスト品質①


テスト品質についてまとめていく
第5回までを予定

①テストとは
②品質とは
③代表的なテスト技法
④レビューについて
⑤テスト工程枚の確認ポイント

テストの概念について

テストとは?

要求通りにソフトウェアが機能するか確認する。
テストとしては、ソフトウェアの動作確認を指すことが多いが、
テストの計画や、テスト終了判定の検証、結果・プロセスの報告などもテストの一環。

何のため?

  • バグをできる限り見つける
  • 重要な部分の動作を保証する (バグが多い箇所やバグが許されない箇所)
  • バグの作りこみを予防する

テストの7原則

JSTQBが提唱するテストの原則
JSTQBは、世界的なテスト技術者資格を運営するISTQBの加盟組織。

テストは問題がある事しか示せない

どれだけテストしても、バグがないことは証明不可能。
あくもあでも、潜在するバグを見つける事が目的。

全数テストは不可能

入力パターンをすべて網羅することは、基本的に不可能。
例えば、9桁の数値(0〜9)を入力するシステムの入力パターンは、10^9=1兆となる。
さらに、この例は正常系しか含まれていない。
パターンに対し、バグの多さや発生時のリスクから、優先順位をつけて対象を絞る。

初期工程にてテスト

バグ対応は下流工程ほどコストが高い。
可能な限り初期でバグを検出を目指す。

欠陥の偏在

欠陥は特定のモジュールに集中する。
例えば、新人が対応した箇所に他よりバグが多かったり、
複雑な機能にバグが集中していたり等。
要件、機能、工程、スキル差などから傾向を分析できる。

殺虫剤のパラドクス

虫を殺す殺虫剤身も、使い続けると耐性により効果がなくなるように、
テストテンプレートを使い回しを続けていると、バグを検出し難くなる。
定期的なメンテやテスト内容の再評価は必要。

テストは条件次第

全く同じ製品でも、条件によって実施するテストは異なる。
個社への対応と、全社向け対応で同じレベルのテストはしない。
要求品質レベルがズレたまま製造が進まないように気を付ける。

バグ0の落とし穴

バグがないことは高品質ではない。
結果として、性能や利便性を犠牲にしていないか。