品質

検出と検知

こんにちは。Qaidの松浦です。

モノを見つけた時、みなさんはどんな言葉を使いますか?

  • コーヒーが美味しい喫茶店を探しだした
  • インスタ映えする撮影スポットを発見した 
  • 約束を破っていることが発覚した
  • 煙を検知した

上述のように、モノを見つけた時に使う言葉には色々な言葉があり、状況に応じて使い分けていますが、違いが説明できますか?

上述の例で一つ言えるのは、喫茶店のケースだけ「自ら積極的に見つけた」ニュアンスが含まれていることです。煙の例も仕組みを用いて見つけ出していますが、どちらかというと待ち構えていて見つけたらお知らせするという「受け身な対応」であって、「積極的に煙を見つけに行く」という感じではありません。

品質の世界ではバグを見つけた時、この「積極的かどうか」が非常に大切になります。

製品をリリースした後に見つけたバグは、積極的に見つけたワケではないのでネガティブなバグとなりますが、製品をリリースする前に積極的に見つけに行って見つけたバグではポジティブなバグになり得ます。この場合「バグを検出した」という言葉を使います。

ネットで調べると、そもそも「検出」という言葉がマッチするためには以下の流れがあるそうです。

  • 隠れているトコロから見つけ出すことを前提に調べる(調べるということが大事!)
  • その上で予想通り見つかる

例えば、以下のように「バグを検出できている」場合は、お客様に提供する前に、作戦通りに品質の向上ができているので、ネガティブに考える必要はありません。

  • 排他処理のバグを見つけるために結合テストを実施して、予想通り排他処理のバグを複数「検出」した
  • 新人が担当した機能について従来の2倍のデーターバリエーションテストを実施した結果、別の担当の1.5倍のバグ密度になった
  • 長時間の走行テストを実行したら、短時間のテストでは見つけることができなかったメモリリークが見つけた

ソフトウェアのバグは上流工程で潰したほうがコスト的に有利なので、下流工程であるテスト工程でのバグは少ない方が良いのですが、ここで言いたいのは「バグを多く検出した」=「ネガティブ」ではないことは意識しておいて欲しい、ということです。

仕事をうまく成功させるためには作戦が必要ですので、作戦通りにバグを検出することはむしろポジティブに考えて良いのです。

バグを、「検知」でも「発覚」でも「発見」でもなく検出するために、企画~リリースまでのどの工程でどんな作戦を講じれば良いのか、一緒に考えて行きましょう。

まずは、開発計画段階で、バグを「どの工程で」「どのくらい」「検出」する想定なのかという「根拠のある品質目標」を立案する必要があります。

その方法について知りたい方は、お気軽にご相談ください。