谭泉宁 长沙市明德中学
进入了新世纪以来,在电子商务的发展下,人们对于Web程序的运行质量提出了更高的要求,在传统测试方法中,需要针对Web程序的回归性、兼容性进行测验,但是在检验时,容易出现编码问题和脚本错误问题,因此,测试人员需要不断调试,影响了测试的效率。在这一背景下,探讨一个简单的自动化测试框架,对于提高测试效率有着重大的意义。
传统测试工具存在局限问题,利用自动化测试框架可以有效解决这类问题,在自动化测试框架中,可以通过控制其中的各项参数变化来提高测试效率。目前常用的框架包括几种类型:
1.1 脚本模块化框架:该种框架脚本是利用底层来实现,通过对其中组件、程序功能的分解,建立对应脚本;
1.2 数据驱动测试框架:数据驱动测试框架即在测试程序中提取相关数据,载入测试编码,再在原脚本中载入测试数据,构建框架;
1.3 关键字驱动测试框架:该种框架具有独立性的特征,能够通过关键字来测试逻辑完整性;
1.4 测试库构架框架:不同于脚本模块化,该种框架可以将应用程序分解为独立程序,但是需要建立模块化功能性库文件。
WATF的功能包括几个方面:
2.1.1 测试环境的还原:在测试时,需要借助自动化执行环境,在运行前,可以由外部条件触发测试环境;
2.1.2 容易维护的脚本结构,为了解决数据硬编码问题,需要对脚本进行修改,适应程序变化,提高测试效率;
2.1.3 并发与分布式测试:在一个大的测试项目中,往往会存在多个测试用例,顺序执行测试,需要耗费大量时间,如果可以并发执行,即可有效节约测试成本。且不同类型的测试任务,需要在不同的环境中,才能够执行,因此,测试框架需要满足分布式测试的要求,可以对分布式节点进行动态管理;
2.1.4 测试计划的定制:对于测试任务,可以利用配置来完成测试,这种测试支持每日构建和验证,在完成测试之后,可以产生测试报告,如果测试出现失败,也可以以邮件方式来通知负责人员。
根据要求,WATF框架包括两层,即由服务器端组成的管理层与客户端、由测试脚本构成的执行层。每一个服务器端,都可以对应多个客户端,其中包括一个“slave包”,将客户端与服务器端相连,即可接收相关的测试结果。
在整个管理层中,服务器端是一个重点,可以应用在测试计划的制定,还能够参与管理,用户可以根据自己的需求来开展测试活动,该种测试框架能够将测试任务划分为不同的生命周期。在不同的阶段,工作任务是不同的,在SC-Mcheckout阶段,主要任务是源码与脚本检出;在Pre-Build阶段,负责测试任务的触发,在提交代码检入之后,代码库会第一时间修改,触发系统运行;在Build Wrapper阶段,可以搭建出相应的测试环境;在Build Runs阶段,属于核心阶段,是测试运行阶段,测试人员需要提供测试脚本,包括shell脚本、批处理脚本、Maven脚本等,在同一个任务中,可以同时运行多个脚本。
从管理层的设计可以知道完整的运行一个测试任务需要经历几个不同的阶段,而每个阶段都可能依赖于外部的文件和执行脚本。为了使测试脚本具有更好的维护性,WATF 框架还需包括一个良好的自动化测试执行层框架。
传统自动化测试框架存在种种不足,为此,可以利用基于Web的自动化测试框架,该种框架有着自动化程度高、检测效率高、可扩展性强的优势,关于这一框架的应用,还需要根据研究中出现的问题不断完善。
[1]刘瑾.Web系统Selenium WebDriver自动化测试框架搭建[J].电子技术与软件工程.2017(21)
[2]韩小明.自动化测试框架:与FinalBuilder结合[J].软件世界.2007(18)
[3]郭德红,陈勇.自动化测试框架底层驱动研究[J].电脑知识与技术.2011(34)
[4]韩小明.自动化测试框架:设计的重构[J].软件世界.2007(17)