若手~中堅どころのQAエンジニアを主な対象としてきたこの「テストにまつわるエトセトラ」も今回で5回目となります。
これからもよりライトな文章を意識して、読んだ後には皆さんの引き出しが少し増えているような、そんな記事をポストしていければと思います。よろしくお願いします。
今回はメトリクスの話です。
皆さんは普段どんなメトリクスを使ってますか?
テスト関連のメトリクスといえば以下のようなものを耳にしたことがあると思います。
複雑度、凝集度、結合度、欠陥密度、LOC、PQ値、信頼度成長曲線・・・
なんだかアカデミックな雰囲気ですね。
複雑度とかPQ値とか理屈はわかるけど、いささかとっつきにくい感を持ってる人がほとんどじゃないでしょうか。
では以下はどうでしょう。
「予定していた消化項目数 - 実際の消化項目数」の値
今日100項目のテストを消化する予定だったけど実際は90項目だったという場合は、
「 100 – 90 」で 10 となります。
なんとも当たり前すぎて拍子抜けしちゃいますね。
簡単な引き算ですが、これも立派なメトリクスです。
メトリクスと聞くと何やらややこしい方法で収集したデータを難しい式に当てはめて算出した値で・・・みたいな印象を持ってしまいがちですが、端的にいうとメトリクスとは 『■■だから○○だ』 の 『■■』 を表す尺度です。
上記の「予定していた消化項目数 – 実際の消化項目数」という式で算出された値はテスト実施プロセスの進捗具合を示すことができます。
*あまり差がないから進捗は順調だね。
*大きくプラスだからこのままだと終わらないね。ヤバいね。
*すごいマイナスで進捗順調すぎるからバグ見落としてるかもよ。
こうして示された事を基に、テスターを増やしたり、テストケースを見直したり、次の手を打ってテストプロセスをコントロールすることができます。
というかもうすでに皆さんもやっているはずです。
ソフトウェア工学者のトム・デマルコはこう言っています。
「計測できないものは制御できない」
皆さんもいま携わっている業務を制御・管理しようとする時は、多かれ少なかれ必ずメトリクスを使用しています。
そうでないとすると本当に制御できているか疑った方がよいです。「推測するな、計測せよ」とはよく言ったもので、推測だけを基にして打った手はたいてい効果的ではありません。
以上、メトリクスは身近なものだし、皆さんもすでに使いこなしているはずだし、使ってないならまずは自分が理解できる範囲で計測することから始めましょうっていう話でした。
