tk80の日記

2006-10-22

最近テスト手法にフォーマル・メソッドの考え方を取り入れるのが流行りつつあるらしい。いわゆる「Model-based Testing」。

非常に興味ある分野である。

必要な議論は、「設計側の工程でどこまで保障して、検査工程で何を確認するか」と思う。しかし、ネットサーフィンで把握している範囲では、このような観点での研究はあまり見かけない。

どなたか、よいリファレンスを紹介していただけないでしょうか?

2006-10-09

仕事関係で下記のような話をしました。

相談者:「テストに関わるトレンドを調べ、参考にしたい。」

私:「まず、『自分たちはテストで何を検証したいか』を明確化した後に、『どのようなテスト方法があるか』を調べるべき」

日本人(あるいは日本企業)は、形から入る文化らしく、いきなり know-how から入るケースも少なくないと思う。しかしながら、テストに関しては、「何を検証したいか」=「テスト空間」の定義が重要であるはず。最近、色々と紹介されているテクニックは、テストの効率を上げて現実的な範囲で効果を出す手段を示唆してくれているに過ぎない。

テクニックだけで本質的な論点を見失えば、テスト作業を実施したが、何ら検証できていないという事態に陥る可能性もある。

「何を検証したいか」がアプリオリに定義されているとすれば、それは、設計(もしくは要求定義)にて、明確に把握されていることを示す。この考え方を突き詰めれば、フォーマルメソッドの目指すところとなろう。

よく言われることであるが、「Whatが重要なのであり、How はその次である」ということになると思う。これは、フォーマルメソッドの心であると思うが、「How」を重視する日本で、どの程度そのような考えが定着するのか...

2006-09-07

大学関係(偉い人)と話をしました。


偉い人いわく、工学系と理学系と、企業の立場でどちらを望むかと。


我々から見ると理系学生に対する期待は、一芸に秀でるということが重用だと思います。専門分野に対するこだわりは、学生のうちに身につけて欲しい。工学系でも理学系でもよいので...


社会人スキルとしては、「人と美味くやって行きながら結果に結びつける」ということ。でも、そこは大学に期待すべき内容ではないですね。


ソフトウェアの検証とは何か」というテーマにおける議論は、まだまだ、日本のアカデミックは弱いと思います。大学は人材供給の役割と技術供給の役割の両輪を、もっと深く考えて欲しい... という感想を持ちました。


偉そうなコメントですみません。

JuniorJunior2007/07/16 11:13http://8bea2928d3fce086e6bc56d19534cd55-t.zjdicn.org <a href="http://8bea2928d3fce086e6bc56d19534cd55-h.zjdicn.org">8bea2928d3fce086e6bc56d19534cd55</a> [url]http://8bea2928d3fce086e6bc56d19534cd55-b1.zjdicn.org[/url] [url=http://8bea2928d3fce086e6bc56d19534cd55-b2.zjdicn.org]8bea2928d3fce086e6bc56d19534cd55[/url] [u]http://8bea2928d3fce086e6bc56d19534cd55-b3.zjdicn.org[/u] 9b90290ebc5b707b8f998fd2e6478888

2006-09-05

最近、品質関係のセミナーに参加する機会があった。内容は統計の基礎的な考え方とその品質向上への応用について。  その心は「バラツキ」のコントロールである。製造におけるバラツキ、環境のバラツキ、経年劣化に起因するバラツキをコントロールすることが、品質管理の真髄であるとのこと。



たしかに、同じモノを大量に生産する製造業の場合には、統計的な手法によるコントロールが絶大なる効力を発揮するのはわかる。しかし、一品モノを大量(?)に扱うソフトウェア

の場合にはどうだろうか?



そういえば中心極限定理とか、そもそも大数の法則なるものがあったと思うが... 実学(ハウツーモノ)のセミナーでは当然そのような思想的(数学的な)背景の説明もなく、いきなり式と計算が出てくる。やはり分野が違うと応用も難しいことが実感できる。



と、感じるところも多く、個人的には有意義なセミナーであった。

2006-07-24

よさそうなグループ(このグループ Spec Verfication)を見つけて登録してみました。

検証という言葉英語では「Validation」とか、「Verification」とかありますが…

航空業界ソフトウェア開発では、両者が明確に区別されています。(DO178B)

「Validation」正しいモノを作ろうとしている。

「Verification」モノを正しく作ろうとしている。

つまり、与えられた仕様に対して正しいソフトウェア実装であることを確かめるのは「Verification」ですが、

仕様そのものが正しいことを確かめるのが「Validation」ということです。

Formal Method というと、「より上流の仕様」と「下流の詳細仕様」を Verification することのように思いますが、Validation には適用できるのでしょうか?