关键词:
软件测试
自动化测试
Selenium
外勤助手
摘要:
软件测试为了保障产品质量而生。起初,软件测试的主要表现形式是功能测试,即通过手工测试,尽可能去发现软件版本存在的问题,并针对提出的问题进行回归验证,直至问题修复为止。手工测试是不可或缺的,因为一些软件页面的UI界面、软件功能必须通过手工测试才能完成,但是手工测试执行效率低、易出错的弊端也暴露无遗。随着时代的发展,软件产品日益复杂,产品需求变更频繁,软件迭代周期明显缩短,软件测试的难度不断加大。自动化测试的概念被适时提出,经过一段时间的技术发展,涌现了许多高效的自动化测试框架,如QTP、Robot Framework、Selenium等。外勤助手是我司的一款主打的行业应用产品。由于产品功能繁多,且迭代更新频繁,仅靠纯手工测试已无法满足外勤助手快速迭代的需求,我们迫切希望引入自动化测试技术,实现外勤助手产品自动化测试,进而推广应用至其他项目产品,提高部门的自动化测试技术水平。本文基于这个出发点,针对软件测试及自动化测试的相关概念进行阐述,深入分析外勤助手产品执行自动化测试的可行性,并针对外勤助手产品进行详细的自动化需求分析。经过探索,选取并独立搭建一套Python+Selenium+Unittest框架,利用Page Object设计思想,对各个页面进行分层设计,且对Selenium常用方法以及外勤页面控件进行二次封装,供代码调用。此外,深入了解Xpath定位方法,针对脚本编写中遇到的难题逐一击破,独力完成外勤助手【任务交办】模块的自动化测试用例编写、执行、生成测试报告,并且针对测试报告进行详细的分析,提出优化方案并进行优化,有效提升测试脚本的性能。最后,通过将手工测试与自动化测试效率进行分析、比较,发现自动化测试执行效率更高,但前期的资源投入较高,更为适合于长期产品或项目中。本文为外勤助手产品甚至我司其他产品指明方向。