第1章:企业级研发测试流程

news2024/11/19 19:28:03

研发流程.png

通过实际(自研互联网)企业的研发流程一览图。

我们发现分为9个阶段,当然每个公司细节并不一样。

所以我希望你能理解这句话:
一切的流程、行为、结果都是围绕“产品质量”这4个字开展活动。而作为测试,你该考虑的是如何满足项目“进度要求”的前提下,达到“产品质量”的最上限!

接下来,我们就详细的说说每个阶段,我们作为测试人员的所作所为!

一、需求阶段

“需求”一定是重点!

什么是需求?
需求即公司决策层,为公司发展,提出关于“产品”的功能idea。

那为了老板的“idea”,我们研发团队都做了哪些事?

产品经理:

  • 和管理层沟通“idea”的细节。
  • 确认“需求列表”实现优先级!(先搞哪个,后搞哪个)
  • 输出“产品说明文档(需求的规则)”、“产品交互文档(需求的页面交互)”,并与管理层再次确认是否与“idea”一致,有无思维上的错位。
  • 进行研发组的“需求评审”会议。

研发人员(前后端):

  • 听需求,开发leader分配任务。
  • 了解本次需求(新增、变更)以及影响范围,包括需求规格说明书、功能结构及模块划分,根据需求梳理代码实现方案。

测试人员:

  • 听需求,测试leader分配任务。
  • 了解本次需求(新增、变更)以及影响范围,包括需求规格说明书、功能结构及模块划分,根据需求梳理测试点。

作为刚入行的“测试人员”怎么更有效、更有质量的在评审环境及时发现问题,提出问题。
短时间内赢得团队的认同和领导的赏识。
我会在之后的章节专门讲一讲。

二、制定技术方案

制定技术方案,主要实施人员为“开发人员”。
制定技术方案的目的就是为了满足本次迭代“需求”的技术方案框架,满足“实现”与“预期”的功能、性能一致,并且不会对已实现的业务造成影响。
主要包含以下内容:

  1. 数据库表设计。
  2. 接口设计。
  3. 代码的详细设计。(小公司一般不会有,但会让开发进行关于业务逻辑的表述,确保与产品一致)
  4. 以上会形成文档,总结在《概要设计》中。

三、UI评审

我们都知道,一个产品肯定界面是要符合用户审美的,而负责这一审美的研发人员就是我们的UI设计师。

UI设计师当然不能随意设计,主要依据的还是《产品交互文档》进行设计,当然要根据个人经验,来进行更细化的交互设计。

四、技术评审

这个还要从第2点说起,听完需求后,也就是从第2点开始,研发就需要着手制定《技术方案》,自研公司的迭代周期大部分是“1个月1迭代”,所以这个“制定技术方案”的时间,基本上需要在1个礼拜内做完,甚至更短的时间。

在我经历的公司内,可能大部分开发人员对于业务的理解并不怎么重视。

所以开发人员在技术评审阶段需要进行两个宣讲内容:

  • 需求串讲。(开发会进行需求的二次宣讲,由产品经理确保在理解上不会有偏差)
  • 技术方案的宣讲。(表设计、接口设计等)

五、任务分配

既然技术评审已经完成,那么就到了开发任务的安排,为了计划更好的进行,所有公司都会有自己的研发管理平台,例如大家熟知的“JIRA”、“禅道”、“Excel”。

你可以理解在这个过程,研发部门需要输出《研发计划》包含最基本的“开发计划、测试计划、上线时间”即可。

这些不仅仅是测试人员理解的“BUG管理工具”,更是迭代的“需求”管理工具,可以很直观的将“产品”、“开发”、“测试”人员的工作联系在一起,通过看板数据来直观确保“计划的正常实施”。

开发:“研发工时”、“提测时间”等数据。
测试:“测试执行工时”、“测试完成时间”等数据。
产品:“版本预计发布时间”。
等等…

六、测试用例评审

测试人员一般对于业务的理解会很准确且积极的和产品沟通,所以不需要进行宣讲,主要是在“需求评审”后,就着手编写“测试用例”。

测试用例主要需要包含两点:

  • 产品文档的“内容的100%覆盖”且确认文档内无“缺胳膊少腿”等不合理的问题。
  • 产品文档以外的测试用例。

刚入行的软件测试人员
怎么做到“产品文档100%覆盖”?
又如何发现“更有质量的文档问题”?
产品文档之外的测试用例,又该设计哪些?我该怎么设计?

这些都是需要依靠“经验”的积累以及“更有效的工作方法”来解决。
你欠缺的仅仅是一个“敲门砖”,我10年的工作经验总结,会讲这个“敲门砖”用一个“很简单”、“很有效”、“可复制”的方法带你入门,而你要做的就是形成“肌肉(脑部)记忆”。

这一方法,我在我招聘的“软件测试培训出来的同事”身上,得到很好的“实验效果”,仅仅一个月,就达到了别人“一年的工作经验效果”,能够独当一面。

七、迭代开发&测试

大部分的外包可能是属于“集成测试”,即当“所有功能”完成开发后,提交测试人员进行测试。

自研互联网公司则不是,迭代时间决定了我们需要“快速发现问题”,“尽早发现问题”,所以我们会按模块进行测试,之后进行“集成测试”。(具体的过程,我们后续会讲)

总之,一句话:开发与测试并行。

当然在测试完成后,我们还需要输出《测试报告》…

八、发布版本

发布版本:“业务或产品验收通过后”,将代码“发布在线上环境”的过程,可以理解为发布过程。

当然过程中没有这么简单,但是也没有那么复杂,过程总结如下:

  1. 业务、产品验收通过。(这个验收过程,测试同学会进行一定协助)
  2. 开发合并本次代码到Master。
  3. 整理并提交SQL脚本、配置脚本等。
  4. 运维进行版本发布。
  5. 测试、开发跟进线上运行状况及Bug。

这是一个很简单的过程,当然有些公司还会准备“版本回滚方案、数据清洗等措施和计划”等。

你可以理解为:“版本正常有效的发布”和“紧急问题补救措施”这两个大类即可。

九、回顾会

大部分自研公司应该都会有这个环节吧,有的很客气,有的像吵架,有的还像“甩锅大会”。
总之,如果你第一次参加,可能会刷新自己的认知!

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

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

相关文章

数据结构与算法—查找算法(线性查找、二分查找、插值查找、斐波那契查找)

查找算法 文章目录 查找算法1. 线性查找算法2. 二分查找算法2.1 二分查找思路分析2.2 应用实例 3. 插值查找3.1 基本原理3.2 应用实例 4. 斐波那契4.1 基本原理4.2 应用实例 5. 查找总结 在java中,常用的查找有四种: 顺序(线性)查找二分查找/折半查找插值…

JS基本语法

JS基本语法 变量数据类型原始数据类型 函数定义第一种方式第二种方式 JS 对象ArrayStringJavaScript 自定义对象JSONDOMBOM JS 事件事件监听事件绑定常见事件 变量 数据类型 原始数据类型 函数定义 第一种方式 第二种方式 JS 对象 Array String JavaScript 自定义对象 JSON …

2023版本QT学习记录 -2- 标准文件对话框

头文件的使用 #include "QFileDialog"函数原型 getOpenFileName效果 参数 未完待续

电阻的运用

本文引注 https://baijiahao.baidu.com/s?id1749115196647029942&wfrspider&forpc 一、零欧电阻 在电子电路设计时经常用到的一种元件就是电阻,我们都知道电阻在电路中起到分压限流的作用。然而,实际使用时会用到一种特殊的电阻:零…

3ds max软件中的一些常用功能分享!

3ds max软件有很多小伙伴反馈说,明明有很多3ds max教程资料。却不知道如何入门3dmax。 掌握3dmax基本功能是开始使用3dmax的基础之一,所以,小编带大家盘点一下3dmax常用操作。 3dmax常用功能介绍如下,快快跟着小编一起看起来。 1…

[渗透测试学习] Codify - HackTheBox

首先nmap扫描端口 nmap -sV -sC -p- -v --min-rate 1000 10.10.11.239扫出来三个端口,22端口为ssh服务,80端口有http服务,3000端口为nodejs框架 尝试访问下80端口,发现页面重定向 将该域名添加到hosts里 sudo vim /etc/hosts 成…

优先考虑泛型

Java中的泛型(Generics)提供了一种参数化类型的机制,使得你可以编写更灵活、类型安全的代码。下面是一个例子,说明在Java中优先考虑泛型的好处: 考虑一个简单的容器类,它可以存储任意类型的元素&#xff0…

三种好用的在线色彩提取工具

#三种好用的在线色彩提取工具 1.ecjson网站 网址: https://www.ecjson.com/image_color#b1cfea 或点击链接: ecjson在线色彩提取 图1 ecjson网站色彩提取举例 2.微查网 网址:http://zxqsq.wiicha.com/ 或点击链接: 微查网在线色彩提取 …

JaveEE:手动实现定时器精讲

前言 在Java并发编程学习中,定时器是必不可少的环节。 我们知道线程的调度是随机的,但是有的时候我们就是需要它有序一些,此时的定时器就可以很好的解决这个问题。它可以按照一定的先后顺序,将我们的任务依次执行。 目录 一.Java官…

elementui + vue2实现表格行的上下移动

场景&#xff1a; 如上&#xff0c;要实现表格行的上下移动 实现&#xff1a; <el-dialogappend-to-bodytitle"条件编辑":visible.sync"dialogVisible"width"60%"><el-table :data"data1" border style"width: 100%&q…

mybatis高级扩展-插件和分页插件PageHelper

1、建库建表 create database mybatis-example; use mybatis-example; create table emp (empNo varchar(40),empName varchar(100),sal int,deptno varchar(10) ); insert into emp values(e001,张三,8000,d001); insert into emp values(e002,李四,9000,d001); insert into…

MATLAB代码:分布式电源接入对配电网影响分析

微♥关注“电击小子程高兴的MATLAB小屋”获取专属优惠 关键词&#xff1a;分布式电源 配电网 评估 仿真平台&#xff1a;MATLAB 主要内容&#xff1a;代码主要做的是分布式电源接入场景下对配电网运行影响的分析&#xff0c;其中&#xff0c;可以自己设置分布式电源接入…

【信息学奥赛】拼在起跑线上,想入道就别落下自己!

编程无难事&#xff0c;只怕有心人&#xff0c;学就是了&#xff01; 文章目录 1 信息学奥赛简介2 信息学竞赛的经验回顾3 优秀参考图书推荐《信息学奥赛一本通关》4 高质量技术圈开放 1 信息学奥赛简介 信息学奥赛&#xff0c;作为全国中学生学科奥林匹克“五大学科竞赛”之一…

LeetCode刷题--- 二叉树剪枝

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏&#xff1a;http://t.csdnimg.cn/ZxuNL http://t.csdnimg.cn/c9twt 前言&#xff1a;这个专栏主要讲述递归递归、搜索与回溯算法&#xff0c;所以下面题目主要也是这些算法做的 我讲述…

分析若依的文件上传处理逻辑

分析若依的文件上传处理逻辑 注&#xff1a;已经从若依框架完成拆分&#xff0c;此处单独分析一下人家精彩的封装&#xff0c;也来理解一下怎么做一个通用的上传接口&#xff01;如有分析的&#xff0c;理解的不透彻的地方&#xff0c;大家多多包含&#xff0c;欢迎批评指正&am…

Linux Zabbix企业级监控平台本地部署并实现远程访问

前言 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 本地zabbix web管理界面限制在只能局域…

数据结构 | DFSBFS,Prim代码

树的DFS&BFS prim算法 图的DFS和BFS DFS

Java小案例-RocketMQ的11种消息类型,你知道几种?(延迟消息)

前言 上一节给大家讲了Rocket的顺序消息&#xff0c;这一节和大家聊一下延迟消息&#xff0c;关于顺序消息大家可以点下面这个链接直接看 RocketMQ的延迟消息 延迟消息 延迟消息就是指生产者发送消息之后&#xff0c;消息不会立马被消费&#xff0c;而是等待一定的时间之后…

JMeter下载与安装

文章目录 前言一、安装java环境&#xff08;JDK下载与安装&#xff09;二、JMeter下载三、JMeter安装1.解压缩2.配置环境变量 四、JMeter启动&#xff08;启动成功则代表JMeter安装成功&#xff09;五、JMeter汉化&#xff08;将JMeter修改成中文&#xff09;1.方法一&#xff…

【Linux】内核结构

一、Linux内核结构介绍 Linux内核结构框图 二、图解Linux系统架构 三、驱动认知 1、为什么要学习写驱动2、文件名与设备号3、open函数打通上层到底层硬件的详细过程 四、Shell Shell脚本 一、Linux内核结构介绍 Linux 内核是操作系统的核心部分&#xff0c;它负责管理系…