面向对象测试

依据面向对象开发模型,面向对象测试分为:面向对象分析(OOA),面向对象设计(OOD)和面向对象开发(OOP)三个阶段
在设计测试用例选择输入数据时,可以基于以下两个假设:
1.如果函数(程序)对某一类输入中的一个数据正确执行,对同类中的其他输入也能正确执行。
2.如果函数(程序)对某一复杂度的输入正确执行,对更高复杂度的输入也能正确执行。
面向对象测试的步骤:
1.为类创建一个实例,即对象,为构造函数传递合适的参数;
2.通过参数传递调用对象的方法并获取结果;
3.检查对象的内部数据。
类测试策略:基于服务的测试(测试类中的每一个服务(即方法)),基于状态的测试(考察类的实例在某生命周期各个状态下的情况),基于相应状态的测试(从类和对象的责任出发,以外界向对象发送特定的消息序列来测试对象)
基于服务的测试:一个五元组表示:
f=(Du,Dd, P,Fe,G)
Du={di| di∈f 引用的全局数据或类数据}(图的左上角)
Dd={di| di∈f修改了全局数据或类数据}(图的左下角)
P={X1θ1,X2θ2,…,Xnθn,Xn+1θn+1∈f的参数表和函数返回值,θi为↓(表示输入)、↑(表示输出)、↓↑(表示输入/输出),若Xn+1缺省,则无返回值}(图的右上角)
Fe={Fi| Fi∈被f 调用的其他服务}(图的右下角)
G:有向图,即块体,是按照控制流图的思想修改f的程序流程图而来的,表示f的控制结构,f中的复合条件判断被分解,每个判断框只有单个的条件(图的正中间且最大)
面向对象测试_第1张图片
基于服务的测试:
原子对象状态图(表现一个类的数据成员的状态和状态的转换,可用作类的数据成员的动态行为的测试模型)以及复合对象状态图(表现对象的正交的不同部分之间的动态行为,可用来检验对象的状态和状态的转换)
AOSD=(S,d, S ,S0)四元组表示
S:表示一个对象的状态集合
d:表示字符集
S :表示由对象状态可能产生的转移集
S0:表示起始状态

你可能感兴趣的:(软件测试)