SupplyOnline Web EDI系统平台页面上的文字、图片、按钮等各种元素,都可以用xpath或css selector来定位具体数值,将各对象的属性键值存放在数据库中,通过hibernate技术作数据库与底层代码的mapping映射,从而实现对网页元素的捕获、验证页面元素的过程。
图6是在Eclipse中搭建的自动化测试框架。
图6 一个自动化测试框架
可以看到在项目下加载了Maven、TestNG类库和jar包,还有hibernate、sqlite数据库等资源文件。运行时只要直接Run testsuite.xml就可以批量执行testcases文件夹下定义过的自动化测试脚本,即一组测试用例套。当然,也可以针对单个方法/类进行Debug调试。
4.2 应用结果分析
以100条系统数据为样本进行自动化测试实验。通过自动化测试方法测试人员只需要做以下两个简单步骤:
1、 修改单元测试用例生成数量,即for循环语句100次;
2、 运行自动化测试用例套脚本,即testsuite.xml。
下面表述了使用自动化测试带来的优势。
表1 手工与自动化测试时间对比
从表1可以看出,使用手工进行测试,100条数据量情况下,新建数据超过30分钟,导入系统需要开发人员配合支持,对数据进行验证超过1个小时。若使用自动化进行测试,新建数据在1秒内,导入数据在30秒内,对数据进行验证在5分钟内即可完成,速度明显快于手工方式。
图7是手工与自动化测试随着测试量增加所花费时间成本趋势的线形图。
图7 手工与自动化测试时间成本趋势
从图7中看出,下方较平稳线性增长的是自动化测试花费的时间,随着数据量增加未见明显增长。上方陡增的是手工测试花费的时间,由于数据量的增加而迅速增长。
测试结果表明,基于WebDriver、Maven和TestNG搭建的自动化测试框架比早期Selenium与JUnit集成的自动化测试框架更加适用于多浏览器、跨平台的测试需求,体现出灵活、易用、扩展性好的特点。通过WebDriver相关类包,结合TestNG运行在XML文件中配置的测试用例套,对测试脚本运行方法进行了改进,便于管理和维护不同业务功能的测试用例。
将单元测试用例进行打包组合,通过UI界面元素、对象与XML、CSV文件中的数据进行读写、匹配和验证,实现大数据信息业务在Web EDI系统中的自动化测试执行,相比传统手工测试效率更高、出错率较低。
5、结 语
基于EDI报文设计的XML文件,可以通过脚本实现EDI数据在Web系统上的批量生成,这样可以规范数据处理,提高数据准确性,消除人为录入错误。针对已有的Selenium、Junit测试框架进行改进,利用WebDriver、Maven和TestNG搭建了自动化测试框架,能够快速、便捷地实现大数据量的创建、查询、验证等功能的自动化工作,有效加快项目进度,节省人力资源成本,缩减冗余时间,降低日常开支,提高生产力。本文只是对Web EDI系统在测试技术和方法上的一个初步研究,目前只针对业务功能进行自动化测试工作。日后根据EDI系统特点,会在性能领域更多关注,因为大数据批量进行查询、提交等业务操作,势必会对服务器性能带来明显压力。一套成熟的自动化测试框架需要从功能、性能、安全等多方面进行充分考虑[10]。如何可靠、稳定地运行自动化脚本,进一步加强对开源测试框架进行研究,是未来继续努力的方向。
版权声明:
51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
相关文章: