51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 23601|回复: 35
打印 上一主题 下一主题

[讨论] 关于test oracle

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-10-25 17:06:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在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.
翻译一下就是:
这种方法――一种用来判断应用程序是否正确响应测试操作的方法--被称为测试准则。
欢迎大家发表意见。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-10-26 10:36:20 | 只看该作者
我看过一种翻译,是测试喻示的意思!

看上去很牵强的意思!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 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.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2004-11-4 16:25:47 | 只看该作者
同意楼主的!!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 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,
不好意思,这样总结下来,我还是找不到一个合适的词来说明它
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 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.”这句话当时翻译时也花了不少时间,总不能找到一个特别合适的说法。老外的很多描述翻译起来还是蛮有难度的,只能通过水平的不断提高来翻译的更准确了。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-11-9 17:39:23 | 只看该作者

不客气

大家共同提高。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2004-11-17 17:37:26 | 只看该作者
我觉得“测试准则”也不太准确。

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

使用道具 举报

该用户从未签到

9#
发表于 2004-12-28 18:18:59 | 只看该作者
Oracle的意思是“圣典”,所以test oracle是否就是测试规则、测试准则、测试原则之类的意思!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2004-12-29 16:58:11 | 只看该作者
oracle还有一种解释是:绝对可靠的指导。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2005-1-5 13:28:06 | 只看该作者

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

回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2005-1-5 13:29:03 | 只看该作者

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

回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2005-1-6 21:48:17 | 只看该作者
嗯,我现在也觉得测试指导比测试准则更贴切一些。^_^
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 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
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2005-1-15 11:07:21 | 只看该作者
感谢Kapok从学术角度对test oracle进行了解释,那根据你的意见,如果从中文表达上来说,把它翻译成什么更贴切一些,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

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


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

使用道具 举报

该用户从未签到

17#
发表于 2005-2-7 09:59:00 | 只看该作者
对于test oracle,Douglas Hoffman在他的一个slide中作了比较详细的说明(请看附件)。不过中文怎么译还需要好好琢磨琢磨。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2005-2-7 12:44:46 | 只看该作者
感谢xalee提供资料。^_^
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2006-3-1 09:50:48 | 只看该作者
我请教过一个朋友,她告诉我就翻译成测试的oracle,理解它的具体含义就可以了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-22 07:18 , Processed in 0.077885 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表