8年资深测试总结,自动化测试成功实施,你不知道的都在这...

news2024/9/28 5:33:22

目录:导读

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


前言

什么项目(功能)适合自动化测试?

1、项目改动小
测试脚本的稳定性决定了自动化测试的维护成本;

如果项目改动频繁,测试人员也要根据改动的需求去修改测试脚本、测试用例,甚至需要修改底层的自动化测试测试框架;

项目中某些模块比较稳定的,就可以针对这些模块进行自动化测试(如:登录、注册等等);

项目生命周期长

自动化测试从 0 到 1 的搭建需要相当长的时间来完成;
包含了确定需求范围、自动化测试框架设计、编写自动化测试用例、调试、运行等工作;
已经可以理解为这是一个测试软件的开发过程;
唯有项目生命周期长才能支持这样一个过程;

2、项目资源充足
自动化测试需要一个 team 来搭配完成,需要一帮人长期维护才能发挥自动化测试的价值;

还得考虑公司的人力、物力(基础设施)能否支撑自动化测试长期运转;

3、需要回归测试的产品项目
项目一般迭代版本时,都需要过一遍全流程的回归测试,这将占用大量的人力时间;

若将回归测试转换为自动化测试,可以发挥自动化测试的最大优势;
为的就是:验证新增的功能是否引入新的问题,而旧的缺陷是否修复成功;

4、重复、机械性的动作
将繁琐又要重复执行的任务转换为自动化测试,可以节省大量人力成本,也是自动化测试的优势;

5、需要频繁的进行测试
需要每天都进行测试的模块,可以将它们转换为自动化测试,7*24 小时都能不间断的运行

什么项目(功能)不适合自动化测试?

1、项目改动太大
项目三天一小改,半月一大改;
有可能自动化测试用例/脚本刚写完,产品功能又发生变动了;
这样维护成本将会极高而且没有任何收益;

2、项目生命周期短
一个项目的生命周期只有一个月;
而这一个月的时间中相当长的时间都要用来看需求文档、改需求文档、编写测试用例等;
真正测试的时间并不多,此时还做自动化测试的话,可能用例都还没写完,项目就要 over 了;

3、定制型项目(一次性)
为客户定制的项目
开发、运行环境、后期维护都是客户说了算,这样很明显也不适合做自动化测试

4、易用性测试
上面也说到了,比如:界面美观性、体验友好程度、产品的易用性,只能人为感官,自动化测试无法完成

5、业务逻辑复杂
业务很复杂的对象,开发实现都很头疼的那种业务,一堆逻辑关系、运算关系,手工测试已经很难了,就没必要自动化测试了

6、不常用的功能模块
很少用到的功能(低优先级),回归测试都不需要测的,做自动化测试就显得多余了

7、软件不稳定
软件本身不稳定的话,比如:偶发崩溃、卡死,这样会很影响自动化测试的执行

8、硬件(物理)交互
和物理设备交互的自动化测试很难完成,比如刷卡、刷脸、插拔等操作

9、插播一个知识点
影响自动化测试的投入产出比的最关键因素就是:变化;
因为变化会导致需要修改自动化测试用例、脚本、框架,增加了维护成本;
如何控制失败、降低维护成本是自动化测试能否可持续性运转下去的关键;
当然,如果一个自动化测试用例永远都运行成功而没有失败也是没有意义的;

如何挑选自动化测试框架/工具?

根据测试类型进行初步区分:
接口自动化测试;
UI自动化测试;
性能测试;

1、接口自动化测试
工具:postman(入门)、jmeter(高级)
若需要结合代码更加推荐用 jmeter

代码:Python + Requests + 单元测试框架(Unittest、Pytest)、Cypress、HttpRunner、RobotFramework

2、UI自动化测试
app 端:Appium、Airtest、RobotFramework
小程序:MiniProgram
Web 端:Selenium、Cypress、RobotFramework
Window 端:Cypress(electron框架的应用)、Airtest

3、性能测试
Jmeter(开源,可二次开发)
Loadrunner(付费)

自动化测试用例覆盖度到什么程度?
回归测试一般都是选取主流程或优先级最高的功能模块进行回归;
而自动化测试又是解决人工回归测试的绝佳方案;
所以一般都会将主流程和优先级最高(使用频率最高)的功能模块的功能测试用例转换为自动化测试用例;

常用自动化测试框架:
接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;

如果让你来从零主导,如何开展自动化测试?

前期准备
评估被测项目是否适合做自动化测试(什么样的项目、团队适合开展自动化测试?)
评估被测项目适合在哪些功能模块做自动化测试(什么样的功能模块适合开展自动化测试?)
确定使用何种测试工具、测试框架;
评估开展自动化测试需要哪些资源,包括:人员、机器、时间;
当前可用或是可以申请到的资源;
如何在不影响日常测试工作的前提下,开展自动化测试工作;

启动自动化测试工作
确定自动化测试框架的开发原则;
搭建自动化测试框架;
确定自动化测试用例的编写原则;
根据功能测试用例,筛选可转换为自动化测试用例的用例集,评审;
编写自动化测试用例;
评审自动化测试用例;
编写自动化测试脚本;
调试自动化测试脚本;
运行自动化测试脚本;
输出测试结果,将报告发送至同事邮箱;

后期工作
完善自动化测试用例;
定期根据实际情况,调优自动化测试脚本、框架;
集成 CI,定时执行自动化测试脚本,自动发送测试结果到同事邮箱;

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一个成功者都有一个开始。勇于迈出第一步,然后坚定地走下去,即使前方道路崎岖不平,也不要放弃追求自己的梦想。相信自己,努力拼搏,你就会成为那个闪耀的人。

不要停下前进的步伐,即便道路崎岖不平;永远保持热情与毅力,成功就在不远处等待你。每一次努力都是累积,每一次尝试都是进步,不断地挑战自我,才能成就更美好的未来。加油!

只有不断地拼搏、努力奋斗,才能迎来属于自己的辉煌时刻。坚持不懈、百折不挠,即使道路再漫长,也会最终到达胜利的彼岸。今天的努力就是为了明天更好的成果,让我们一起加油吧!

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

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

相关文章

python:并发编程(二十七)

前言 本文将和大家一起探讨python并发编程的实际项目:Locust性能测试(篇一,共N篇),系列文章将会从零开始构建项目,并逐渐完善项目,最终将项目打造成适用于高并发场景的应用。 本文为python并发…

分支定价算法求解VRPTW问题(代码非原创)

参考文献:微信公众号“程序猿声”关于分支定价求解VRPTW的代码 A tutorial on column generation and branch-and-price for vehicle routing problems 框架 对于VRPTW问题,先做线性松弛,调用列生成算法(一种解决大型线性规划问…

Docker网络之Network Namespace

Docker网络中相关的命令非常少,但需要掌握的底层原理却又非常多。 1.Network Namespace Docker网络底层原理是Linux的Network Namespace,所以说对于Linux Network Namespace的理解对Docker网络底层原理的理解就显得尤为重要了。 2.需求 通过手工的方式…

ICC2与INNOVUS命令对照表

ICC2与INNOVUS命令对照表 TargetICC2INNOVUS设置多CPU set_host_options -max_cores16 setMultiCpuUsage -localCpu 16 获得物体的属性 get_attribute

DSP,国产C2000横空出世,QX320F280049,替代TI 的 TMS320F280049,支持国产

一、特性参数 1、独立双核,32位CPU,单核主频400MHz 2、IEEE 754 单精度浮点单元 (FPU) 3、三角函数单元 (TMU) 4、1MB 的 FLASH (ECC保护) 5、1MB 的 SRAM (ECC保护&…

全网最全,Selenium自动化测试POM模式总结(详细)

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

Python+Selenium+Unittest 之selenium7--元素定位6-CSS定位1(定位所有、定位class、定位id、tag定位)

目录 一、CSS简介 二、 定位方式 三、实践操作 1、*(定位所有元素) 2、. (定位class属性) 3、#(定位id属性) 4、tag定位 一、CSS简介 CSS属于是一种计算机语言,主要是用来为结构化文档的外…

软件测试期末速成(背题家出列!)

文章目录 一、前言二、选择题(15 X 2)1、概述2、相关概念3、黑盒测试4、白盒测试5、单元测试6、集成测试7、系统测试8、自动化测试9、实用软件测试技术 三、判断题(10 X 1’)四、简答题(4 X 5)1、软件测试生…

一文学会Nginx做图片服务器

Nginx做图片服务器 前言: Nginx是一个高性能的HTTP和反向代理web服务器,以及负载均衡器。根据nginx是高性能的http服务器,因此可以用作图片服务器使用。 本案例是在docker安装nginx来操作的。 什么是Nginx? Nginx是一款高性能的Web服务器和反向代理服…

linux入门之浅谈shell及权限的概念

文章目录 目录 文章目录 一、shell命令以及运行原理 二、linux权限的概念 1.Linux权限管理 a.文件访问者的分类(人) b.文件类型和访问权限 1)文件类型 2)基本权限 3)文件权限值的表示方法 4)文件访问权限的相…

docker快速部署oracle19c、oracle12c,测试环境问题复现demo快速搭建笔记

Oracle 19c测试环境快速搭建 安装 # 下载镜像 19.3.0.0.0 docker pull registry.cn-hangzhou.aliyuncs.com/laowu/oracle:19c # 创建文件 mkdir -p /mymount/oracle19c/oradata # 授权,不授权会导致后面安装失败 chmod 777 /mymount/oracle19c/oradatadocker run …

01背包思路解析+代码

01背包 题目链接:01背包 思路:题目要求是获取背包能装的最大重量。一个物品有体积和重量两个属性。而当我们判断一个物品是否要放进背包,第一取决于他的体积是否足以放进背包,第二取决于他的重量是否足以让我们取出已经放入的一部…

buuctf 你有没有好好看网课? 解析

打开文件得到两个压缩包,第一个压缩包flag2需要密码,第二个压缩包flag3打开后在备注可以获得提示 使用arc爆破,得到6位数字密码 解压压缩包得到一个视频和文档 文档内容包含6个数字,结合视频猜测是关键信息藏在这两个时间节点上 …

XSS注入——DOM型XSS

DOM型xss XSS根据恶意脚本的传递方式可以分为3种,分别为反射型、存储型、DOM型,前面两种恶意脚本都会经过服务器端然后返回给客户端,相对DOM型来说比较好检测与防御,而DOM型不用将恶意脚本传输到服务器在返回客户端,这…

如何优化Nginx服务进程(详细教程)

目录 一、了解Nginx服务配置内容 ① 外框架 ② 内框架 ③ 三个主模块 二、Nginx服务进程 访问信息的组成 Web服务的监听配置 LNMP架构 三、Nginx优化 隐藏版本号 可以查询指定地址的服务信息 更改配置文件内容 检查语法错误 重启服务 再次查看版本号是否隐藏 自…

【qiankun】前端微服务踩坑记录-长期更新

目录 前言 1.Cannot GET /cooperation/board 场景: 分析 解决 2.Invalid options in vue.config.js:"css.requireModuleExtension" is not allowed 原因 解决 3.less版本升级导致除法写法未转换 原因 解决 4.主子应用样式隔离 场景 解决 5…

Java进阶必读书单及博客

java基础 Java核心技术 卷I:开发基础(原书第12版) Java核心技术 卷II:高级特性(原书第12版) JVM 《深入理解Java虚拟机(第3版)》 并发 《Java并发编程实战》 《Java并发编程的艺术》 数据库 《MySQL技术…

win下安装Nginx

安装Nginx 前言 本文演示win11下安装Nginx-1.24.0。本文旨在记录安装流程以及梳理安装配置过程中的一些容易出错的地方。 目录 文章目录 前言目录下载Nginx安装包配置环境变量配置Nginx设置报错日志路径设置Nginx的启动端口号 启动Nginx 下载Nginx安装包 前往Nginx官方下载…

FineReport学习1

聚合报表是指将多个子报表数据进行集中汇总、分析和呈现的报表,通常用于展示公司的整体数据情况。聚合报表可以帮助管理人员和决策者更全面、准确地了解公司在不同维度上的业务情况,便于对公司业务进行分析和决策。 决策报表则是指根据决策需求构建的针…

性能测试——银行核心业务系统性能测试

目录 前言: 测试内容 测试方法 注意事项 总结: 前言: 本文讨论的是基于字符终端型的银行核心业务系统。银行核心业务系统由于其复杂的业务流程,以及特殊的终端字符形式,与一般的B/S结构、C/S结构系统有较大的差异&am…