第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。

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

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

九、回顾会

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

26.Java安卓程序设计-基于SSM框架Android的网店系统设计与实现

1. 引言 1.1 背景 介绍网店系统的背景,说明为什么设计这个系统以及系统的重要性。 1.2 研究目的 阐述设计基于SSM框架的Android网店系统的目标和意义。 2. 需求分析 2.1 行业背景 分析网店行业的特点和需求,以及目前市场上同类系统的不足之处。 …

2012-12-12 下载ndk编译出so和可执行文件,放到android 真机运行,包含源码。

一、下载ndk链接NDK 下载 | Android NDK | Android Developers 二、解压ndk后得到下面的文件,里面包含ndk-build.cmd,这个是用来编译的。 三、Android.mk和C源码。完整源码下载路径https://download.csdn.net/download/qq_37858386/88622702 3.1 A…

SpringIOC之LoadTimeWeavingConfigurer

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

spring 笔记七 Spring JdbcTemplate

文章目录 Spring JdbcTemplateJdbcTemplate概述JdbcTemplate开发步骤Spring产生JdbcTemplate对象 Spring JdbcTemplate JdbcTemplate概述 它是spring框架中提供的一个对象,是对原始繁琐的JdbcAPI对象的简单封装。spring框架为我们提供了很多的操作模板类。例如&am…

Python基础教程——制作一个宿舍管理系统(完整版,附源码)

今天我们一起学习一个新的小案例——宿舍管理系统。主要涉及列表、字典的初始化、增加、删除、修改和查询操作,以及函数的定义和调用。 一、需求: 有操作指引界面,显示操作号 能添加一个新的入住学生信息,包括学生姓名、宿舍号床…

vue3引入Echarts图表

说明:echarts是父组件,stack是子组件,将stack引入到echarts文件中 查看echarts.vue时可看到stack.vue中的图表 # # # 引入方式 第一步 Echarts官网:快速上手 - 使用手册 - Apache ECharts 第二步 在控制台安装Echarts模块…

25.Java程序设计-基于SSM框架的微信小程序校园求职系统的设计与实现

1. 引言 1.1 背景 介绍校园求职系统的背景,说明为什么设计这个系统以及系统的重要性。 1.2 研究目的 阐述设计基于SSM框架的微信小程序校园求职系统的目标和意义。 2. 需求分析 2.1 行业背景 分析校园求职行业的特点和需求,以及目前市场上同类系统…

基于Java的教学信息反馈系统设计与实现(源码+调试)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于Java的教学信息反馈…

高频Postman接口测试面试题

一、Postman在工作中使用流程是什么样的? 新建集合管理根据接口所属的模块,在集合中不同模块下编写接口测试用例处理接口之间的数据关联操作添加环境变量在tests tab下中增加断言调试接口,确保接口能被正常调用批量运行用例或者导出通过Newm…

Dubbo 快速入门使用教程

文章目录 Dubbo 介绍Dubbo 入门使用一、Zookeeper 注册中心安装启动二、服务提供方三、服务消费方 Dubbo 介绍 dubbo 2.x版本官方文档 参考 Apache Dubbo 是一款 RPC(Remote Procedure Call 远程过程调用)服务开发框架,提供了远程调用方案和…

RabbitMQ死信队列详解

什么是死信队列 由于特定的**原因导致 Queue 中的某些消息无法被消费,**这类消费异常的数据将会保存在死信队列中防止消息丢失,例如用户在商城下单成功并点击支付后,在指定时间未支付时的订单自动失效死信队列只不过是绑定在死信交换机上的队…

为什么谷歌每年向苹果支付180亿美元“保护费”

在大众印象里,谷歌和苹果似乎处处“水火不容”。 两大科技巨擘在各类产品和服务上竞争,比如操作系统、浏览器、地图、数字助理、手机,数不胜数。但是在这种敌对关系背后,却有着对他们双方都有利的秘密伙伴关系。 你或许不知道&am…

Qt 数据库QSqlDatabase使用记录

记录一些在QT中使用QSqlDatabase操作数据库时,需要注意的地方 创建数据库 bool CDBOperatorAbstract::_openDBConn(CDatabaseConfig config) {QWriteLocker locker(&m_locker);QSqlDatabase db;if(QSqlDatabase::contains(m_connectionName)){db QSqlDatabas…

CloudFlare 优选ip 和 优选域名的获取方法

1.CloudFlare优选IP网站:【链接直达】 2.CloudFlare 优选IP工具:【开源软件】 3.CloudFlare 优选域名:【GitHub开源工具】 4.CF优选域名推荐: time.cloudflare.com shopify.com time.is icook.hk icook.tw ip.sb japan.com malaysia.com rus…

深入学习《大学计算机》系列之第1章 1.2节——问题描述与抽象

一.欢迎来到我的酒馆 第1章 1.2节,问题描述与抽象。 目录 一.欢迎来到我的酒馆二.问题描述、抽象与建模1.什么是抽象2.为什么要抽象3.什么是建模4.建什么模 三.面向计算机的问题分析四.总结 二.问题描述、抽象与建模 什么是抽象?为什么要抽象&#xff1f…

Chrome限制第三方Cookie:未来无法再追踪你看过哪些敏感的“色色”内容了

当我们在浏览网络的时候,常听到「Cookie」这个词,但许多人可能不太清楚它到底是什么。最近,Google 宣布了一项重要更新,Google Chrome 将减少对第三方cookie 的支持,以提高用户隐私保护。 下面我会解释一下这个改变对…

打印机设置发票收据打印

由于各种打印机型号不一样,设置方式打印效果出入也很大,存在打印不全问题,发票右侧小数点后面的数字打印不出来、位置靠上下左右登问题,比较通用的设置方式如下: 首先找到控制面板,找到设备和打印机 进入到…

Aurora8B10B(二) 从手册和仿真学习Aurora8B10B

一. 简介 在上篇文章中,主要结合IP配置界面介绍了一下Aurora8B10B,这篇文章将结合文档来学习一下Aurora8B10B内部的一些细节 和 相关的时序吧。文档主要是参考的是这个 pg046-aurora-8b10b-en-us-11.1 二. Aurora8B10B内部细节 在手册上,对…

弧形导轨的精度等级

为符合工控自动化生产制造必须,弧形导轨在运输武器装备领域应时而生,并已在电子生产制造、手机上、半导体材料、动力锂电池等领域获得广泛运用。其中,弧形导轨的精度等级是评估其运动精度的重要指标,通常包括制造精度和运行精度两…

低代码核心能力详解:简化应用开发的新思路

低代码平台作为一种快速地应用开发解决方法,为中小企业实现数字化转型提供了机会。但是,对于一些刚开始触碰低代码平台的企业来说,了解其核心能力是很重要的。本文将详细分析低代码平台的核心能力,并在挑选低代码平台以前为中小企…