带你解刨自动化测试框架详细总结
自动化测试框架概念
自动化测试框架是一个集成体系,这个体系中包含测试功能的函数库、测试数据源、测试对象以及可重用的模块。
框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。
在软件工程中,框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;
另一种定义认为,框架是可被应用开发者定制的应用骨架,前者是从应用方面而后者是从目的方面给出的定义
对于测试人员来说,线性脚本的自动化脚本在维护性和可用性上教差,就可以利用设计的框架来实现自动化测试
自动化测试框架根据思想理念和深度不同,渐进式的分为以下几种:
模块化思想 ==> 模块化测试脚本框架
库思想 ==> 测试库框架
数据驱动思想 ==> 数据驱动测试框架
关键字驱动思想 ==> 关键字驱动或表驱动的测试框架
上述思想融合完成企业实际自动化 ==> 混合测试自动化框架
模块化测试脚本框架:
需要创建独立的可描述的模块、程序片断以及待测试应用程序的脚本。这些小脚本进行组合,就能组成用来独立运行特定的测试的测试用例脚本。
测试库框架:
与模块化测试脚本框架很类似,并且具有同样的优点。不同的是测试库框架把待测应用程序分解为过程和函数而不是脚本。这个框架需要创建描述模块、片断以及待测应用程序的功能库文件。
数据驱动测试框架:
在这里测试的输入和输出数据是从数据文件中读取(数据池,ODBC源,CSV文件,EXCEL文件,Json文件,Yaml文件,ADO对象等)并且通过捕获工具生成或者手工生成的代码脚本被载入到变量中。在这个框架中,变量不仅被用来存放输入值还被用来存放输出的验证值。整个程序中,测试脚本来读取数值文件,记载测试状态和信息。这类似于表驱动测试,在表驱动测试中,它的测试用例是包含在数据文件而不是在脚本中,对于数据而言,脚本仅仅是一个“驱动器”,或者是一个传送机构。
关键字驱动或表驱动的测试框架:
这个框架需要开发数据表和关键字。这些数据表和关键字独立于执行它们的测试自动化工具,并可以用来“驱动"待测应用程序和数据的测试脚本代码,关键宇驱动测试看上去与手工测试用例很类似。在一个关键字驱动测试中,把待测应用程序的功能和每个测试的执行步骤一起写到一个表中。
这个测试框架可以通过很少的代码来产生大量的测试用例。同样的代码在用数据表来产生各个测试用例的同时被复用。
混合测试自动化框架:
最普遍的执行框架是上面介绍的所有技术的一个结合,取其长处,弥补其不足。这个混合测试框架是由大部分框架随着时间并经过若干项目演化而来的。
框架设计目标
设计出来的框架是直接给测试人员,而且其他的测试人员只需要简单的向里面不断的补充测试用例即可;所以我们的框架设计必须三简化即操作简单,维护简单,扩展简单。
设计框架的同时一定要结合业务流程,而不仅仅靠技术实现,其实技术实现不难,难点对业务流程的理解和把握。
设计框架时要将基础的封装成公用的,如:get请求、post请求和断言封装成同基础通用类。
测试用例要与代码分开,这样便于用例管理,采用数据驱动框架实现。
如下图所示:
通过在excel录入测试用例,框架运行后自动进行用例执行,产生html网页版本的测试报告。
![](/assets/blank.gif)
报告
![](/assets/blank.gif)
框架用到的技术点
1、语言:python
2、测试框架:unittest(assertEqual)/ pytest
3、接口调用:requests(API非常简洁)
4、数据驱动:paramunittest (组装一定的格式数据就可以参数化)
5、数据管理:xlrd(读取excel文件数据)、configparser(读取配置文件)
6、数据格式的转换:ast,json
7、日志处理:logging ---清晰的执行过程,快速定位问题
8、测试报表:HTMLTestReportCN(由网友制作设计,显示清晰美观)
9、测试发送测试报告:smtplib(邮件内容格式设置)、email(收发邮件)
10、持续集成:Jenkins(按策略执行接口测试脚本
上述就是对自动化测试基本的总结,有需要的朋友可以看看下面的文档和学习资料或许对你有所帮助:
![](/assets/blank.gif)
![](/assets/blank.gif)
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!!
![](/assets/blank.gif)
带你解刨自动化测试框架详细总结相关推荐
- 从理论到工具 - 带你全面了解自动化测试框架
什么是自动化测试框架 01 什么是框架 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法.它规定了应用的体系结构,阐明了整个设计.协作构件之间的依赖关系.责任分配和控制流程, ...
- 从理论到工具:带你全面了解自动化测试框架
软件行业正迈向自主.快速.高效的未来.为了跟上这个高速前进的生态系统的步伐,必须加快应用程序的交付时间,但不能以牺牲质量为代价.快速实现质量是必要的,因此质量保证得到了很多关注.为了满足卓越的质量和更 ...
- web自动化如何在不同浏览器运行_从理论到工具:带你全面了解自动化测试框架...
软件行业正迈向自主.快速.高效的未来.为了跟上这个高速前进的生态系统的步伐,必须加快应用程序的交付时间,但不能以牺牲质量为代价.快速实现质量是必要的,因此质量保证得到了很多关注.为了满足卓越的质量和更 ...
- 带你全面了解自动化测试框架—从理论到工具
软件行业正迈向自主.快速.高效的未来.为了跟上这个高速前进的生态系统的步伐,必须加快应用程序的交付时间,但不能以牺牲质量为代价.快速实现质量是必要的,因此质量保证得到了很多关注.为了满足卓越的质量和更 ...
- pytest测试框架_带你深入理解自动化测试框架Pytest的配置文件!
都有哪些种类的配置文件 pytest.ini:pytest的主配置文件,可以改变pytest的默认行为 conftest.py:是本地插件库,其中的hook函数和fixture将作用于该文件所在的目录 ...
- 一文带你了解UI自动化测试框架
Python+Selenium+Unittest+Ddt+HTMLReport分布式数据驱动自动化测试框架结构 1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ----- ...
- 自动化测试框架[Cypress元素操作详解]
前提 已经熟练掌握了Cypress的基本知识,请参考自动化测试框架[Cypress概述]和自动化测试框架[各自动化测试框架比较] 已经熟练掌握Cypress环境配置,请参考自动化测试框架[Cypres ...
- 自动化测试框架[Cypress命令行执行测试详解]
前提 已经熟练掌握了Cypress的基本知识,请参考自动化测试框架[Cypress概述]和自动化测试框架[各自动化测试框架比较] 已经熟练掌握Cypress环境配置,请参考自动化测试框架[Cypres ...
- python+requests接口自动化测试框架实例详解教程(米兔888)
来源:https://my.oschina.net/u/3041656/blog/820023 源码:https://pan.baidu.com/s/1lgIEToiczTvvjy--p-N20g 提 ...
最新文章
- 《UG NX8.0中文版完全自学手册》一第1章 UG NX 8.0简介
- java之 ------ 可变參数和卫条件
- Boost:circular buffer的测试程序
- 【转】由投影重建图像:滤波反投影、FDK、TFDK三维重建算法理论基础
- 4.5.2 循环语句
- Matrix Factorization: A Simple Tutorial and Implementation in Python
- 分布式通信协议RPC协议简介
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习6
- Codeforces #319E: Ping-Pong 题解
- [碎碎念]祝我的董小姐生日快乐~
- FreeRTOS学习一(简介)
- Springboot旅游管理系统 08841计算机毕业设计-课程设计-期末作业-毕设程序代做
- ddr4 lpddr4区别_笔记本内存LPDDR3就一定不如DDR4吗?宏旺半导体解释两者的区别?...
- 程序员,在什么情况下加班是可接受的
- 如何实施开源协议,以及如何遵守开源协议的要求
- 云服务卸载MySQL
- python中字典的循环遍历的两种方式
- 独角兽项目 9 - 一波三折的上线
- STC89C52单片机数码管介绍以及代码示例
- 波士顿动力开源代码_失去动力两年后,我如何开始开源之旅
热门文章
- 2022-2028年全球啤酒保鲜机行业收入年复合增长率CAGR为 3.9%
- 优酷土豆java面试_优酷土豆笔试之Java开发类题目
- Redis中jedis与lettuce区别
- vSAN 6.6双活新特性 和 vSAN双活用户的演讲视频
- 第七课.有向图卷积网络
- 长虹智能电视怎么进入工程模式
- Qt6 官网QtCreator 下载与安装方法win10
- LiveNVR视频流媒体平台支持接收rtsp推流并转换成GB28181输出级联到第三方国标平台服务
- 转录本定量(二代、三代)——salmon、stringtie
- FreeMarker详细介绍