ソフトウェアテストは測定行為か?(徒然なるままに妄想中)

こんばんは!あさこです。

ちょっと真面目な(?)エントリーを書いてみようと思い立ち...

仕事上でも、プライベートでも興味があって悩んでいる部分なので、残しておこうと思います。まだ、構想段階なので、結論は出ていません。

もやもやが残る内容です。自分の思考の前提を残した段階のものになります。

(続きは、また進捗あり次第書いていこう...)

 

 

導入

問題提起

品質メトリクス(不具合数)を予測する予測モデルをいろいろ検討していて、以前JaSSTTokyo2017では、ゴンペルツ曲線を骨組みに利用した予測モデルの発表を行いました。(ソフトウエア開発における誤り検出率を予測するモデルを対象とした発表です)

 

しかし、やはり、限界がありました。

 

最小二乗法を用いているため、中間ゴールで設定している部分に関しては、過去実績の数値を使用しているとは言え、logからの変換で予測モデルの数式を算出するため、実測との誤差が大きいのです。

誤差とはいいますが、ノイズではない。おそらく、この部分が信頼度成長曲線と呼ばれるモデルを利用した品質管理(?)の限界の一部になっているのではないかなぁ、と感覚で思っています。

であるならば。

実測値と感覚的に合うモデルを考えてみればいいじゃない!

 

考えていること

シミュレーションを行うときに、数学モデルとして、カルマンフィルタを使うことがあります。

カルマンフィルタは、 ガイダンス作成手法一つで、あらかじめ求めておいた予測式の係数直近の観測値用いて修正量を最適補正する方法

とあります。参考、以下のページ。

www.weblio.jp

 

品質メトリクスの「測定」を行って、ノイズを除去し、真値を推定する。

 

状態方程式とパラメータさえ定まれば、同じ理論が使えるのでは?と思って、試してみようと思い立ちました。

状態方程式内で、何をどう定義するか。そこは、また次回のエントリ内で触れていきたいと思います。(今時点での考えを書いた論文出てから...汗)

 

 測定とは

まず、「測定」という行為の定義です。

ここが一番定義に悩んでいます。

一応、考えてはいるのですが、本当にそれであっているのか。

まだ、しっかりとした自信があるわけではなく、あくまでも仮説を設定して、数学モデルを導出しています。

以下のサイトでは、このように記載してありました。

製造物の寸法を一定の基準(単位)に基づいて数値で表すことを意味します。端的に言えば、寸法の測定は測定したい対象物を基準物と比べることです。基準物となる測定機器は、測定の目的や方法、精度に応じて多種多様なものがそろっています。寸法を正しく測定することによって、製造物が求められる仕様(許容値)に当てはまっているかどうかを「検査」することが可能となります。つまり、測定を極めることは、より良い物づくりの基本にほかなりません。

 

www.keyence.co.jp

この定義は、「タグチメソッド」で使われる「システム」「ノイズ」などの考えからも逸脱していないので、これをもとに少し考えていこうと思います。

 

ソフトウェアテストは測定行為か

品質と測定

上記の測定の定義の中には、以下のように書いてありますね。

一定の基準(単位)に基づいて数値で表すこと。寸法の測定は測定したい対象物を基準物と比べること

 基準がありということは、測定方法が定まっており、基準物という「あるべき姿」と比較ができる状態にある、ということかなと思います。

ソフトウエアテストにおける基準、あるべき姿。

そして、測定するときに使用する「測定器」。これらは、何が該当するのでしょうか。

 

基準

測定という行為をテストやレビューとする場合。測定で得られる数値は品質メトリクスなので、基準は、得ようとしている対象物の測定後のメトリクスということでしょうか。

あるべき姿

あるべき姿と照らし合わせて測定をする。あるべき姿というのは、期待される結果、仕様ということになるかと思います。

 

測定器

測定をする「手段」なので、テストケースが該当するのでは?と考えています。

テストやレビューは、何のために行うのか?

「欠陥を摘出するため」と考えました。

欠陥を摘出する手段。その出力は、当然欠陥の件数も該当します。

とすると、このカルマンフィルタ内で考える「測定器」の部分に採用することができます。そうすると、ノイズとはなんだろう?ということにも言及する必要があります。

 

次回予告

もやもやしてきましたよね。読んでも、想像つかないですよね。

自分でも、まだ先があるなぁと思いながら、今の段階での自分の考えを残しておくつもりでかいているので、まとまりがなくて申し訳ないです。

悩みをまとめただけなので、次に書く機会があるときには、全体像を図と数式使って残したいなと思います。

その時には、以下にも触れていくつもりです。

  • 誤差論
  • ゴミ(ノイズ)をどうやって取り除くか

 

読んでくださった方がいたとしたら...感謝です。ありがとうございます!

もう、すでにこんなことは定義されているし、議論されていることなのかもしれません。まだ、自分が文献に出会えていないだけなのかもしれない。

なので、もしこんなのがあるよ~などの情報をお持ちの方がいましたら、ぜひ教えていただけるとうれしいです。

そんな状態ですが、興味のある方、ぜひディスカッションしてみませんか?

いないかな...^^;