【Review+预测】测试架构演进的曲折之路

文章目录

前言

一、“原始”阶段

二、“小打小闹”阶段

三、“小米加步枪”阶段

四、“摩托化部队”阶段

五、“骑兵连”阶段

六、“海军陆战队”阶段

七、“社区型组织”阶段


前言

        近期公司的测试团队需要重新组织安排,本着谦虚谨慎的态度,我从网上翻找了一下相关的资料,高质量的资料比较少,看到的大部分是比较宽泛的谈论。于是便想着梳理一下自己这几年的工作经历,把经验教训摘出来,然后再加一些同行的先进办法,搞一套完善一点的测试体系。这一梳理才发现,自己已经走过的了一条曲折的测试道路,现在把它分享出来,希望对读到的人有所裨益。

 

一、“原始”阶段

        这个阶段可以追溯到最早的校内实验室阶段。自己当时还是本科生,最有代表性的项目是全国大学生电子设计竞赛。那时候脑子里还没有专业测试相关的概念,整个项目就是老师讲一个大体的方案,然后学生一个设计电路板、一个写代码,然后两个人一起调试功能,功能出来了基本上也就到时间该提交东西了,最后小组一起去演示考评。

        这个阶段的测试还仅限于功能体调试和演示,所以用现在的眼光,从专业测试的角度来看,这是单个的设计人员自己做测试,我把它比喻成测试架构演进过程中的最“原始”阶段。

二、“小打小闹”阶段

        这个阶段还是在校内的实验室。比较典型的是一个大创项目,当时是要设计一套编程工具。这时候团队的稳定人员已经达到的6个以上了,大家就会交叉着做一些测试工作。比如我刚用开发出来的工具,实现了一个电子节气门的功能,这时候就会让另外一个人过来看一看试一试,收集一些评价。虽然说在单个设计物上面,做到了设计人员和测试人员的分立,但是这个“测试人员”毕竟还是设计人员中的一个,也没有明确的测试立场和独立的测试思维。这种测试模式我把它比喻成测试架构演进过程中的“小打小闹”阶段。

三、“小米加步枪”阶段

        这个阶段是在一个企业的研发部门。自己当时研究生还没有毕业,作为一名测试工程师,参与了几个控制器的开发项目。这时候跟我一起的还有另外三、四个测试工程师,已经形成了一个专门的测试小组,核心的工作就是做测试。这时候的测试工作,从横向和纵向展开的矩阵如下所示:

        这个阶段的测试人员,虽然形成了小组,有了专门的工作内容,但是毕竟还存在于设计部门内部,大部分工作都依设计规划而定,没有自己的工作流程。而且小组内部没有具体分工,也没有专门的设备设施做支撑,更没有测试角色的话语权,所以只是一种最初级的测试架构。这个阶段的测试模式,我把它比喻成“小米加步枪”式的测试架构。

四、“摩托化部队”阶段

        这个阶段的测试部门是在企业的质量中心下面。当时自己作为测试团队的一员,亲历了测试架构从第三阶段向第四阶段演进的始末。这个时候原本位于几个设计部门的测试小组分别走出来,共同合并为了一个大约15人的测试部门,归入质量中心。这个阶段的测试工作矩阵如下:

        这时候测试人员的工作内容有了更细致的划分,工作流程也规范了一些,有了专门的设施设备做支撑,也有了测试角度的话语权,算是一种比相对较高级的测试架构,所以可以比喻成一个“摩托化部队”。这个阶段还有一个重要的特征是,测试团队中出现了管理者的角色。这个角色从测试执行的试验任务中解放了出来,开始思考整个测试工作的发展问题,承担起了培养测试团队、写企业标准、画故障树、写FEMA、做性能仿真、挖掘设计薄弱、做回归分析、打测试补丁、研究电子可靠性、机械可靠性、做测试系统分析等工作。正是这个管理者角色的工作,把整个测试架构的形态推上了更高的一个台阶。但是由于质量工作的定位,与设计部门拉开了太大的距离,过度和衔接出现了一些问题,一部分原本来自设计部门的技术人员离开后,早期在测试上面的规划和设想便不了了之了。

五、“骑兵连”阶段

        这个阶段的测试团队,是企业设计部门中的一个测试小组,是介于前面第三阶段和第四阶段之间的一种中间形态。工作特点和组织形式兼备了设计部门的技术性和质量部门的严谨性,团队规模也是15人左右。这个阶段的测试工作矩阵如下:

        这时候的测试工作,在横向和纵向都拓宽和拉长了很多,测试工程师也开始细分。做软件测试的人就不去搞硬件测试,做测试开发的人就不去做测试执行。其中最重要的测试管理的人,也不去搞很发散的东西,而是专注于项目测试的框架、测试团队培养、测试设备建设、测试数据库维护、测试流程规范化、测试标准集编纂、新测试标准引入、新测试板块导入、新测试项开发、新测试技术培训、可靠性工程宣贯、等等这些非常内化的东西。这样的测试团队,因为工作更具象了,所以也更专注了,虽然不是很高大上,但是效率还是比较高的,所以可以比喻成一个“骑兵连”。

六、“海军陆战队”阶段

        这个阶段是未来要长期规划的一个新形态,期望的目标是测试工作既不依附于设计部门,也不拘泥于质量部门,一种独立的第三方形态。测试团队内部的稳定规模至少要达到25人以上,每个产品类型的测试团队中需要具备一名测试架构工程师,每个模块的测试小组中需要具备一名测试开发工程师和若干名测试工程师,每个人都有自己明确的分工和要求。如果某个产品类型与已有的产品有重叠的测试模块,就可以与其他产品线共用测试小组,但是至少要有一名专门的测试架构工程师。大体的测试架构应该是如下这样的三维状态:

        这种形态的测试部门,要求有足够的设施设备资源做基础支撑,测试团队的每个人员对产品的原理和应用要有足够深入的理解,对相应的法规和标准要足够的熟悉,并持续维持高度的技术专业性。这种宽领域的知识和技能储备,我把他比喻成了“海军陆战队”。测试团队的管理者要有足够的话语权,能够争取到上级的足够重视和支持投入,能协调到足够的外部配合,能建立一套科学的人才考核制度来推动整个部门的发展车轮向前滚动。

        这样的测试架构才能够保持自己的正常节奏,真正发挥出测试的本质作用——早期充分挖掘问题,提高产品可靠性,最大程度降低后期风险。

七、“社区型组织”阶段

        未完待续…


        版权声明:原创文章,转载请注明出处与链接,违者必究!

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

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

相关文章

视频技术1:使用ABLMediaServer推流rtsp

ABLMediaServer定位是高性能、高稳定、开箱即用、商用级别的流媒体服务器 下边展示了如何把1个mp3作为输入源,转换为rtsp流的过程。 作用:用rtsp模拟摄像头的视频流 1、启动ABLMediaServer ABLMediaServer-2024-03-13\WinX64\ABLMediaServer.exe 配…

Redis中的缓存雪崩

缓存雪崩 🤔现象分析 缓存雪崩是指在同一时段大量的缓存key同时失效或者缓存服务(Redis等)宕机,导致大量请求到达数据库,带来巨大压力。 👊 解决方案 利用Redis集群提高服务的可用性,避免缓存服务宕机给缓存业务添…

流畅的 Python 第二版(GPT 重译)(十)

第十八章:with、match 和 else 块 上下文管理器可能几乎与子例程本身一样重要。我们只是初步了解了它们。[…] Basic 有一个 with 语句,在许多语言中都有 with 语句。但它们的功能不同,它们都只是做一些非常浅显的事情,它们可以避…

打造高效安全的电池管理 | 基于ACM32 MCU的两轮车充电桩方案

随着城市化进程的加快、人们生活水平的提高和节能环保理念的普及,越来越多的人选择了电动车作为代步工具,而两轮电动车的出行半径较短,需要频繁充电,因此在城市中设置两轮车充电桩就非常有必要了。城市中的充电桩不仅能解决两轮车…

数字排列 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C++ 题目描述 小明负责公司年会,想出一个趣味游戏: 屏幕给出 1−9 中任意 4 个不重复的数字,大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第 n 位置的数字,其中 n 为给出数字中最大的(如果不到这么多数…

diffusion model(十四): prompt-to-prompt 深度剖析

infopaperPrompt-to-Prompt Image Editing with Cross Attention Controlgithubhttps://github.com/google/prompt-to-promptOrg:Google Research个人复现https://github.com/myhz0606/diffusion_learning个人博客主页http://myhz0606.com/article/p2p 1 前言 基于扩散模型&a…

MySQL数据库 - 事务

1. 事务的概念 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中, 要删除一个人员,即需要删除人员的基本资料,又需要删除和该人员相关的信息,如信箱, 文章等等。这样&#x…

移动硬盘故障解析:解决无法访问且位置不可用问题

在我们日常的工作和生活中,移动硬盘已成为存储和传输数据的重要工具。然而,有时我们会遇到移动硬盘无法访问且位置不可用的情况,这无疑给数据的存储和访问带来了极大的困扰。本文将深入探讨这一问题,分析其原因,并给出…

网络工程师练习题6

网络工程师 综合题 计算并填写下表: TP地址191.23.181.13子网掩码255.255.192.0地址类型 (1)网络地址(2)直接广播地址(3)主机号(4)子网内的最后一个可用IP地址&#xf…

mysql的学习笔记

干前端好几年了,只会前端总感觉少了条腿,处处不自在,决定今年学习下后端的东西.以前总想着学node会更快,但是实际工作上却用不上. 出来混,总是要还的,该学的javaWeb这一套体系的东西,总是需要学习的. 那就开始啦. 一,在本地电脑mac上安装mysql 这个参考的这篇文章,照着做一次…

线性顺序表算法库

list.cpp 具体函数实现 #include <stdio.h> #include "list.h" #include <malloc.h>/************************************************** ①函数名: CreateList 功 能: 用数组构建顺序表 参 数: ①SqList *&L:传入的线性表 ②ElemType a[]:使用…

文件上传基础篇

文件上传基础篇 文件上传漏洞原理 ​ 目标网站存在文件上传接口&#xff0c;但是对用户上传的文件没有做仔细甄别&#xff0c;导致黑客可以根据此功能点直接上传木马到网站服务器&#xff0c;造成危害 文件上传存在点 ​ 通常有头像上传&#xff0c;pdf上传 文件上传防护 …

Git浅谈配置文件和免密登录

一、文章内容 简述git三种配置ssh免密登录以及遇见的问题git可忽略文件git remote 相关操作 二、Git三种配置 项目配置文件(局部)&#xff1a;项目路径/.git/config 文件 git config --local user.name name git config --local user.email 123qq.cc全局配置文(所有用户): …

X1 grok-1 开源大语言模型下载

Grok 前言 大型语言模型 Grok-1 的基本模型权重和网络架构。Grok-1 是一个 3140 亿参数的专家混合模型&#xff0c;由 xAI 从头开始训练。 这是 2023 年 10 月结束的 Grok-1 预训练阶段的原始基础模型检查点。这意味着该模型不会针对任何特定应用&#xff08;例如对话&#x…

Linux的学习之路:1、发展史与编译环境的搭建

一、发展史 1991年10月5日&#xff0c;赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组 &#xff08;comp.os.minix&#xff09;中宣布他编制出了一种类似UNIX的小操作系统&#xff0c;叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发…

【群晖】Docker Compose部署 Emby Server

【群晖】Docker Compose部署 Emby Server 本来群晖上面的 Emby 是用套件安装的&#xff0c;但是不巧的是前两天脑袋一抽装了两个插件&#xff0c;导致 Emby Server被当肉鸡了&#xff0c;还找不到脚本代码在哪儿&#xff0c;一天时间上传了3T的流量。无奈之下&#xff0c;只能尝…

计算机二级大题

题目来源&#xff1a;计算机二级Python半个月抱佛脚大法&#xff08;内呈上真题版&#xff09; - 知乎 1.大题1 注意csv文件读取的处理 ls[] for line in f: ls.append(line.strip(\n).split(,)) 2. 大题2 第一问&#xff1a; #计算有效票张数 fopen("vote.txt",…

LinuxU盘挂载原理,为什么要用到U盘挂载及实现U盘挂载

目录 一、U盘挂载原理 二、为什么要用到U盘挂载 三、实现U盘挂载 一、准备工作 1、安装gcc 2、下载ntfs-3g 3、解压 4、编译准备 5、编译并安装 二、挂载演示 一、U盘挂载原理 Linux的U盘挂载原理涉及以下几个方面&#xff1a; 设备识别&#xff1a;当您将U盘插入Lin…

leetcode刷题(javaScript)——动态规划相关场景题总结

动态规划在 JavaScript 刷题中有一定的难度&#xff0c;但也是非常常见和重要的算法思想。动态规划通常适用于需要求解最优解、最大值、最小值等问题的场景&#xff0c;可以将复杂问题拆分成子问题&#xff0c;通过存储子问题的解来避免重复计算&#xff0c;从而提高效率。 理解…

整数和浮点数在内存中存储

整数在内存中的存储 整数的2进制表⽰⽅法有三种&#xff0c;即原码、反码和补码。 对于整形来说&#xff0c;数据存放内存中的其实是补码。 在计算机系统中&#xff0c;数值一律用补码来表示和存储。原因是&#xff0c;使用补码&#xff0c;可以使符号位和数值域统一处理&am…