摘要:测试数据准备是业务测试中的重要一环,测试数据准备的好坏直接影响测试的质量和效率。自动化测试对测试数据准备有着更高的要求,它要求测试数据一次性准备完成,而不允许分批准备。本文提出的基于三层结构的自动化测试数据准备方案,构建了测试数据资源池,将数据模型和数据实例进行了分离,测试数据可以自动抽取和校验,解决了环境变更,测试数据失效的问题。
一、测试数据准备意义和目标
1.1、测试数据准备意义
在项目进入正式测试之前,有一个重要的环节,就是业务的测试数据准备,测试数据准备在测试中起着决定性作用。测试数据准备是指对原始测试数据不断进行分析、验证和检查形成结构化数据,能够高效为测试项目提供合理、有效测试数据的过程,从而覆盖测试业务和测试边界,满足测试的完整性,一致性等要求。
1.2、测试数据准备目标
测试数据准备的目标,是要提供完全满足测试需求的测试数据。其中对测试数据准备需要达到数据质量好,覆盖范围广和准备效率高三个目标。数据质量好是指准备的数据要有较好的可用性,对数据的类别要细化到可供筛选的粒度;覆盖范围广是指准备的数据不仅要覆盖要测试的所有系统,理论上测试数据的准备需要达到测试流程的全覆盖,但覆盖范围广不一定要求测试数据的数量多,要根据等价类和边界值等模型筛选有效的数据类别;准备效率高是指积累的测试数据,要有较高的检索条件和标签,在使用时能够较快搜索到。
1.3、自动化测试数据准备
在自动化测试中,由于测试方式与手工测试不同,测试数据的准备方法也与手工测试中测试数据准备的方法稍有不同,自动化测试不允许测试数据分批准备,所有的数据准备必须一次性完成,从而保证自动化测试案例可以全量不间断执行,因此自动化测试对测试数据准备有着更高的要求。
二、三层结构的数据建模技术
为了更好的管理特定业务数据,提高测试数据使用效率,通过建立数据资源池,加强数据统一管理。我们采用一种数据管理的三层结构模型,该模型将测试数据的规则和实例数据进行了分离,从而提高测试数据的复用度。同时该模型能以独立的方式向测试提供数据实例。
模型自底向上分别为数据结构层、数据类别层和数据实例层。数据结构层及数据类别层存储特定业务数据的模型信息,数据实例层是根据模型信息从目标测试环境中获取实例数据。三层结构的数据资源池的结构示意图如下:
图1 三层结构的数据资源池
模型的三个层次之间既相互独立又相互依存,最底层的数据结构层是对测试介质的抽象,保存着数据元信息,同一数据结构可以衍生多种数据类别;数据类别层,保存着测试数据的准备规则,并将不同的数据准备方式统一起来,按同样的标准管理,作为承上启下的中间层,是数据模型最重要的部分,也是数据模型中唯一与自动化测试案例交互的一层;最高层的数据实例层,是测试数据的展现层,同一数据类别可以在不同的测试环境生成不同的数据实例,保证数据类别的高可复用性,为功能和性能测试提供真实可见的测试数据。三个层次共同构成了测试数据模型的整体体系。
......
查看更多精彩内容,请点击下载:
版权声明:本文出自《51测试天地》第五十五期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。