软件测试Homework2

一、Fault、Error、Failure的区别

1. Fault:软件的静态缺陷,指导致系统失效的异常条件。

2.Error:不正确的内部状态,是一些故障的表现。Error是能导致Failure的系统内部状态。

3.Failure:预期行为出错或与外部状态描述不符。是指系统运行时出现的故障或者功能丧失。

 

二、Q&A

Q1:找到程序的fault?

程序1:循环条件出错,i>0会忽略数组中的第一个值,故应该为i>=0。

程序2:循环错误,程序为从前往后遍历,应改为从后往前遍历,即for(int i=x.length-1;i>=0;i--)。

 

Q2:设计一个未执行fault的测试用例?

程序1:x=null,y=2。

程序2:无论x是不是null,程序都会执行到i=0,所以没有用例可以不执行到fault。

 

Q3:执行fault,但没有触发error的测试用例?

程序1:x=[2,3,2,5],y=2,只要x中第一个元素不是唯一一个和y相等的元素。

程序2:当x为null时,执行fault且会抛出异常,但没有触发error。

 

Q4:触发error但未导致failure的测试用例?

程序1:x=[9],y=3,当x中只有唯一一个元素且不和y相等,触发error但不导致failure。

程序2:x=[0,1,2,3],y=3,当数组不为空,有唯一一个0或者没有0的情况,触发error但不导致failure。

 

posted @ 2018-03-11 21:23  Alyssa_young  阅读(106)  评论(0编辑  收藏  举报