什么是测试框架呢?
框架是一组准则,一个体系结构,遵循这些准则可以产生有益的结果。测试框架就是为自动化测试脚本提供执行环境而搭建的支架,它是一套准则,例如编码标准,测试数据处理,对象库处理等。
在自动化脚本编写过程中遵循这些准则可产生有益的结果,例如增加代码重用,更高的可移植性,降低的脚本维护成本等。准则而非规则;
它们不是强制性的,你仍然可以在不遵循准则的情况下编写脚本。但是你会错过拥有框架的优势。
使用测试框架的好处主要有:
1、提高测试效率
2、降低维护成本
3、最少的人工干预
4、最大的测试范围
5、代码的可复用
常见的自动化测试框架
我接下来会站在实践角度,来说说常见的自动化测试框架。现在用的最多的就是,Web UI 自动化和接口自动化两块其次是App自动化
接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;
需要大家注意的是,常见的 Robot Framework,Selenium 也可以单独称为框架,也可以称为工具。这些都是概念和术语,大家不必特别纠结。
通过上面的一些常见框架,你发现了什么?
它们都拥有共同特性:编程语言+单元测试框架+扫描编译工具+持续集成工具+数据库+项目管理工具,可以根据需求进行相应调整。
测试框架总体而言可以参考软件开发框架来构建,下面从软件开发框架原则中提取测试框架的属性:
1、测试框架是在测试开发过程中 提取特定领域测试方法共性部分形成体系结构(软件框架是软件开发过程中提取特定领域软件的共性部分形成体系结构)
2、测试框架的作用:在其基础上重用测试设计原则和测试经验,调整部分内容即可满足需求,可提高测试用例设计开发质量,降低成本,缩短时间;
3、不同技术测试领域有不同的测试框架类型;
4、测试框架不是一个现成可用的系统,是一个半成品,需要测试工程师基于它结合自己的测试对象知识转化为自己的测试用例
5、测试框架是提供给测试人员开发响应领域测试用例的测试分析设计工具;
6、测试框架不是测试用例集,而是通用的,具有一般性系统的主体部分。测试人员像填空一样,根据具体业务完成特定应用系统中与众不同的特殊部分
7、测试设计模式的思想(等价类,边界值)在测试框架中应用。
框架的组成部分
需要配置文件管理;
业务逻辑代码和测试脚本分离;
报告和日志文件输出;
自定义的库的封装 管理;
执行测试用例方式;
第三方插件的引入;
持续集成;
测试框架组成部分的解释
配置文件管理:
我们需要一各配置文件去控制一些环境信息、开关等,配置文件可以使
txt/xml/yaml/properties/ini等格式的文件,一般properties较多的使用在java代码里,本文是基于python开发的测试框架,所以我们会选择ini文件
业务逻辑代码和测试脚本分离:
将业务逻辑代码和测试脚本写到不同的目录的py文件中,这样可以做到代码复用、封装、代码重构,使测试项目的目录更加清晰,适合多人开发测试脚本,方便调试和维护
报告和日志文件的输出:
执行testcase的结果怎么样需要用报告来展示,一般采用第三方的插件来实现,如HTMLTestRunner,风格简单明了。
日志的输出很重要,如果发生错误,脚本执行失败,通过日志可以快速定位
用户自定义库:
在自己的测试项目中有很多功能需要重复调用,这样我们就写成一个公共方法,方法哦工具包下,方便每次调用,必须做到封装
管理和执行脚本:
python中的单元测试框架unittest/pytest使用效率非常高,负责管理测试用例集,执行测试用例
第三方插件:
有时候我们测试项目的一些功能需要借助第三方插件能够更好的实现,比如parameterized参数化 第三方html报告生成的插件 htmltestrunner 可以放在第三方插件包中管理
持续集成:
git svn ant maven Jenkins,我们会把这些整合到Jenkins达到持续集成,一键执行测试脚本
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
不论遇到多少挫折与困难,只要你保持坚持与努力,勇往直前,就能超越自我,创造属于自己的奇迹。相信自己的实力与潜力,勇敢追求,每一次奋斗都是一次进步,每一次努力都是一次蜕变。
人生犹如一场马拉松,不论起点如何,只要坚持奋斗,不放弃追求,才能超越自我,迎接属于自己的辉煌。相信自己的能力与潜力,勇往直前,每一步都是成长,每一次奋斗都是进步,成功将与你相伴而行。
在人生的舞台上,不怕困难与挫折,坚持奋斗的脚步,用汗水浇灌梦想的花朵。相信自己的才华与能力,不断努力,每一次奋斗都是一次进步,只有拼搏,才能书写属于自己的辉煌篇章。