skinapi 发表于 2004-10-25 17:06:41

关于test oracle

在MSN上有位测友问到test oracle怎么解释,我的理解是测试准则。在一篇文章中看到如下的说明:
This method—a function that determines if the application has behaved correctly in response to a test action—is called a test oracle.
翻译一下就是:
这种方法――一种用来判断应用程序是否正确响应测试操作的方法--被称为测试准则。
欢迎大家发表意见。

ayong401 发表于 2004-10-26 10:36:20

我看过一种翻译,是测试喻示的意思!

看上去很牵强的意思!

binary 发表于 2004-10-26 13:51:51

偶还以为是“如何测试Oracle数据库”呢

赶紧进来学习,呵呵

按照 http://www.rbsc.com/pages/OraclePatternList.htm 里面的说法,skinapi 所说的“测试准则”似乎更准确一些

A test oracle is a source of expected results for a test case.

依伊卜舍 发表于 2004-11-4 16:25:47

同意楼主的!!

jody 发表于 2004-11-4 18:23:42

略有看法

先不管测试标准是否准确,请看这句话的翻译:
“这种方法――一种用来判断应用程序是否正确响应测试操作的方法--被称为测试准则”

1、方法不可能是准则的;
2、method 可以是fuction,但与准则是不一样的,也就是说fucion也不能是准则
methond 可以=fuction但是不能=准则
3、再看看这句“A test oracle is a source of expected results for a test case”,这说明,它是测试准则的source,而不是resource,
不好意思,这样总结下来,我还是找不到一个合适的词来说明它

skinapi 发表于 2004-11-4 21:20:51

感谢jody。
“This method—a function that determines if the application has behaved correctly in response to a test action—is called a test oracle.”这句话当时翻译时也花了不少时间,总不能找到一个特别合适的说法。老外的很多描述翻译起来还是蛮有难度的,只能通过水平的不断提高来翻译的更准确了。

jody 发表于 2004-11-9 17:39:23

不客气

大家共同提高。

xalee 发表于 2004-11-17 17:37:26

我觉得“测试准则”也不太准确。

我个人的理解是:
测试是一种对于被测软件的预测,测试是一种预测通过什么样的动作被测软件会产生什么样的行为的方法。
所以是不是可以翻译为“测试预测”?

shuzhongbo 发表于 2004-12-28 18:18:59

Oracle的意思是“圣典”,所以test oracle是否就是测试规则、测试准则、测试原则之类的意思!

LittleBird 发表于 2004-12-29 16:58:11

oracle还有一种解释是:绝对可靠的指导。

juery 发表于 2005-1-5 13:28:06

我觉得翻译成测试指导也比较合理,测试准则不太准确了。

juery 发表于 2005-1-5 13:29:03

我觉得翻译成测试指导也比较合理,测试准则不太准确了。

skinapi 发表于 2005-1-6 21:48:17

嗯,我现在也觉得测试指导比测试准则更贴切一些。^_^

Kapok 发表于 2005-1-13 22:19:51

Originally posted by skinapi at 25-10-2004 17:06:
在MSN上有位测友问到test oracle怎么解释,我的理解是测试准则。在一篇文章中看到如下的说明:
This method—a function that determines if the application has behaved correctly in response to a test act ...

关于testing oracle 在学术界有严格的定义 (当然也有争议)
oracle是对一个程序的formal specification
当给出一个test case 这个specification必须能计算出一个definite value

譬如 对程序P 有一个函数F作为它的specification
对于一个test case t
如果F(t)=d 那d就是用于判断P是否通过t测试的oracle
因为如果用t来运行P 如果结果也等于d 就说明P能通过t测试 如果结果不等于d 就说明P中有一个fault

我觉得“准则”这个词含义好像有点模糊 一些user requirement也能叫做准则 一些设计或编程规范是不是也能叫做准则
而oracle的定义必须是形式化(formal)的 也就是能够通过数学方法来证明的

有一些testing without an oracle或者又称non-testable software的例子
譬如计算sin() cos()之类的numerical program
sin30=0.5大家都知道 但是sin31=?
如果没有一个确定的值来判断程序运算结果是否正确 就是没有oracle

skinapi 发表于 2005-1-15 11:07:21

感谢Kapok从学术角度对test oracle进行了解释,那根据你的意见,如果从中文表达上来说,把它翻译成什么更贴切一些,谢谢!

Kapok 发表于 2005-1-16 17:48:53

Originally posted by skinapi at 15-1-2005 11:07:
感谢Kapok从学术角度对test oracle进行了解释,那根据你的意见,如果从中文表达上来说,把它翻译成什么更贴切一些,谢谢!

赫赫 其实翻译真的很难说
我觉得专有名词的翻译就跟protocol一样
必须大家都认同 不然真的不知道什么意思
我老板上课时把它解释成“毛主席的话” 比较有意思

xalee 发表于 2005-2-7 09:59:00

对于test oracle,Douglas Hoffman在他的一个slide中作了比较详细的说明(请看附件)。不过中文怎么译还需要好好琢磨琢磨。

skinapi 发表于 2005-2-7 12:44:46

感谢xalee提供资料。^_^

brilliantking 发表于 2006-2-25 11:20:17

我对test oracle的理解。

上面提到了test oracle的几种解释:
1.
This method—a function that determines if the application has behaved correctly in response to a test action—is called a test oracle.

2.
A test oracle is a source of expected results for a test case.

3.
oracle是对一个程序的formal specification
当给出一个test case 这个specification必须能计算出一个definite value

譬如 对程序P 有一个函数F作为它的specification
对于一个test case t
如果F(t)=d 那d就是用于判断P是否通过t测试的oracle
因为如果用t来运行P 如果结果也等于d 就说明P能通过t测试 如果结果不等于d 就说明P中有一个fault

4.xalee提供的资料中提到:
What a Test Oracle Is
Two slightly different views on the
meaning of the term:
– Reference Function: You ask it what the
“correct” answer is.
(It tells you the expected result.)
– Reference and Evaluation Function: You
ask it if the program passed the test.
(It tells you if the actual result is OK.)

对比以上各种解释,我觉得oracle是一种用来判定程序是否通过测试的函数,所以test oracle 可以译成“测试判定函数”。
可能有断章取意之嫌,请高手指正!:p

[ 本帖最后由 brilliantking 于 2006-2-25 11:21 编辑 ]

harold_zou 发表于 2006-3-1 09:50:48

我请教过一个朋友,她告诉我就翻译成测试的oracle,理解它的具体含义就可以了
页: [1] 2
查看完整版本: 关于test oracle