【软件测试】自动化测试常见问题(总结),我不再背锅...

news2024/11/15 21:36:17

目录:导读

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


前言

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

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

开展接口测试必备的技能

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

业务流:了解系统及内部各个组件之间的业务逻辑交互;
数据流:了解接口的I/O(input/output:输入输出);
协议:包括HTTP协议,TCP/IP协议族;
工具:工具可以辅助我们更好更高效的完成工作,常用的接口测试工具有:Jmeter、LoadRunner、SoapUI、Postman等;
数据库知识:无论是从数据库获取知识,还是确认数据落地,抑或接口对数据执行了哪些操作,都需要确认,因此数据库知识(其实就是增删改查)就很有必要;
接口文档的几个必要点:完整性、一致性、容错性;

接口自动化测试

1、如何开展接口测试?
首先,调试单个接口,保证单个接口的正确和通畅(类似于性能测试中的基准测试);
其次,明确数据流,业务流;
最后,将N个接口测试脚本串起来,执行即可;
最重要的一点,别想太多太复杂的层面,先把最基础最简单的做起来,就成功一大半了,至于扩展性的第三方接口、https、定时任务、自动出测试报告、自动发邮件等等功能,这都是不断累计和优化的,想太多不如行动起来,让接口自动化测试落地,才是我们首先需要考虑的。

2、开展之前需要明确的问题?
①现在的测试对象包含几个页面?
②每个页面涉及几个接口?
③分别在哪一步调用?
④每个接口包含哪些字段?
⑤各个字段对应数据库哪张表?
⑥每个表中各个字段是什么意思?
⑦各个接口对表产生了怎样的操作?

3、搭建自动化测试框架
什么是框架?可以理解为一个完整的环,也可以理解为让接口测试脚本运行的一整套环境,平台,随便什么都可以;

一般一个自动化测试框架包含以下几点。

数据池:即测试数据的存储管理,一般集成为一个data包,其中包括:

log(日志文件)、report(测试报告文件,一般为xml格式)、case-data(单个接口的测试数据,一般为json格式)、server-data(接口业务串联的数据,可以用excel管理)

脚本管理中心:接口测试脚本的统一管理、存储、调度中心,常用的工具有maven、ant等,或者可以使用编程语言中的单元测试框架提供的功能,选择自己适用的即可;

运行平台:一般是借助工具来运行这些测试脚本,工具可以使用上面提及到的几种(jemter、loadrunner、soapui等),同样,选择合适的很重要;

持续集成工具:最常见的就是Jenkins,它的作用就是监控外部程序的调用执行,定时或者触发调度任务,测试脚本执行等功能;

测试结果统计管理中心:比如testlink,目的是为了测试结果自动更新上传,更好的统计测试结果,以便后期的优化;

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

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次努力都是为了成为更好的自己,不管前路多么漫长,只要坚定决心,迈出第一步,终究会走向成功的彼岸。珍惜时间、保持热情,不断挑战自己,把握机遇,你就能够实现梦想,成就辉煌!

只有勇于承担,不断挑战自我的人,才能创造出属于自己的辉煌。无论前路如何崎岖,只要坚定信念、迈开步伐,成功必将在不久的将来向你招手。相信自己,永远保持奋斗的姿态!

只有拼尽全力,才能成就伟大事业;只有勇往直前,才能摆脱平庸生活。坚持不懈,迎难而上,没有什么困难是无法克服的。相信自己,努力奋斗,成功就在不远处,加油!

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

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

相关文章

红外感应水龙头方案,低功耗红外模块,支持探侦测学习WTU201F2

随着科技不断进步,智能化设备在各个领域得到了广泛的运用,红外感应智能化水龙头方案正在成为趋势,不仅为人们的生活带来了更多的便利性和舒适性,还能节约一定水资源。 在红外测距方案这个领域中,低功耗、抗干扰性强、…

Java教程:若依框架自带导出功能如何实现相同值合并单元格功能

----这段时间一直在用若依的框架做开发,非常方便,其中自带了导入导出功能,但默认的导出只能是一条一条数据,没有合并行功能,于是就在若依的gitee提交仓库请求中找到了这个方案,使用简单,步骤如下…

制冷机UL563测试?亚马逊美国站要求卖家提供UL测试报告!

制冰机是一种将水通过蒸发器由制冷系统制冷剂冷却后生成冰的制冷机械设备,采用制冷系统,以水载体,在通电状态下通过某一设备后制造出冰。 为什么做UL测试报告: 电子产品乃是亚马逊美国站的销售NO1,亚马逊电子产品的卖…

【更新日志 v3.5.1】WRITE-BUG数字空间

保存草稿功能失效 文件贴标签功能失效 ⚙ 功能优化 圈子排序优化 ✅ v3.4.1 更新日志 2023年4月11日 😎 新增功能 内容分页 加载更多学习圈功能 👾 bug修复 修复标签hover消失 批注抖动bug 编辑器bug 列表显示全部成员 系统通知修复 代码仓库显示问题 ⚙…

Vision Transformer综述 part II

Vision Transformer综述 1. Transformer简介2. Transformer组成2.1 Self-AttentionMulti-Head Attention(多头注意力) 2.2 Transformer的其他关键概念2.2.1 Feed-Forward Network 前馈网络2.2.2 Residual Connection 残差连接2.2.3 解码器中的最后一层 3…

Html 下拉选择框 按钮 块

下拉选择框标签 下拉选择框标签&#xff1a;<select></select> 属性描述&#xff1a; 下拉选择框选择标签&#xff1a;<option></option> 属性详情&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"…

新畅美容美发平台V2.1.18 公众号+小程序【平台订单辅助+平台取号+门店插件+平台收银插件】

新畅美容美发平台是一款专注于美容美发等行业的小程序平台【微擎模块版】&#xff0c;专注于提供服务预约行业问题解决方案&#xff0c;涵盖预约服务&#xff0c;商品购买&#xff0c;会员系统&#xff0c;套餐卡项购买&#xff0c;积分商城&#xff0c;商家营销&#xff0c;文…

临近毕业招聘季,BOSS直聘依然困在营销里

临近毕业招聘季&#xff0c;BOSS直聘依然困在营销里。 近日&#xff0c;看准科技有限公司&#xff08;下称&#xff1a;“BOSS直聘”&#xff0c;NASDAQ&#xff1a;BZ&#xff09;公布了2023年一季度财报。 5月25日&#xff0c;财报公布后的首个交易日&#xff0c;其股价下跌…

软件问题解决:Origin的续期使用_导出的图片带有水印

问题&#xff1a; 我们在下载了Origin官方版本的时候&#xff0c;需要通过使用验证码进行验证&#xff0c;否则只能使用几天的时间&#xff0c;时间一旦过了就不能够正常使用了&#xff08;如导出的图片带有水印&#xff09;&#xff0c;为此给出的解决方案如下。 解决方案&am…

JDK8 中 ConcurrentHashMap 变化

结构简单&#xff1a;JDK8 抛弃 JDK7 的 Segment 分段锁机制&#xff0c;由 JDK7 的两级数组变回了原来的一级数组。链表长度>8&#xff0c;该链表转换为红黑树。 降低锁的粒度&#xff1a;锁住数组的每个桶的头结点&#xff0c;锁粒度更小。&#xff08;Hashtable 是锁住整…

新型糖基化氨基酸:Fmoc-Thr((Ac4Galβ1-3)Me,Ac4Neu5Acα2-6AcGalNAcα)-OH,化学CAS号174783-92-7

●英文名&#xff1a;Fmoc-Thr((Ac4Galβ1-3)Me,Ac4Neu5Acα2-6AcGalNAcα)-OH ●外观以及性质&#xff1a; Fmoc-Thr((Ac4Galβ1-3)Me,Ac4Neu5Acα2-6AcGalNAcα)-OH中通过对蛋白进行复杂蛋白糖基化修饰&#xff0c;细胞产生了极大丰度的蛋白质类型&#xff1b;通过对各类糖基…

适合做读书笔记的工具 这款APP满足你的笔记需求

说到读书&#xff0c;就免不了要提到读书笔记。很多人认为&#xff0c;边读书边做笔记才能更好地帮助我们更深入地理解和记忆所读的书籍内容。通过记录书中的重要观点、论据、事实和例子&#xff0c;我们可以更好地掌握书中的知识和思想&#xff0c;而不是仅仅浏览、快速阅读或…

window环境下有事无法下载sentry-cli.exe包解决方案

报错&#xff1a;Error: Unable to download sentry-cli binary from解决方案&#xff1a;查看下载配置 可通过修改SENTRYCLI_CDNURL来改变下载包的地址&#xff0c;手动把包下载下来&#xff0c;然后更改地址 window可以使用&#xff1a;set SENTRYCLI_CDNURLxxx&& n…

led显示屏是如何扫描驱动的

LED显示屏的扫描驱动是指将图像信号分解并按行或按列逐行/逐列地驱动LED点阵&#xff0c;以显示完整的图像。以下是LED显示屏常见的两种扫描驱动方式&#xff1a; 静态扫描驱动&#xff1a; 静态扫描驱动是最简单和最常见的驱动方式。在静态扫描驱动中&#xff0c;每个LED像素都…

怎么利用代理IP优化网络爬虫

网络爬虫会自动扫描互联网&#xff0c;搜集大量数据并将它们组织起来。但是&#xff0c;许多网站都采取了反爬虫策略&#xff0c;限制了网络爬虫的活动。这时候&#xff0c;代理IP就起到了关键作用。 一、代理ip在网络爬虫中的作用 代理ip爬虫中使用代理IP有很多好处。首先&…

EasyExcel 批量导入并校验数据

文章目录 前言一、pom二、使用步骤1.导入对象2.读入数据并保存 前言 EasyExcel 批量导入并校验数据 一、pom <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.7</version></depend…

【图像处理】基于收缩系数的粒子群优化和引力搜索算法的多级图像阈值研究【CPSOGSA】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Android性能优化大法——内存优化

作者&#xff1a;layz4android 内存&#xff0c;是Android应用的生命线&#xff0c;一旦在内存上出现问题&#xff0c;轻者内存泄漏&#xff0c;重者直接crash&#xff0c;因此一个应用保持健壮&#xff0c;内存这块的工作是持久战&#xff0c;而且从写代码这块就需要注意合理性…

python数据分析案例

对订单的数据类型进行封装 # data_define.py # 对数据进行封装 ORM class Record:def __init__(self, date, order_id, money, province):self.date dateself.order_id order_idself.money moneyself.province province# 魔术方法&#xff0c;print Record对象时&#xff…