zhong_z82 发表于 2007-10-11 20:19:34

测试数据中的`“异常”和“错误”,“ERROR”和“FAIL”的区别

先解释测试中出现的“PASS”、“FAIL”、“ERROR”,实际上对于这些名词的定义要看处在什么应用环境中,如果是测试驱动开发中用到的三个“PASS”、“FAIL”、“ERROR”分别解释为:

PASS:测试驱动装置跟据用户定义测试程序在当前环境未发现软件BUG,即实际值等于期望值。
FAIL:测试驱动装置跟据用户定义测试程序在当前环境发现了软件BUG,即实际值不等于期望值,并且定位到BUG产生的所有涉及语句。
ERROR:测试驱动装置因为某些原因自身产生了问题,导致整个测试过程被中断。

参考例子:

1.PASS(JUnit测试):

..
Time: 0.01

OK (2 tests)

在JUnit中测试后,“.”代表一个测试方法,如果通过了就继续执行下去,例子显示两个测试方法全部PASS了。

2.FAIL(JUnit测试):

...F
Time: 0
There was 1 failure:
1) testOther(com.Fastpoint.Lamp.SignalLampTestCase)junit.framework.ComparisonFailure: expected:<...C> but was:<...>

FAILURES!!!
Tests run: 3, Failures: 1, Errors: 0

在JUnit中测试后,“.F”代表一个测试方法失败,例子显示三个测试方法中有一个FAIL了,并且可知在testOther方法中出现的,原因是期望值“ABC”和实际值“AB”不匹配。

3.ERROR(JUnit测试):

....E
Time: 0
There was 1 error:
1) testOther1(com.Fastpoint.Lamp.SignalLampTestCase)

FAILURES!!!
Tests run: 4, Failures: 0, Errors: 1

在JUnit中测试后,“.E”代表一个测试方法错误,例子显示三个测试方法中有一个ERROR了,并且造成了testOther1测试方法终止执行。

传统测试中一般会用到三个“PASS”、“FAIL”、“EXCEPTION”,即“PASS”代表测试用例通过且在当前环境设置下未发现系统问题,“FAIL”代表测试用例通过且在当前环境设置下发现系统问题,且可以定位重现。“EXCEPTION”分为两种解释,如果在是传统测试中,实际上该异常等价于这里的“ERROR”,如果是测试驱动中则表现为其他一种机制了.
页: [1]
查看完整版本: 测试数据中的`“异常”和“错误”,“ERROR”和“FAIL”的区别