62 テストの7原則 その②
テストの7原則「テストは欠陥があることしか示せない」
テストでは「完全無欠にバグがない」ということは示せない。
単純に何も起きなくても、実はそれはバグがあるルートを通っていないだけの可能性がある。
100個バグが見つかったからと言って101個目がないとは限らないし、101個みつけても102個目が眠っているかもしれないのだ。
ちなみに「欠陥」という言葉が出てきたけど、実はバグをあらわす言葉がISTQBでは4つほど存在するゾ。
エラー(誤り)
ISTQBで「エラー」と出てきたら「間違った結果を生み出す人間の行為」という意味。
ヒューマンエラーのほう。
超眠いときにコーディングしてミスるとか。
期日ぎりぎりで寝ないでコーディングして超眠くてミスるとか。
……眠くてミスった話しか書いてないですネ(ぉぃ
フォールト
マンガで出てきた「欠陥」がこれ。
ISTQBだとフォールト、欠陥、バグは同じ意味で扱われている。
ちなみに意味は「要求された機能をコンポーネントまたはシステムに果たせなくする、コンポーネントまたはシステム中の不備」。
ようはバグの埋め込みである。
超眠いときにコード書いてバグを埋め込んじゃったテヘペロ、なんてストーリーはよくあると思う。
(面倒くさく言うと「エラーによってプログラムにフォールトを埋め込み実装する」である)
故障
バグのあるプログラムを実行したときに、正しく実行できないことを「故障」と呼んでいる。
詳しく言うと「コンポーネント安ステムが、期待した機能、サービス、結果を提供できないこと」
バグが埋め込まれているからって全部故障するわけじゃないです。
バグが埋め込まれている場所が実行されて初めて故障するわけです。
インシデント
日本だと「不具合」とかいう場合が多い。
インシデントの意味は、ユーザーやテスターが期待する動きと実際の動きが一致しないこと。
「あれれ?なんか動き違わない?」
みたいなのがインシデント。
故障の場合もあれば、テスト環境の設定をミスって動かない、なんてこともあります。
悪魔の証明
この言葉の使い方が何個かあるみたいだけど、今この言葉が出てきたらだいたいが「ないことの証明」のお話である。
バグについて「絶対ない」証明は難しい。
といって
【えらい人】「バグはもうない?」
【あなた】「あるかもしれないし、ないかもしれない」
みたいなことを言っていると
「塞翁が馬みたいでかっこいいね」
と言われることはなく、ガチ怒られることは請け合いである。
なので…
「合意した確認範囲とテストケースにおいて、ユーザーに影響を与えるようなバグは見つかりません」
といった感じになる。
美味しんぼ
作者が見ていた美味しんぼは実はドラマバージョンばっかり。
アニメはうっすらと記憶があるけど、相当小さい頃なので記憶が薄い。
が。
富井副部長はなんとなく覚えているゾ!