一是:设计基础测试用例来覆盖模型;
二是:针对每个测试用例更多的测试数据,产生最后可执行的测试用例。
设计基础用例的目的是更好地覆盖模型,当然不同的模型可以通过不同的测试覆盖方法来覆盖。也有人研究使用算法自动生成测试用例进行模型覆盖。
当然“模型”的概念是广义的,有很多种方法来表达模型的概念,通常我们说的UML 语言就是建模的一种,当然还可以使用其他语言来表达,但在测试设计过程中,我们可以使用一种常见的、相对简单的方法来建模,如表格、图表等。
在建模时主要从M(Mode)、F(Function)、Q(Quality)三个维度建模,所以在介绍基础测试用例时也从这三个维度来介绍。
M(Mode)
M 是指单个功能点的测试设计,通常对于单个功能使用PRDCS 的方法进行建模,建模完成后就需要设计基础用例来覆盖模型。以163 邮箱注册的功能为例,对其邮箱地址字段进行建模,在这里就不再详细地介绍整个建模的过程。
现在对这个模型使用基础用例进行覆盖,具体的见表7-7。
F(Function)
F-Function 建模完成后,接下来需要列出基础测试用例来覆盖这些模型,而这些基础测试用例必须详细地描述两个交互功能之间的关系,见表7-8。
Q(Quality)
Q-Quality 建模完成后,接下来需要列出基础测试用例来覆盖这些模型,而这些基础测试用例必须详细的描述被测试功能与质量属性的关系,见表7-9。
确定测试数据
测试设计的第三步是确定测试数据,在设计基础测试用例时,其实就可能会包含一些测试数据,但这可能还不够全面,需要再分析测试数据变化的情况(如边界值),为这些变化的测试数据设计相应的测试用例。
M(Mode)
针对单个功能完成基础测试用例设计后,需要分析测试数据的情况,然后为每个测试数据设计具体的可执行的用例。
如163 邮箱注册的功能,以第一个基础用例为例对其设计测试数据,见表7-10。
F(Function)
关于功能与功能之间关系,可能大部分是接口数据之间的关系,所以在准备测试数据时,更多的是根据两者间的关系,去准备不同类型的数据。如A 模块会将结果数据传递给B 模块,那么这个时间就应该模拟A 模块产生不同类型数据的过程。常用的方法是边界值和等价类的方法。
Q(Quality)
关于测试质量特性的测试数据,需要根据当前被测试特性是属于哪类特性而进行详细的分析,如性能测试过程中,测试用例设计就没有手工测试要求高,所以不能一概而论。当然在工作中对于不同的特性,会有不同的用例方法,而有的方法其实对测试数据几乎是没有要求的,如易用性测试。所以具体特性应该具体分析。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理