身为测试人“我“不再背锅,完整一套软件测试流程汇总...

news2024/11/18 6:16:02

目录:导读

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


前言

关于测试流程,100家公司可能有100套测试流程,但是基本上都是大同小异,完全可以将测试流程形成一套可复用的SOP。

测试流程

E1

需求分析

产品经理根据用户需求,梳理出需求文档,文档内容包括用户背景、用户需求、产品方案、需求原型、UI设计图(UI设计师填写)、技术方案(开发经理填写)、接口文档(开发人员填写)等信息。

我们需要提前阅读相关文档,深刻理解需求,对于有疑问的点提前进行标注,以便于在之后的需求评审会议上抛出疑问点。

阅读需求文档的时候,除了关注功能要求之外,还需要关注用户背景,站在用户的角度思考问题,以判断需求是否真正符合用户需求,避免交付到用户手上时发现不是用户想要的效果,还需要关注数据类型、接口定义、性能要求、安全性等,根据具体业务进行评估即可,同时还需要考虑一些隐性需求。

需求评审

产品经理给到需求文档后,会召集一个需求评审会议,参加评审的一般有产品经理、开发人员、测试leader或对应需求的测试人员。

在需求评审时不仅要了解需求,还要评估需求的质量,分析需求的完整性以及合理性,及时发现需求和设计中的问题,抛出疑问给产品经理,并得到相应的解决。

思考需求中的测试点、测试场景等,便于之后测试用例的设计和编写。

测试计划

需求评审完成之后,大家都没什么问题了,测试Leader会给出测试计划,测试计划主要叙述了预定的测试活动范围(哪些模块)、测试人员、测试资源(软件、硬件)、进度安排(预计提测时间、测试用例所需工作日、一轮测试所需时间、二轮测试所需时间、预计测试完成时间)以及风险时间(提测质量低或其他因素引起测试时间增加)等。

测试用例设计

测试人员根据需求文档和原型图等进行测试用例的设计和编写,用例格式有很多种,比如:Excel、XMind、Testlink等。有的要求完整的测试用例,有的只需要列出测试点即可,根据公司实际要求进行即可。

测试用例评审

测试用例编写完成之后,会进行用例的评审,主要是检查里面有没有什么问题,或者跟需求文档有误的点,以及是否有未考虑到的测试点。

整个到这个阶段,开发人员也差不多开发完成了。

开发自测

让开发加强单元测试,测试人员通过提供测试用例或自动化测试脚本的方式给开发,让开发在设计时考虑更全面,同时方便开发自测,有助于提高产品质量,避免在收到提测包时冒烟测试主流程都没通过,导致测试效率低下。

提测

开发自测完成后正式提测,由开发人员将代码推到相应的Git分支。

测试环境部署

测试环境部署可能是运维人员、开发人员、或测试人员。

操作系统一般是Linux或Windows;用到的一些容器技术。
例如:Docker、Kubernetes;数据库可能是MySQL、SqlServer、Oracle、人大金仓数据库、达梦数据库、神通数据库、Redis缓存等,其中可能还有用到一些中间件,例如:Web中间件Nginx、消息队列MQ、Kafka等。

不过现在很多公司都有一套持续集成和持续部署平台,只需开发人员将代码提交到相应的分支,就能触发其自动部署更新。

冒烟测试

测试环境部署完成之后,需要先进行冒烟测试。

冒烟测试就是针对每次版本或每次需求变更之后,在正式测试之前,对产品或系统的一次简单验证性测试。

验证产品或系统的基本功能、主流程是否正常。可以将冒烟测试理解为是在执行正式测试之前的“预测试”,目的是确认软件的基本功能正常,可以进行后续的测试工作。

如果这个版本的冒烟测试都没通过,后面就不用继续测试了,直接打回给开发人员,待冒烟能通过后再提测。

需关注的点:
系统的基本功能可以正常使用,避免新功能导致系统原本功能无法使用
本次迭代需求的主流程可以跑通。

前面开发自测是目的也是为了更快地通过冒烟测试,有了开发自测,提测的质量会大大提高,原本可能需要花费一天时间冒烟的功能很快就能通过。

执行测试

按照之前编写的测试用例进行测试,测试过程中可能会发现之前遗漏的场景,这时需要补充完善测试点。还可能发现一些实际效果与产品原型不一致的地方,这时就需要跟开发、产品等人员进行沟通。

提交Bug并跟踪

测试过程中发现软件的缺陷,提交到相应的缺陷管理平台并指派给对应的开发人员,例如:Jira、禅道等。

对Bug进行跟进,若开发人员未及时修复,应适当催促,避免项目都要上线了,还有很多Bug未修复,影响交付,甚至延期。

待开发修复完Bug并提交新代码后,对Bug进行回归验证,若测试通过则将Bug关闭,若测试未通过则重新打开。

二轮测试、N轮测试

对新功能进行多轮测试。

回归测试

对旧功能进行回归测试,保证旧功能不被新功能影响而出现严重的Bug。

这个阶段就可以用到自动化测试,实现快速回归。

例如:结合公司业务实现一套覆盖公司系统绝大部分接口的接口自动化测试框架,在上线前跑一遍,以便于测试人员第一时间发现问题,并提交给开发人员进行修复解决,减少线上Bug率;

对于有些功能是在前端做校验,无法通过接口进行回归,又是主功能,就可以将其实现UI自动化。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生的道路上或有坎坷,或有荆棘,但只有努力和奋斗才能驱散困难的阴霾。保持积极向上的心态,勇往直前,超越自我,不畏艰险。相信自己的实力,放飞梦想的翅膀,追逐属于自己的辉煌!

在追逐梦想的路上,披荆斩棘,奋勇向前。不断磨练自己的才华与能力,勇往直前,扬帆起航。相信自己的坚持与努力,无论多么艰难,都能创造出属于自己的辉煌人生,书写不朽的传世华章!

勇往直前,脚步不停;奋斗不息,梦想绽放。不让困难阻挡前行的步伐,用坚持与努力铸就辉煌。相信自己的能力与潜力,突破自我。

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

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

相关文章

FPGA优质开源模块 - SRIO

本文介绍一个FPGA常用模块:SRIO(Serial RapidIO)。SRIO协议是一种高速串行通信协议,在我参与的项目中主要是用于FPGA和DSP之间的高速通信。有关SRIO协议的详细介绍网上有很多,本文主要简单介绍一下SRIO IP核的使用和本…

【论文精读2】用于多文档摘要生成的层次Transformer方法

前言 论文分享 来自2019ACL的多文档摘要生成方法论文,作者来自英国爱丁堡大学,引用数310 Hierarchical Transformers for Multi-Document Summarization 代码地址hiersumm 多文档摘要抽取的难点在于没有合适的数据集,同时过长的文档文本也导…

剑指 Offer 55 - II. ! 平衡二叉树

剑指 Offer 55 - II. 平衡二叉树 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 来自力扣K神的解法1,真的是太巧妙了! 方法recur检查以nod…

什么是自动化测试框架?自动化测试框架有哪些?

一、自动化测试 1、为什么要做自动化测试? 自动化测试就是把以人为驱动的测试行为转化为机器执行的一种过程,即模拟手工测试的步骤,通过执行测试脚本自动地测试软件自动化测试就是程序(脚本)测试程序,使用…

LeNet卷积神经网络-笔记

LeNet卷积神经网络-笔记 手写分析LeNet网三卷积运算和两池化加两全连接层计算分析 基于paddle飞桨框架构建测试代码 #输出结果为: #[validation] accuracy/loss: 0.9530/0.1516 #这里准确率为95.3% #通过运行结果可以看出,LeNet在手写数字识别MNIST验证…

如何开启一个java微服务工程

安装idea IDEA常用配置和插件(包括导入导出) https://blog.csdn.net/qq_38586496/article/details/109382560安装配置maven 导入source创建项目 修改项目编码utf-8 File->Settings->Editor->File Encodings 修改项目的jdk maven import引入…

【C++】类和对象——拷贝构造函数、运算符重载、日期类实现、const成员、取地址操作符重载

目录 拷贝构造函数运算符重载日期类实现const成员取地址及const取地址操作符重载 拷贝构造函数 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。 拷贝构…

SOLIDWORKS 钣金零件怎么画?

一、SOLIDWORKS 钣金功能介绍 SOLIDWORKS 是一款广泛应用于机械设计领域的 CAD 软件,其钣金功能可以帮助用户快速创建钣金件的 3D 模型。钣金折弯是一种常见的加工方式,可以将平面材料通过弯曲变形成为所需形状。 二、如何使用 SOLIDWORKS 钣金功能 步骤…

shell清理redis模糊匹配的多个key

#!/bin/bash# 定义Redis服务器地址和端口 REDIS_HOST"localhost" REDIS_PORT6380# 获取匹配键的数量 function get_matching_keys() {local key_pattern"$1"redis-cli -h $REDIS_HOST -p $REDIS_PORT -n 0 KEYS "$key_pattern" }# 删除匹配的键 …

一文带你详细了解Open API设计规范

写在前面: OpenAPI 规范(OAS)定义了一个标准的、语言无关的 RESTful API 接口规范,它可以同时允许开发人员和操作系统查看并理解某个服务的功能,而无需访问源代码,文档或网络流量检查(既方便人…

Atlas200DK A2联网实战

文章目录 1.Atlas原始网络信息2. 开发板联网2.1 使用Type-c 连接开发板2.2 修改本地网络适配器2.3 修改开发板网络信息2.4 测试外网连接 1.Atlas原始网络信息 Type-C 网口 ETH0 网口 ETH1 网口 2. 开发板联网 2.1 使用Type-c 连接开发板 使用xshell 等ssh终端登录开发板&…

【C++从0到王者】第十五站:list源码分析及手把手教你写一个list

文章目录 一、list源码分析1.分析构造函数2.分析尾插等 二、手把手教你写一个list1.结点声明2.list类的成员变量3.list类的默认构造函数4.list类的尾插5.结点的默认构造函数6.list类的迭代器7.设计const迭代器8.list的insert、erase等接口9.size10.list的clear11.list的析构函数…

【java安全】CommonsBeanUtils1

文章目录 【java安全】CommonsBeanUtils1前言Apache Commons BeanutilsBeanComparator如何调用BeanComparator#compare()方法?构造POC完整POC 调用链 【java安全】CommonsBeanUtils1 前言 在之前我们学习了java.util.PriorityQueue,它是java中的一个优…

2.2 身份鉴别与访问控制

数据参考:CISP官方 目录 身份鉴别基础基于实体所知的鉴别基于实体所有的鉴别基于实体特征的鉴别访问控制基础访问控制模型 一、身份鉴别基础 1、身份鉴别的概念 标识 实体身份的一种计算机表达每个实体与计算机内部的一个身份表达绑定信息系统在执行操作时&a…

3、详解桶排序及排序内容总结

堆 满二叉树可以用一个数组中从0开始的连续一段来记录 i i i位置左孩子: 2 ∗ i + 1 2*i+1 2∗i+1,右孩子: 2 ∗ i + 2 2*i+2 2∗i+2,父: ( i − 1 ) / 2 (i-1)/2 (i−1)/2 大根堆 每一棵子树的根为最大值 小根堆 每一棵子树的根为最小值 建大根堆 不断地根据公…

配置HDFS单机版,打造数据存储的强大解决方案

目录 简介:步骤:安装java下载安装hadoop配置hadoop-env.sh配置 core-site.xml配置hdfs-site.xml初始化hdfs文件系统启动hdfs服务验证hdfs 结论: 简介: Hadoop分布式文件系统(HDFS)是Hadoop生态系统中的一个…

【硬件设计】模拟电子基础二--放大电路

模拟电子基础二--放大电路 一、基本放大电路1.1 初始电路1.2 静态工作点1.3 分压偏置电路 二、负反馈放大电路三、直流稳压电路 前言:本章为知识的简单复习,适合于硬件设计学习前的知识回顾,不适合运用于考试。 一、基本放大电路 1.1 初始电…

数学建模-爬虫入门

Python快速入门 简单易懂Python入门 爬虫流程 获取网页内容:HTTP请求解析网页内容:Requst库、HTML结果、Beautiful Soup库储存和分析数据 什么是HTTP请求和响应 如何用Python Requests发送请求 下载pip macos系统下载:pip3 install req…

VactorCast自动化单元测试

VectorCAST软件自动化测试方案 VectorCAST软件自动化测试方案 博客园 软件测试面临的问题 有一句格言是这样说的,“如果没有事先做好准备,就意味着做好了 失败的准备。”如果把这个隐喻应用在软件测试方面,就可以这样说“没有测试到&#xf…

Tomcat虚拟主机

Tomcat虚拟主机 部署 [rootlocalhost webapps]# cd ../conf [rootlocalhost conf]# pwd /usr/local/tomcat/conf [rootlocalhost conf]# vim server.xml #增加虚拟主机配置&#xff0c;添加以下&#xff1a; <Host name"www.a.com" appBase"webapps"u…