Index: [Article Count Order] [Thread]

Date:  Wed, 12 Mar 2003 23:07:44 +0900
From:  "Y.Terada" <terada@....jp>
Subject:  [XP-jp:04206] Re: 浮動小数点演算や幾何演算のテスト
To:  extremeprogramming-jp@....jp
Message-Id:  <20030312224705.0482.TERADA@....jp>
In-Reply-To:  <000b01c2e88f$aa4410b0$0101a8c0@....nu>
References:  <20030312172823F.hiranabe@....jp> <000b01c2e88f$aa4410b0$0101a8c0@....nu>
X-Mail-Count: 04206

寺田です.

樋口さん:
> 今、力学シミュレータを作っているのですが、
> 何せ、「そもそもリアルタイムで動作する上に、
> 結果が数値的にどうなるのかわからない」:-)
> という状態なので、もっぱら目視判定になっちゃってます。
> うーん、よくないですねぇ。

やっぱりそうですよね.
でも,そういうプログラムでも,コード中に幾つかの assert 文を埋め込んでい
くことはある程度は可能ですよね.例えば,この値は正でなくてはおかしいとか,
この範囲に収まっていないとダメだ,などという程度なら.
実コードの内部に埋め込む assert 文は,

・private メソッドもテストできる
・関数内のローカル変数や private 変数にもアクセスできる
・関数の先頭/末尾だけでなく,計算の途中に埋め込むことが出来る

というユニットテストにはない特徴があります.この特徴は,力学シミュレータ
や幾何計算のようなプログラムのテスト(というより簡単なチェックに過ぎませ
んが)には必須なものではないかと感じています.この辺にユニットテストの限
界を感じます.


樋口さん:
> 精度保証付き計算とか区間演算と呼ばれています。
> これは結構メジャーなので
> (といっても、知ってるのは一部の研究者くらいのようですが)
> 検索すれば適当な資料が見つかるかと思います。

「区間演算」の名で聞いたことがありますが,特に詳しく調べたことはありませ
んでした.改めて聞くと,なかなか面白そうですね.
これを使えば,「期待通りの精度保証ができているか」という視点からしっかり
としたユニットテストが記述可能かもしれません.
少し調べて,実験してみようと思います.(← 暇があれば・・・)


樋口さん:
> あと、幾何的な構造から、幾何情報を崩さないようにするアプローチもあります。
> この本に詳しく書いてあります。(まだ、完全に読みきってませんが…)
> 培風館「計算幾何工学」杉原厚吉著
> ISBN4-563-03642-0
> こっちはかなりマイナーなようです。

あ,この本は持っています.私は実にいい本だと思いました.
# これってそんなにマイナーな本だったんですか.


以上です.

-- 
Y.Terada <terada@....jp>