吐血整理,自动化测试框架总结,看这一篇就够了...


前言

1、测试框架

框架是一组准则,一个体系结构,遵循这些准则可以产生有益的结果。测试框架就是为自动化测试脚本提供执行环境而搭建的支架,它是一套准则,例如编码标准,测试数据处理,对象库处理等。

在自动化脚本编写过程中遵循这些准则可产生有益的结果,例如增加代码重用,更高的可移植性,降低的脚本维护成本等。

准则而非规则;它们不是强制性的,你仍然可以在不遵循准则的情况下编写脚本。但是你会错过拥有框架的优势。

使用测试框架的好处主要有:
提高测试效率;
降低维护成本;
最少的人工干预;
最大的测试范围;
代码的可复用;

2、常见的自动化测试框架

我接下来会站在实践角度,来说说常见的自动化测试框架。现在用的最多的就是,Web UI 自动化和接口自动化两块,下面是我整理的内容:

1)接口自动化框架:
① java+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL
② python+unittest/pytest+Git+Jenkins+MySQL
③ python+rebot framework+unittest/pytest+Git+Jenkins+MySQL
④ jmeter+Maven/Ant+Jenkins+MySQL

2)UI自动化测试框架

① java+selenium/appium+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL
② python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL
③ python+robot framework+unittest/pytest+Git+Jenkins+MySQL

需要大家注意的是,常见的 Robot Framework,Selenium 也可以单独称为框架,也可以称为工具。这些都是概念和术语,大家不必特别纠结。

通过上面的一些常见框架,你发现了什么?

它们都拥有共同特性:编程语言+单元测试框架+扫描编译工具+持续集成工具+数据库+项目管理工具,可以根据需求进行相应调整。

之后我也会展开介绍,比如常见框架的实践、单元测试框架是什么、测试工具有哪些等等,现在简单了解一下就好。

测试框架总体而言可以参考软件开发框架来构建,下面从软件开发框架原则中提取测试框架的属性:

测试框架是在测试开发过程中 提取特定领域测试方法共性部分形成体系结构(软件框架是软件开发过程中提取特定领域软件的共性部分形成体系结构)

测试框架的作用:在其基础上重用测试设计原则和测试经验,调整部分内容即可满足需求,可提高测试用例设计开发质量,降低成本,缩短时间;

不同技术测试领域有不同的测试框架类型;

测试框架不是一个现成可用的系统,是一个半成品,需要测试工程师基于它结合自己的测试对象知识转化为自己的测试用例

测试框架是提供给测试人员开发响应领域测试用例的测试分析设计工具;

测试框架不是测试用例集,而是通用的,具有一般性系统的主体部分。测试人员像填空一样,根据具体业务完成特定应用系统中与众不同的特殊部分

测试设计模式的思想(等价类,边界值)在测试框架中应用。
框架的组成部分:
需要配置文件管理
业务逻辑代码和测试脚本分离
报告和日志文件输出
自定义的库的封装 管理、
执行测试用例方式
第三方插件的引入
持续集成

测试框架组成部分的解释:
配置文件管理:
我们需要一各配置文件去控制一些环境信息、开关等,配置文件可以使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年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有不断努力和锲而不舍的精神,才能超越自我,创造更加辉煌的未来。坚持不懈,勇往直前,终将收获属于自己的辉煌成就。

在每一次挫折后坚定地站起来,才能领略成功的甜美滋味;在每一次努力中坚持不懈,方能开创辉煌的明天。愿你的奋斗点亮生命的星空,绽放耀眼光芒。

莫等闲,白了少年头,不经一番寒彻骨,怎得梅花扑鼻香。每一份忍耐与努力,都是成就辉煌的基石,愿你的奋斗之路绚丽多彩,终见芬芳。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值