8年资深测试,自动化测试常见问题总结,惊险避坑...

news2024/11/25 7:54:33

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、自动化测试简介

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,经典的持续集成工具;
数据库:测试数据管理;
项目管理工具:测试结果统计管理;

自动化测试工具太多,上面只是列举使用率较高以及一些开源工具,具体的框架选型,需要根据具体项目特点和团队、个人技术特点来决定。

2、接口测试的意义和必要性

接口,即API,应用程序编程接口。以下主要说说接口测试的必要性和意义:

接口测试实施在多系统的平台架构下,有着极为高效的成本收益比(当然,单元测试收益更高,但实施单元测试的成本投入更大,技术要求更高,所以应该选择更适合自身的才是最好的方案)。

接口测试天生为高复杂性的平台带来高效的缺陷检测和质量监督能力,平台复杂,系统越庞大,接口测试的效果越明显。

总的来说,接口测试是保证高复杂性系统质量的内在要求和低成本的经济利益驱动作用下的最佳方案,主要体现在如下三个方面:

1)节省测试成本

根据数据模型推算,底层的一个程序BUG可能引发上层的8个左右BUG,而且底层的BUG更容易引起全网的死机;接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。

2)接口测试不同于单元测试

接口测试是站在用户的角度对系统接口进行全面高效持续的检测。

3)效益更高

将接口测试实现为自动化和持续集成,当系统复杂度和体积越大,接口测试的成本就越低,相对应的,效益产出就越高。

3、开展接口测试必备的技能

开展接口测试需要的技能,基本就是以下几点:

业务流:了解系统及内部各个组件之间的业务逻辑交互;

数据流:了解接口的I/O(input/output:输入输出);

协议:包括HTTP协议,TCP/IP协议族;

工具:工具可以辅助我们更好更高效的完成工作,常用的接口测试工具有:Jmeter、LoadRunner、SoapUI、Postman等;

数据库知识:无论是从数据库获取知识,还是确认数据落地,抑或接口对数据执行了哪些操作,都需要确认,因此数据库知识(其实就是增删改查)就很有必要;

接口文档的几个必要点:完整性、一致性、容错性;

4、接口自动化测试

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,目的是为了测试结果自动更新上传,更好的统计测试结果,以便后期的优化;

总而言之,接口自动化测试的意义就是:数据与脚本分离,测试结果自动提交通知,提高测试脚本和测试数据的维护便利等等。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有通过不断地奋斗和努力,才能真正地实现自己的梦想,去创造自己的未来,去改变自己的命运,去赢得自己的成功。

成功并不是一蹴而就的事情,它需要长期不懈的努力和辛勤的汗水,要勇敢地追求自己的梦想,不断超越自己,坚持不懈地努力,最后才能取得真正的成功。

每个人都有自己独特的天赋和才华,要善于挖掘自己的潜力,充分利用自身的优势,不断改进和完善自己,不断取得新的突破,最后一定能取得优异的成绩。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1229743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

好的CRM系统有哪些核心能力?

CRM是企业管理的重要工具,可以维护管理客户关系,提高企业的核心竞争力。市场营销、销售、客户服务和技术支持等相关领域都需要用到CRM系统。那么一个好的CRM,最核心的能力有哪些? 1.销售自动化 这里简单介绍下销售自动化的功能&…

非关系型数据库Redis(缓存型数据库)

关系型数据库和非关系型数据库的区别 关系型数据库 是一个结构化的数据库,记录方式是行(记录对象属性)和列(声明对象) 表与表之间是有关联的,使用sql语句来对指定的表、库进行增删改查 在创建表的时候&…

尽快调整心态,切莫自讨苦吃

退休多年的老龄人的本“人民体验官”闲得无聊,怕被闲出更多病痛,更怕被闲死,所以天天上网坚持职业新闻人的老习惯——上网读新闻,并以一孔之见置评,旨在抛砖引玉。 11月8日,本“人民体验官 ”在推广人民日…

从矿源到指尖——周大福天然钻石的非凡实力

(2023年11月20日,北京)在近百年历程中,周大福珠宝集团一直致力珠宝工艺传承与创新设计的孕育,于1929年创立周大福品牌,凭借对中国传统黄金工艺的传承与创新、对中国传统文化的融合与发扬,将黄金…

技术岗位竞业协议规避的坑

​ 前言 技术岗位竞业协议指员工在离开公司后,不能在指定期限内从事与公司业务有竞争关系的工作。 有的公司在入职的时候签订,有的在离职的时候签订(更有的公司在工作中途补签),但是要记住,签了就生效了…

kettle创建数据库资源库kettle repository manager

数据库资源库是将作业和转换相关的信息存储在数据库中,执行的时候直接去数据库读取信息,很容易跨平台使用。 创建数据库资源库,如图 1.点击Connect 2.点击Repository Manager 3.点击Other Repository 4.点击Database Repository 在选择Ot…

控制原理 | PID控制的三个参数如何影响控制效果?(附参数整定方法)

目录 0 专栏介绍1 PID控制基本原理2 比例控制的作用3 积分控制的作用4 微分控制的作用5 参数整定方法5.1 经验法5.2 临界比例度法5.3 衰减曲线法 0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规…

面试题c/c++--语言基础

一 、语言基础 1.1 指针 野指针:指针指向的位置是不可知的 悬空指针:指针最初指向的内存已经被释放了的一种指针 两种指针都指向无效内存空间, 即不安全不可控 。需要在定义指针后且在使用之前完成初始化或者使用 智能指针来避免 智能指针 智…

10个Logo设计资源网站,绝对值得你收藏!

看似简单的标志背后的设计过程一点也不简单。优秀的标志个性鲜明,视觉冲击力强,易于识别和记忆。小标志使品牌的理念和形象一目了然地传达给消费者,使消费者产生良好的品牌联想,从而引导和促进消费。 在设计LOGO时,我…

Linux mmap 的作用是什么?

文章目录 1.简介2.相关函数3.mmap和常规文件操作的区别4.作用参考文献 1.简介 mmap&#xff08;memory map&#xff09;即内存映射&#xff0c;用于将一个文件或其它对象映射到进程的地址空间。 2.相关函数 创建映射函数&#xff1a; #include <sys/mman.h>void *mm…

跨境出海人必备的营销指南:海外各大社交媒体的对比

随着全球数字化的加速&#xff0c;社交媒体已经成为人们交流、分享、获取信息的主要渠道。根据最新的全球数字报告 “DIGITAL 2022: GLOBAL OVERVIEW REPORT”显示&#xff0c;截至2022年&#xff0c;全球有46.2亿社交媒体用户&#xff0c;这个数字相当于世界总人口的58.4%。这…

《YOLOv8-seg改进》专栏指导书册 手把手创新教程

&#x1f680;&#x1f680;&#x1f680;YOLOv8-seg创新专栏&#xff1a;https://blog.csdn.net/cv_20231007/category_12490532.html?spm1001.2014.3001.5482 学姐带你学习YOLOv8&#xff0c;从入门到创新&#xff0c;轻轻松松搞定科研&#xff1b; 1&#xff09;手把手教你…

【EI会议征稿】2024年电气技术与自动化工程国际学术会议 (ETAE 2024)

2024年电气技术与自动化工程国际学术会议 (ETAE 2024) 2024 International Conference on Electrical Technology and Automation Engineering 2024年电气技术与自动化工程国际学术会议 (ETAE 2024) 将于2024年3月8-10日在中国杭州召开。电气工程及其自动化和人们的日常生活…

打破传统束缚,释放服务潜能:本地生活服务商聚合系统引领行业新风向!

本地生活服务商聚合系统是一种集合多平台、多项目的创新型服务系统&#xff0c;它打破了传统服务商系统的一对一限制&#xff0c;为创业者和运营商带来了诸多优势。小多将深入探讨本地生活服务商聚合系统的优势。 随着互联网的快速发展&#xff0c;本地生活服务也迎来了蓬勃的发…

Windows RS485\USB转换接头,连接modbus温度传感器接线方法

文章目录 背景接线方式安装RS485\USB转换接头的驱动程序查看COM口号&#xff08;Communication Port&#xff08;通讯端口&#xff09;&#xff09;测试modbus数据传输 背景 买了个rs485 modbus协议的温度传感器&#xff0c;因为想接到windows上&#xff0c;用传感器厂家提供的…

浅谈无线测温产品在菲律宾某工厂配电项目的应用

摘要&#xff1a;配电系统是由多种配电设备和配电设施所组成的变换电压和直接向终端用户分配电能的一个电力网络系统。由于配电系统作为电力系统的一个环节直接面向终端用户&#xff0c;它的完善与否直接关系着广大用户的用电可靠性和用电质量&#xff0c;因而在电力系统中具有…

元宇宙外科手术vrar仿真实验室平台提高了培训效率和安全性

在科研与教育的领域中&#xff0c;实验室的作用举足轻重。然而&#xff0c;传统实验室受限于时间、空间、资源等因素&#xff0c;难以满足日益增长的科研与教育需求。在这一背景下&#xff0c;3D元宇宙仿真实验室应运而生&#xff0c;以其独特的优势&#xff0c;成为科研与教育…

无菌药品生产(A级区域)--气流流型测试可视化烟雾试验详细介绍

技术背景 无菌药品是指法定药品标准中列有无菌检测项目的制剂和原料药&#xff0c;包括注射剂、眼用制剂、无菌软膏剂、无菌混悬剂等。目前工程中&#xff0c;以注射剂产品为主的厂房占据了很大的比重。 无菌药品生产质量风险管理中&#xff0c;人员及其活动被视为重大的污染…

工程项目立项需要做哪些准备?

工程项目立项是一个复杂的过程&#xff0c;需要进行多方面的准备工作。这些准备工作对于项目的顺利进行至关重要&#xff0c;下面将详细介绍工程项目立项需要做哪些准备。 一、项目前期调研 在进行工程项目立项之前&#xff0c;需要进行充分的前期调研。这个阶段的主要目的是了…

【数据结构】——双链表(增删查改)

目录 前言&#xff1a; 一&#xff1a;双链表的定义 ​编辑 二&#xff1a;双向链表的实现 2.1&#xff1a;链表的构造 2.2&#xff1a;创建头节点 2.3&#xff1a;创建节点 2.4&#xff1a;链表的尾插 2.5&#xff1a;链表的打印 2.6&#xff1a;链表的尾删 2.7&a…