|
先解释测试中出现的“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”,如果是测试驱动中则表现为其他一种机制了. |
|