什么是自动化测试框架
01
什么是框架
框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法。
框架一般是成熟、稳健的,它可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,可以直接享受别人升级代码带来的好处。
02
什么是自动化测试框架
自动化测试框架是为自动化测试用例或者脚本提供执行环境而搭建的基础设施。自动化测试框架有助于有效地开发、执行和报告自动化测试用例。
1、优点:
-
代码复用
-
提高测试效率
-
更高的测试覆盖率
-
维护成本低
-
更早发现和记录bug
2、框架的基本组件
-
需要配置文件管理
一般需要一个配置文件去控制一些环境信息、开关。配置文件可以是txt/xml/yaml/properties/ini,一般.properties使用较多在JAVA里,Python的话通常会选择ini文件。 -
业务逻辑代码和测试脚本分离
如果代码和脚本在一个类文件,那么就根本没有用到代码重构,复用。代码和用例文件分离后,会更加清晰,可以有更多人开发脚本,方便调试。 -
报告和日志文件输出
执行了多少case,case结果如何,这都需要报告来展示,一般采用第三方插件来实现这个功能。好多报告格式是html,简单,明了的风格。日志输出也很重要,如果发生报错,脚本执行失败,通过日志快速定位发生问题位置。 -
自定义的库的封装
很多功能需要重复调用,可以写成一个公用方法,放到工具包下,每次方便调用,例如浏览器引擎类和basepage.py的封装。 -
管理、执行脚本方式
例如Python中单元测试框架unittest使用率非常高。 -
第三方插件引入
有时候一些功能需要借助第三方插件,能够更好实现,例如AutoIT(来实现文件上传和下载)。还有利用第三方报告插件生成基于html格式的测试报告。 -
持续集成
git、svn、ant、maven,jenkins,我们会把这整合到jenkins,达到持续集成,一键执行测试脚 -
03
为什么需要自动化测试框架
-
使自动化测试的实施更容易:一个好的自动化测试框架是可以让不那么懂技术的人也可以写自动化测试脚本。
-
解决自动化测试脚本本身存在的问题:如异常处理和场景恢复。
-
测试易于维护。
-
可重用性:可以实现一些通用功能,简化脚本开发过程。
-
测试报告美观易读。
04
判断是否需要自动化测试
自动化测试成本投入高,风险大,并且不是所有的项目都适合自动化。自动化测试的优势在于反复迭代,它的价值产出在于长期的回归测试,以保证被测产品长期稳定地版本更新。
适用项目:
-
项目周期要长,且需求不会频繁变更。
-
系统中多数对象要可以被识别&#