基于三层结构的自动化测试数据准备技术研究

发表于:2019-10-30 11:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:杨志刚 谢彬 孙辉    来源:51Testing软件测试网原创

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


 ......
查看更多精彩内容,请点击下载:

版权声明:本文出自《51测试天地》第五十五期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号