当前位置:网站首页>自动化测试你必须要弄懂的问题,精品总结
自动化测试你必须要弄懂的问题,精品总结
2022-07-06 09:24:00 【测试小婉】
目录
1、为什么要进行自动化测试?
①黑盒测试回归效率低;
②手动测试的偶然性和不确定性;
③回归的覆盖率不足;
④交付的产品质量无法保证,全靠评估;
⑤系统越复杂,问题越多;
⑥上线时间长、构建失败率高导致的蝴蝶效应(迭代快,加班多);
2、自动化测试能解决什么问题?
①提高出现问题后的响应速率;
②降低回归成本;
③提高回归覆盖率;
④提高回归效率;
⑤提高回归的稳定性;
3、自动化测试的不足有哪些?
①无法减少成本投入,而是为了加快测试结果反馈,提升测试质量;
②自动化适用于回归和冒烟,而不是发现BUG;
③录制回放功能是鸡肋,可视化并不是一个很好的做法;
④不是所有所有系统所有功能都适合做自动化测试;
4、常见的自动化测试框架?
接口自动化框架常用组合:
方案一:Java+TestNG/Junit+Maven/ANT/Gradle+Jenkins+Mysql+Testlink/Redmine
方案二:JMeter+Maven/ANT/Gradle+Jenkins+Mysql+Testlink/Redmine
方案三:Python+Unittest/Pytest+Jenkins+Testlink/Redmine
方案四:Python+Robot Framework+Jenkins+Testlink/Redmine
UI自动化测试框架常用组合:
方案一:Java+Selenium/Appium+TestNG/Junit+Maven/ANT/Gradle+Jenkins+Mysql+Testlink/Redmine
方案二:Python+Selenium/Appium+Unittest/Pytest+Jenkins+Testlink/Redmine
方案三:Python+Selenium/Appium+Robot Framework+Jenkins+Testlink/Redmine
通过上面的一些常见框架,你发现了什么?它们都拥有共同特性:编程语言+单元测试框架+扫描编译工具+持续集成工具+数据库+项目管理工具。
编程语言:编写测试脚本、日志记录和输出;
单元测试框架:提供测试脚本运行、异常校验等一些列的配置;
扫描编译工具:测试文件扫描编译,一般配合持续集成工具使用效果更佳;
持续集成工具:Jenkins,经典的持续集成工具;
数据库:测试数据管理;
项目管理工具:测试结果统计管理;
自动化测试工具太多,上面只是列举使用率较高以及一些开源工具,具体的框架选型,需要根据具体项目特点和团队、个人技术特点来决定。
5、接口测试的意义和必要性
接口,即API
,应用程序编程接口。以下主要说说接口测试的必要性和意义:
接口测试实施在多系统的平台架构下,有着极为高效的成本收益比(当然,单元测试收益更高,但实施单元测试的成本投入更大,技术要求更高,所以应该选择更适合自身的才是最好的方案)。
接口测试天生为高复杂性的平台带来高效的缺陷检测和质量监督能力,平台复杂,系统越庞大,接口测试的效果越明显。
总的来说,接口测试是保证高复杂性系统质量的内在要求和低成本的经济利益驱动作用下的最佳方案,主要体现在如下三个方面:
1、节省测试成本
根据数据模型推算,底层的一个程序BUG可能引发上层的8个左右BUG,而且底层的BUG更容易引起全网的死机;接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。
2、接口测试不同于单元测试
接口测试是站在用户的角度对系统接口进行全面高效持续的检测。
3、效益更高
将接口测试实现为自动化和持续集成,当系统复杂度和体积越大,接口测试的成本就越低,相对应的,效益产出就越高。
6、开展接口测试必备的技能
开展接口测试需要的技能,基本就是以下几点:
业务流:了解系统及内部各个组件之间的业务逻辑交互;
数据流:了解接口的I/O(input/output:输入输出);
协议:包括HTTP协议,TCP/IP协议族;
工具:工具可以辅助我们更好更高效的完成工作,常用的接口测试工具有:Jmeter、LoadRunner、SoapUI、Postman等;
数据库知识:无论是从数据库获取知识,还是确认数据落地,抑或接口对数据执行了哪些操作,都需要确认,因此数据库知识(其实就是增删改查)就很有必要;
接口文档的几个必要点:完整性、一致性、容错性;
7、接口自动化测试
1、如何开展接口测试?
首先,调试单个接口,保证单个接口的正确和通畅(类似于性能测试中的基准测试);
其次,明确数据流,业务流;
最后,将N个接口测试脚本串起来,执行即可;
最重要的一点,别想太多太复杂的层面,先把最基础最简单的做起来,就成功一大半了,至于扩展性的第三方接口、https、定时任务、自动出测试报告、自动发邮件等等功能,这都是不断累计和优化的,想太多不如行动起来,让接口自动化测试落地,才是我们首先需要考虑的。
2、开展之前需要明确的问题?
①现在的测试对象包含几个页面?
②每个页面涉及几个接口?
③分别在哪一步调用?
④每个接口包含哪些字段?
⑤各个字段对应数据库哪张表?
⑥每个表中各个字段是什么意思?
⑦各个接口对表产生了怎样的操作?
3、搭建自动化测试框架
什么是框架?你可以理解为一个完整的环,也可以理解为让接口测试脚本运行的一整套环境,平台,随便什么都可以;一般一个自动化测试框架包含以下几点。
数据池:即测试数据的存储管理,一般集成为一个data包,其中包括:
log(日志文件)、report(测试报告文件,一般为xml格式)、case-data(单个接口的测试数据,一般为json格式)、server-data(接口业务串联的数据,可以用excel管理)
脚本管理中心:接口测试脚本的统一管理、存储、调度中心,常用的工具有maven、ant等,或者可以使用编程语言中的单元测试框架提供的功能,选择自己适用的即可;
运行平台:一般是借助工具来运行这些测试脚本,工具可以使用上面提及到的几种(jemter、loadrunner、soapui等),同样,选择合适的很重要;
持续集成工具:最常见的就是Jenkins,它的作用就是监控外部程序的调用执行,定时或者触发调度任务,测试脚本执行等功能;
通信服务:dubbo、spring_boot、thrift等RPC、REST同步调用服务;
测试结果统计管理中心:比如testlink,目的是为了测试结果自动更新上传,更好的统计测试结果,以便后期的优化;
总而言之,接口自动化测试的意义就是:数据与脚本分离,测试结果自动提交通知,提高测试脚本和测试数据的维护便利等等。
感谢每一个认真阅读我文章的人!!!
如果下面这些资料用得到的话可以直接拿走:
1、自学开发或者测试必备的完整项目源码与环境
2、测试工作中所有模板(测试计划、测试用例、测试报告等)
3、软件测试经典面试题
4、Python/Java自动化测试实战.pdf
5、Jmeter/postman接口测试全套视频获取
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。需要的评论区找我谢谢
边栏推荐
- 基于485总线的评分系统双机实验报告
- Get started with Matplotlib drawing
- Summary of thread implementation
- STC-B学习板蜂鸣器播放音乐2.0
- Pointer -- eliminate all numbers in the string
- ucore lab7 同步互斥 实验报告
- [pointer] use the insertion sorting method to arrange n numbers from small to large
- [pointer] find the largest string
- Fundamentals of digital circuit (V) arithmetic operation circuit
- Function: calculates the number of uppercase letters in a string
猜你喜欢
ucore lab7 同步互斥 实验报告
5 minutes to master machine learning iris logical regression classification
STC-B学习板蜂鸣器播放音乐2.0
Investment operation steps
1.支付系统
Sleep quality today 81 points
Statistics 8th Edition Jia Junping Chapter XIII Summary of knowledge points of time series analysis and prediction and answers to exercises after class
Fundamentals of digital circuit (IV) data distributor, data selector and numerical comparator
Réponses aux devoirs du csapp 7 8 9
移植蜂鸟E203内核至达芬奇pro35T【集创芯来RISC-V杯】(一)
随机推荐
JDBC 的四种连接方式 直接上代码
Statistics 8th Edition Jia Junping Chapter XIII Summary of knowledge points of time series analysis and prediction and answers to exercises after class
Function: find the root of the equation by Newton iterative method
Install and run tensorflow object detection API video object recognition system of Google open source
[pointer] find the value of the largest element in the two-dimensional array
Daily code 300 lines learning notes day 9
四元数---基本概念(转载)
How to use Moment. JS to check whether the current time is between 2 times
函数:求1-1/2+1/3-1/4+1/5-1/6+1/7-…+1/n
Transplant hummingbird e203 core to Da Vinci pro35t [Jichuang xinlai risc-v Cup] (I)
Statistics 8th Edition Jia Junping Chapter 1 after class exercises and answers summary
Investment should be calm
About the garbled code problem of superstar script
Global and Chinese markets of MPV ACC ECU 2022-2028: Research Report on technology, participants, trends, market size and share
Detailed introduction to dynamic programming (with examples)
“Hello IC World”
flask实现强制登陆
The salary of testers is polarized. How to become an automated test with a monthly salary of 20K?
Global and Chinese markets of cobalt 2022-2028: Research Report on technology, participants, trends, market size and share
【指针】数组逆序重新存放后并输出