BLOGTIMES
2012/10/17

テストとオラクル

  softwareengineering  testing 
このエントリーをはてなブックマークに追加

ソフトウェアテスト技法―自動化、品質保証、そしてバグの未然防止のために

始めに断っておくとデータベースの Oracle とは全く関係がありません。
最近ソフトウェアテストの英語文献を読んでいたら、テストケースを生成する仕組みのようなものをオラクル (Oracle) と説明しているものがあって、その部分の意味が取れずにちょっと戸惑っていたのですが、ソフトウェアテストに関するテクニカルタームだったというオチでした。

今日、カタカナで始めてググってみたのですが、一番始めにヒットする「テストオラクル - @IT情報マネジメント用語事典」の内容を確認してみると、参考文献に昔読んだバイザーのソフトウェアテスト技法が挙げられていました。慌てて本の内容を確認してみたら、p.19 に下記のような解説が載っていました。

ボーリス バイザー(著), 小野間 彰 (訳), 山浦 恒央 (訳), "ソフトウェアテスト技法," 日経BPマーケティング, p.19, Feb. 1994.

オラクル(HOWD78B)とは、テストの予想出力を設定するプログラム、プロセス、あるいは、データ本体をいう。テストと同じ数だけの異なった種類のオラクルが存在する。もっとも普通のオラクルは、入出力オラクルであり、特定の入力に対して期待された出力を指定するものである。単にオラクルという場合には、入出力オラクルを意味する。その他のオラクルについては用語一覧に示してあり、必要に応じて紹介する。

期待結果そのものもしくは、期待結果をもらたす仕組みをオラクルと呼ぶんですね。テストケースよりはちょっと広い概念でしょうか。文中のリファレンスが1978年になっているので、古くから使われている専門用語なんですね。恥ずかしながら今日まで知りませんでした。ソフトウェアそのものを実行せずに結果を知ることができるからオラクル(=神託)という解釈でいいんでしょうか。宗教観の薄い自分にとっては、例えばチューリングマシンにおけるオラクルマシンとか、perl の bless とかは比喩としてはとてもわかりにくく感じるのですが、キリスト教圏では分かりやすいんですかね。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/5300
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン