Functional Test(功能测试)
Functional Test(功能测试)
1、 测试方法分类
边界测试
等价类测试
基于决策表的测试
另:测试应重视测试用例的效率
2、边界测试
分四种测试强度:正常边界值,健壮性测试,最坏情况测试,健壮最坏情况测试。
边界值:有效输入区域的边界
五个值。
单缺陷假设是认为失效仅由一个变量导致从而进行以下测试用例设计的前提条件。
测试用例如图:(仅考虑有效值的输入)
每个变量分别需要4个边界值,加上共同的一个正常值。一共是4n+1.
健壮性测试:
同样的,每个变量需要六个边界值,加上一个共同的正常值,一共是6n+1.
以上测试用例设计都是基于单缺陷假设的。
最坏情况测试:
也分为非健壮性和健壮性测试:
非健壮性:每个变量有五个取值(四个边界值加上一个正常值)。n个变量进行笛卡尔积得到5^n.
健壮性:同理可得,7^n。
另外,还有随机测试。
3、等价类测试
等价类的划分:
弱一般等价类:(依据单缺陷假设?好像也不对吧,反正肯定不是多缺陷假设)
总之,只要沿着xy轴中较长的一边,一个区间取一个就好了。
强一般等价类:
弱健壮等价类:
上图中,只有黑点是属于需要的测试用例。至于红点,那相当于是两个变量测试了,不属于单缺陷假设测试。
而多取的四个黑点都属于单缺陷,因为每个黑点都是有一个变量属于正常值,而另一个属于无效值。这才是单缺陷测试。
下面举例说明弱强一般健壮各种等价类的差别:
注意:这里强一般等价类其实与弱一般等价类相同,那是因为虽然有三个输入边长变量,但是等价类划分是根据三角形类别进行分类的,所以从这个角度看,其实可以看成只有一个变量,那就是输出三角形类型。
但是健壮性就不一样了,因为健壮性考虑的是输入的无效值,那必须从边长入手。
(个人见解)
突然有新理解:即使按照正常根据边长变量来划分等价类,每个边长的有效值等价类也确实只有一种啊,也就是上面的MN都是1,较大值当然也就是1,所以没毛病。然后弱健壮性测试也是一样,NM都等于1,那NxM自然也是1,和弱一般等价类就没有区别了。
3、基于决策表的测试
中间有一个关于nextdate的用例分析过程,太多了我就不贴了。
我只想给出一个结论:
5、测试效率
(其实这个图画的有点不好,因为完全不是正常的横纵坐标关系,但想表达什么意思还是很清楚的。。)
就是决策表优于等价类优于边界值测试。(当然还有具体问题具体分析)
6、Summary