余锦润,杨丹君,李波波
(浙江中控技术股份有限公司,杭州310053)
自动化测试是软件测试的一个重要分支,相对于手动测试而言,自动化测试是将人的测试行为通过代码框架转化成机器的测试行为,可用于各种测试范畴,主要强调的是通过工具结合自己的测试策略来辅助测试,可以全自动,也可以半自动,节省了大量的人力、时间和硬件资源,也同时提高了测试效率。一般来说,满足3 个条件就可以对项目采取自动化测试[1]:软件需求变动周期长、项目周期长、自动化脚本可以重复利用。
在自动化测试概念上,敏捷大师Mike Cohn 提出测试金字塔模式[2],并衍生出分层自动化测试概念,区别于传统的自动化测试概念(基于产品UI 层面的自动化测试,黑盒测试),分层自动化测试倡导从黑盒单层到黑白盒多层的体系。
UI 层是用户使用产品的入口,在传统的测试模型中,大多数研发团队执着于通过UI 进行全面的测试,甚至投入大量的人力成本进行手工测试,而自动化实现难度也极大。进行分层后,自动化测试的设计就有了针对性,也因此诞生了许多针对UI的测试工具和框架。本文主要研究了UI 自动化测试的相关方法,结合Electron 应用的测试难点分析了位图识别技术Sikulix 以及Opencv 算法的优势,并进行自动化模块的设计和工程项目的实际应用,证明了其实用价值。
在常规桌面客户端测试中,市面上流行很多测试工具,比如惠普公司开发的UFT 工具,商业软件Ranorex 等,均提供了强大的录制回放功能,能完成大部分测试需要。……