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

研发流程.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.mzph.cn/news/226465.shtml

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

相关文章

克隆虚拟环境

conda虚拟环境 克隆clone 在服务器上想要使用别人搭好的环境,但是又怕自己对环境的修改更新会影响他人的使用,这个时候可以使用conda命令进行复制环境。 首先假设已经安装了Anaconda。 根据已有环境名复制生成新的环境 1、假设已有环境名为A&#xff0c…

【教学类-05-02】20231216 (比大小> <=)X-Y之间的比大小88题(补全88格子,有空格分割提示)

作品展示: 背景需求: 1、以前做过一份比大小的题目 【教学类-05-01】20211018 Python VSC 大班 数字比大小(> <)_vsc比较3位数大小-CSDN博客文章浏览阅读674次。【教学类-05-01】20211018 Python VSC 大班…

如何使用MySQL Workbench将样本数据库导入到MySQL数据库服务器

如何使用MySQL Workbench将样本数据库导入到MySQL数据库服务器 摘要:在本教程中,您将学习如何使用MySQL Workbench将MySQL样本数据库加载到MySQL数据库服务器。之后,您将有classicmodels示例数据库以方便练习和学习MySQL。 步骤1. 下载class…

centos8stream 升级 sqlite3 ,解决 SQLite 3.27 or later is required (found 3.26.0).

服务器环境是centos8stream, 默认的sqlite是 3.26 ,因此,需要升级。 sqlite官网:SQLite Download Page 1.从官网下载最新源码包 cd /opt/ wget https://www.sqlite.org/2023/sqlite-autoconf-3440200.tar.gz tar xvf sqlite-autoconf-344020…

Linux的权限(二)

目录 前言 文件类型和访问权限(事物属性) 补充知识 文件类型 文件操作权限 修改文件权限 chmod指令 文件权限值的表示方法 字符表示方法 8进制数值表示方法 权限有无带来的影响 修改文件角色 chown与chgrp指令 目录的rwx权限 补充知识 …

基于net6的zmq调试工具

0.前言 最近在做CS架构的上位机控制软件,服务端和客户端是通过zmq进行通讯的,网上现有的工具都是tcp、串口的调试工具,一直没有找到一个合适的zmq调试工具。就使用C#语言开发了这个简易的zmq调试工具,项目地址ZmqDebuggerTool。 …

小程序禁止滚动穿透,page-meta

使用场景:页面中有弹窗,并且弹窗里数据超过弹窗的高,要在弹窗做滑动操作,当弹窗滑动到底部的时候,继续划动会导致底层页面的滚动,这就是滚动穿透。这种情况对于体验感很不友好。 解决办法:使用p…

day03-报表技术POIEasyPOI

1、了解百万数据的导入 1.1 需求分析 使用POI基于事件模式解析案例提供的Excel文件 1.2 思路分析 **用户模式:**加载并读取Excel时,是通过一次性的将所有数据加载到内存中再去解析每个单元格内容。当Excel数据量较大时,由于不同的运行环境…

ArrayList与LinkLIst

ArrayList 在Java中,ArrayList是java.util包中的一个类,它实现了List接口,是一个动态数组,可以根据需要自动增长或缩小。下面是ArrayList的一些基本特性以及其底层原理的简要讲解: ArrayList基本特性: 动…

少儿编程:是智商税还是未来必备技能?

在当今这个科技日新月异的时代,编程已经成为了一项重要的技能。越来越多的家长开始关注少儿编程教育,希望孩子从小就能掌握这项技能。然而,也有一部分人认为少儿编程是一种“智商税”,认为这种教育方式并不适合所有孩子。那么&…

初识Pandas函数是Python的一个库(继续更新...)

学习网页: Welcome to Python.orghttps://www.python.org/https://www.python.org/https://www.python.org/ Pandas函数库 Pandas是一个Python库,提供了大量的数据结构和数据分析工具,包括DataFrame和Series等。Pandas的函数非常丰富&…

Java泛型(1)

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 本…

基于FFmpeg,实现播放器功能

一、客户端选择音视频文件 MainActivity package com.anniljing.ffmpegnative;import android.Manifest; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.net.Ur…

【每日一题】统计区间中的整数数目

文章目录 Tag题目来源解题思路方法一:平衡二叉搜索树 写在最后 Tag 【平衡二叉搜索树】【设计类】【2023-12-16】 题目来源 2276. 统计区间中的整数数目 解题思路 方法一:平衡二叉搜索树 思路 用一棵平衡二叉搜索树维护插入的区间,树中的…

Redis常用内存淘汰策略?

从淘汰范围来说可以分为不淘汰任何数据、只从设置了到期时间的键中淘汰和从所有键中淘汰三类。而从淘汰算法来分,又主要分为 random(随机),LRU(最近最少使用),以及 LFU(最近最不常使…

Linux--LAMP 平台部署及应用

5.1 LAMP平台概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统,Apache 网站服务器、MySQL数据库服务器&…

【人工智能 | 知识表示】问题规约法 谓词/符号逻辑,良好的知识表示是解题的关键!(笔记总结系列)

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

c#可变参数(params)关键字

通过使用 params 关键字,可以指定采用可变数量参数的方法参数。 可以发送参数声明中指定类型的参数的逗号分隔列表,也可以发送指定类型的参数数组。您也可以不发送任何参数。如果未发送任何参数,则参数列表的长度为零。 方法声明中的 param…

早上好,我的leetcode(第一期)

写在前面:每天早上到实验室早上昏昏欲睡,那不如写一题吧~ 文章目录 371. 两整数之和面试题08.05.递归乘法29.两数相除50.Pow(x,n)面试题 16.07. 最大数值2119. 反转两次的数字69. x 的平方根70.爬楼梯1631.最小体力消耗路径 371. 两整数之和 两整数之和…

基于ssm轻型卡车零部件销售平台源码和论文

随着信息化时代的到来,管理系统都趋向于智能化、系统化,轻型卡车零部件销售平台也不例外,但目前国内的市场仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化&a…