Main | June 2011 »

May 2011

28 May 2011

最初の話題は三角形問題

Myersの「ソフトウェア・テストの技法」は三角形問題を使った「第1章 自己診断テスト」で始まっています。このブログでも最初の話題はMyersに敬意を表して(?)三角形問題の歴史を取り上げます。

私はソフトウェアテスト・ヒストリー(ソフトウェアテストPRESS Vol.8)のコラム「三角形問題の歴史-三角形問題を使い始めたのは誰?」で、その当時いろいろ調べた結果から、

三角形問題の作成はHamming、テストケース作成の例題としての使用(の示唆)はGruenberger、テストに関する論文で使用したのはBrownが最初、実際にテストケース作成の例題として用いたのはMyersが最初ではないかと思われます。ただし、それ以前から、企業や大学の中では例題として使われていたと考えるのが自然ではないでしょうか。

と書きました。
ところが、昨年何かの調べものをしていたときに"Weinberg's Triangle Problem" と書いているWebサイトを見かけたのです。「うーん?? 何でMyersじゃないの?」と思い調べ始めました。
少し調べてみると、米国のテスト界の著名人達が以下のように書いていることが分かりました。

Cem Kaner (「基本から学ぶソフトウェアテスト」の著者)
  Gerald Weinberg's Triangle Problem has been in use since about 1969. Glen Myers published it in the first book on software testing, The Art of Software Testing, in 1979.
Bj Rollison (MicrosoftのTest Architect)
  Jerry Weinberg's venerable triangle problem has been around since 1966 and was popularized in Glenford Myers' book The Art of Software Testing.
Michael Bolton (米国のテストコンサルタント、JaSST'11のCopelandの基調講演で名前があげられていました)
  The test itself was developed by Jerry Weinberg or Glen Myers or (I think) Harlan Mills, who were working with IBM at the time.

どうも、Weinbergが1966年か1969年あたりに三角形問題を使って何か書いていそうです。私がコラムで書いたHammingの三角形問題は1972年出版の書籍なのでそれを逆上ります(何としても調べなければ!)。
更に調査を続け、遂に決定的な記事を見つけました。
それは、Danny R. Faughtの2001年10月のNewsletterの中にありました。
ちなみに、このFaughtという人はcomp.software.testing メーリングリストでFAQのまとめをしていたことで知られています。現在のFAQはここで読めます。また、電通大のにし先生さんが以前翻訳されたものがここでまだ読めるようです。

話を戻します。

FaughtはTejas Software Consulting Newsletter, September 2001でMyersのThe Art of Software Testingを再読した書評を書いたのですが、それに対してWeinbergからコメントがあったことをNewsletter, October 2001で次のように書いています。

My book review of The Art of Software Testing by Glenford Myers drew a few comments. Jerry Weinberg writes:
Nice issue.  Very useful.
BTW, you may or may not know that I was the originator of the triangle problem that Myers used.

何と、Weinberg自ら「Myersが使った三角形問題は私が発案者だよ」と言っているではないですか! そして、続けて1966年か1970年に出版したPL/Iの書籍に書いた筈だと言っています。

Jerry indicated that he thinks that he published the triangle problem in PL/I Programming - A Manual of Style (1970) or PL/I Programming Primer (1966). He went on to say,
I used it for many years before this at the IBM Systems Research Institute, where Glen taught after me. Perhaps he picked it up there, or from the book, or perhaps reinvented it.
Thank you, Jerry - fascinating history. I happened across a reference to the triangle problem in Fred Gruenberger's paper "Program Testing: The Historical Perspective," in the 1973 book Program Test Methods. So now let's find some PL/I books to trace it back further.

FaughtはWeinbergが三角形問題を書いたというPL/Iの本を探してみようと書いていますが、その後のNewsletterではそれらしき記事はありませんでした。
私はどうしても1966年なのか1970年なのか決着をつけたく、2冊の書籍を何とか入手して調べました。

Pli_programming_primer Pli_programming

2冊の書籍を隅から隅まで調べたところ、三角形問題は1970年のPL/I Programming - A Manual of Styleに書かれていることが分かりました。PL/Iの配列(array)の使い方を、三角形の種類を分類するプログラムを例にして説明しています。そして、後のテストの章で、このプログラムに対するテストケースを考えさせる設問がありました。

以上のことが分かりましたので、私がコラム「三角形問題の歴史-三角形問題を使い始めたのは誰?」で書いたことはお詫びして訂正させていただきます。m(_ _)m

|

22 May 2011

ブログ開始

ソフトウェアのテストや品質に関して調べたことを情報提供するWebサイトを立ち上げたいとずっと思っていたのですが中々手が着きませんでした。年明けに今年こそは着手しようと決意したのですが、3月納期の仕事のため時間がとれなかったり、その後に震災が発生して気持ちの余裕がなくなったりで、着手が遅れていました。
4月中旬になってようやくブログの立ち上げの勉強(と言ってもココログを利用することにしたので見よう見まねでできました)を始め、ゴールデンウィークの間にブログのデザインや公開する情報の作成を行いました。デザインや公開方法などに凝りすぎた(実はこれが楽しいのですが)ので公開するまでに更に時間がかかってしまいました。

ブログの名前は"A Lifelong Software Tester's Blog"(生涯一テスター)としました。プロ野球の野村克也さんの「生涯一捕手」をもじりましたが、そもそもは何事も生きているうちは勉強という意味の禅の言葉である「生涯一書生」だそうです。英語表記は、インターネットで検索して生涯一捕手が"a lifelong catcher"と訳されていたのを見つけたので、それにならいました。

このブログでは、ソフトウェアのテスト技術や品質技術の歴史について調べたことを中心に書いていくつもりですが、昔から日記を書くようなことが続いたことはないのでいつまで続くかはわかりません。取り敢えず、気が向いたら書くということにしておきます。

まずは、公開したかった情報を右のサイドバーのWeb Pagesに置きましたのでご覧ください。

|

Main | June 2011 »