テストオラクルの用語定義
テストオラクルが分かっていなかったのでメモ。
Oracleがなぜこんなところで出てくる?と勘違いしていた。
【参考】
テストオラクル(てすとおらくる):情報システム用語事典 - ITmedia エンタープライズ
JSTQB-ALのお勉強(2周目) ─ 2.1~2.4 - ソフトウェアの品質を学びまくる2.0
テストオラクルとは何か - ソフトウェアの品質を学びまくる2.0
A source to determine an expected result to compare with the actual result of the system under test.
テストオラクルとは「ソフトウェアテストの正しさや妥当さを判断する根拠となるもののこと。テストケースやテスト項目、あるいはその出処をいう。」
下記の例がわかりやすい。
(引用開始)
テストオラクルになる情報元
「記載例の通り、入力値の積を出力する。例:1*1=1、1*2=2、1*3=3 … 9*9=81」
テストオラクルにならない情報元
「入力値の積を出力する。」
(引用修了)
テストオラクルという概念が必要になってくるケースは、テスト設計ツールやテスト管理ツールだろう。
テスト設計ツールに投入するテストケースの発生源がテストオラクルになる。
たとえば、テスト設計ツールに投入するテストケースは、仕様書や業務マニュアル、ドメイン知識を元に具体的に作られる。
あるいは、「回帰テストの“前回は通った”ことを保証するテストスイートはテストオラクルといえる」だろう。
特に、ツールを使ってテストケースを再利用したい場合にテストオラクルという概念が必要になってくるのではないか。
なぜなら、ツールに投入されたテストケースを管理していくと、発生源となる仕様や要件がわからなくなる場合があるからだろう。
すると、テストオラクルという概念は、テストケースと要件をリンクさせるトレーサビリティの役割を担っているとも言えるのではないか。
TestLinkでも要件カバレッジの機能があったので、最終的には、テスト管理ツールの中に要件管理機能も含まれて、テストケースと要件のトレーサビリティを実現するような機能が埋め込まれることになるのだろうと想像した。
| 固定リンク
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
コメント