当前位置: 首页 > news >正文

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

文章目录

前言

一、“原始”阶段

二、“小打小闹”阶段

三、“小米加步枪”阶段

四、“摩托化部队”阶段

五、“骑兵连”阶段

六、“海军陆战队”阶段

七、“社区型组织”阶段


前言

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

 

一、“原始”阶段

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

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

二、“小打小闹”阶段

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

三、“小米加步枪”阶段

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

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

四、“摩托化部队”阶段

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

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

五、“骑兵连”阶段

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

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

六、“海军陆战队”阶段

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

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

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

七、“社区型组织”阶段

        未完待续…


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

相关文章:

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

文章目录 前言 一、“原始”阶段 二、“小打小闹”阶段 三、“小米加步枪”阶段 四、“摩托化部队”阶段 五、“骑兵连”阶段 六、“海军陆战队”阶段 七、“社区型组织”阶段 前言 近期公司的测试团队需要重新组织安排,本着谦虚谨慎的态度,我从…...

2015年认证杯SPSSPRO杯数学建模D题(第二阶段)城市公共自行车全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 D题 城市公共自行车 原题再现: 城市交通问题直接影响市民的生活和工作。在地形平坦的城市,公共自行车出行系统是一种很好的辅助手段。一般来说,公共自行车出行系统由数据中心、驻车站点、驻车桩、自行车&…...

视频汇聚平台EasyCVR启用图形验证码之后调用login接口的操作方法

视频综合管理平台EasyCVR视频监控系统支持多协议接入、兼容多类型设备,平台可以将区域内所有部署的监控设备进行统一接入与集中汇聚管理,实现对监控区域的实时高清视频监控、录像与存储、设备管理、云台控制、语音对讲、级联共享等,在监控中心…...

【数据结构】非线性结构——二叉树

文章目录 前言1.树型结构1.1树的概念1.2树的特性1.3树的一些性质1.4树的一些表示形式1.5树的应用2.二叉树 2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的基本操作 前言 前面我们都是学的线性结构的数据结构,接下来我们就需要来学习非…...

数据分析POWER BI之power query

1.导入数据 ctrla全选--数据--获取数据--其他来源--来自表格/区域 导入数据,进入编辑模式 2.整理与清除 清除:删除所选列的非打印字符 转换--格式--清除 修整:删除前面和后面的空格 转换---格式---修整(修整后前面后面的空格没有了…...

【c语言】详解操作符(上)

1. 操作符的分类 2. 原码、反码、补码 整数的2进制表示方法有三种,即原码、反码、补码 有符号整数的三种表示方法均有符号位和数值位两部分,2进制序列中,最高位的1位是被当做符号位其余都是数值位。 符号位都是用0表示“正”,用…...

VR全景展示:传统制造业如何保持竞争优势?

在结束不久的两会上,数字化经济和创新技术再度成为了热门话题。我国制造产业链完备,但是目前依旧面临着市场需求不足、成本传导压力加大等因素影响,那么传统制造业该如何保持竞争优势呢? 在制造行业中,VR全景展示的应用…...

2.7、创建列表(List)

概述 列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、…...

solr functionquery函数查询自定义函数实现

Solr是一个开源的搜索平台,基于Apache Lucene库构建,主要用于提供全文搜索的功能。它被设计为一个高度可靠、可扩展的搜索应用服务器。以下是Solr的一些主要使用场景: 全文搜索:Solr最核心的功能是提供全文搜索,它可以…...

如何将 Parallels虚拟机 安装或者迁移到 移动硬盘 or U盘?

本文讨论主题 如何安装 Parallels 虚拟机到移动硬盘和U盘? 已经安装到了mac上的虚拟机如何迁移到移动硬盘活着U盘上? 关于Parallels Deskshop 19 虚拟机 安装激活,文末关注公众号AIshape,回复:PD 进行获取通过将虚拟机安装在外置的移动硬盘U盘上,可以节省mac本身SSD的容…...

大型网站集群管理负载均衡

课程介绍 结合企业大规模应用,解决应用高并发问题,解决单节点故障问题,缓存数据库的应用。学完掌握知识点:企业应用实现四七层负载均衡,以及Nginx等应用的高可用性,Redis缓存数据库的部署应用以及高可用方…...

JAVA使用POI实现Excel单元格合并-02

JAVA使用POI实现Excel单元格合并 实现效果 解释&#xff1a;只要是遇见与前一行相同的数据就合并 引入jar <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version></depe…...

深入了解 Linux 中的 MTD 设备:/dev/mtd* 与 /dev/mtdblock*

目录 前言一、什么是MTD子系统&#xff1f;二、 /dev/mtd* 设备文件用途注意事项 三、/dev/mtdblock* 设备文件用途注意事项 三、这两种设备文件的关系四、关norflash的一些小知识 前言 在嵌入式Linux系统的世界里&#xff0c;非易失性存储技术扮演着至关重要的角色。MTD&#…...

2、Spring CLI安装

安装 Spring CLI 提供了多种格式,让您选择自己喜欢的安装方法。可下载的制品可从发布页面获取。 二进制发行版 WindowsLinuxMac手动安装(Windows,其他自己看) spring-cli-standalone-<version>-windows.x86_64.zip - 打包了 x86 JDKspring-cli-installer-<versi…...

数据库备份工具(实现数据定时覆盖)

数据库备份工具&#xff08;实现数据定时覆盖&#xff09; 永远热爱&#xff0c;永远执着&#xff01; 工具介绍 自动化测试数据库更新调度程序 这段 Python 脚本自动化了每天定时从生产数据库更新测试数据库的过程。它利用了 schedule 库来安排并执行每天指定时间的更新任务…...

测试环境搭建整套大数据系统(十二:挂载磁盘到hadoop环境)

一&#xff1a;链接硬盘 将硬盘连接到计算机的 SATA 接口或 USB 接口&#xff0c;并确保硬盘通电并处于可用状态。 二&#xff1a;查看硬盘信息 sudo fdisk -l三&#xff1a;创建分区 gdisk /dev/vbd重新扫描磁盘 partprobe /dev/vdb格式化磁盘 mkfs.ext4 /dev/vdb2查看磁…...

Spring事务核心:声明式事务注解式事务

全解&#xff1a;声明式事务和注解事务 在Spring中&#xff0c;事务管理是一个非常重要的特性&#xff0c;它可以帮助开发者在应用程序中实现事务控制。Spring提供了两种事务管理方式&#xff1a;声明式事务和注解事务。 1. 声明式事务 声明式事务是指通过配置文件或注解的方…...

AcWing 1015. 摘花生

Problem: AcWing 1015. 摘花生 文章目录 思路解题方法复杂度Code 思路 这是一个典型的动态规划问题。我们需要在一个二维网格中&#xff0c;从左上角走到右下角&#xff0c;每次只能向右或向下移动&#xff0c;目标是使得经过的路径上的数字之和最大。 我们可以定义dp[i][j]为从…...

Dalle-3、Sora、Stable Diffusion 3 掀起AIGC新浪潮

随着科技的飞速发展&#xff0c;我们迎来了视觉AIGC高光时刻&#xff0c;一个充满无限可能与机遇的新时代。在这个时代里&#xff0c;三大里程碑Dalle-3、Sora和Stable Diffusion 3以其炸裂式的技术发展&#xff0c;引领着AIGC领域的新浪潮。文章首先做相应简要介绍&#xff0c…...

Unity 视频组件 VideoPlayer

组件添加&#xff1a; 在自己定义的组件下&#xff08;例如&#xff1a;Panel&#xff09; 点击 Inspector 面板中的 AddComponent &#xff0c;输入“VideoPlayer”。 资源 这里 视频资源有两种形式&#xff0c;第一种是 VideoClip &#xff0c;需要将视频文件拖拽到该属性字段…...

实战踩坑:antv G6与vite集成时的兼容性难题与解决方案

1. 当antv G6遇上vite&#xff1a;开发环境与生产环境的"薛定谔式报错" 最近接手一个数据可视化项目&#xff0c;需要用到antv G6这个流程图工具库。开发阶段一切顺利&#xff0c;页面渲染流畅得像德芙巧克力。但当我用vite打包准备上线时&#xff0c;控制台突然抛出…...

libcimbar视觉传输工具实战指南:跨设备无网络数据传输解决方案

libcimbar视觉传输工具实战指南&#xff1a;跨设备无网络数据传输解决方案 【免费下载链接】libcimbar Optimized implementation for color-icon-matrix barcodes 项目地址: https://gitcode.com/GitHub_Trending/li/libcimbar 一、核心价值解析&#xff1a;突破网络限…...

【大数据】离线数仓核心组件:Hive 架构解析与进阶操作指南

Hive 是基于 Hadoop 的数据仓库工具&#xff0c;主要用于解决海量结构化日志的数据统计问题。它提供了一套类 SQL 的查询语言 HiveQL&#xff0c;通过将 SQL 语句转换为运行在 Hadoop 集群上的 MapReduce 或 Spark 任务&#xff0c;大幅降低了大数据分析的工程门槛。 目录 一、…...

Mapbox GL JS 新手必看:GeoJSON 数据坐标填错,地图显示全乱套?

Mapbox GL JS 开发避坑指南&#xff1a;GeoJSON 坐标系问题全解析 刚接触 Mapbox GL JS 的开发者经常会遇到一个令人抓狂的问题&#xff1a;明明按照文档写了代码&#xff0c;GeoJSON 数据也加载成功了&#xff0c;但地图上的点线面全都显示在错误的位置&#xff0c;有的甚至跑…...

保姆级教程:在GD32F103上用Keil MDK5和FreeRTOS 202411.00创建你的第一个多任务LED闪烁项目

保姆级教程&#xff1a;在GD32F103上用Keil MDK5和FreeRTOS 202411.00创建你的第一个多任务LED闪烁项目 嵌入式开发的世界里&#xff0c;实时操作系统&#xff08;RTOS&#xff09;正变得越来越重要。对于刚接触GD32系列芯片或FreeRTOS的开发者来说&#xff0c;如何快速搭建一个…...

Ubuntu22.04部署Cartographer:从一键安装到参数调优全解析

1. 环境准备&#xff1a;Ubuntu 22.04与ROS2 Humble基础配置 在开始部署Cartographer之前&#xff0c;确保你的Ubuntu 22.04系统已经完成基础环境配置。我遇到过不少开发者因为跳过这一步&#xff0c;导致后续安装出现各种依赖问题。这里分享几个关键检查点&#xff1a; 首先…...

Hermes邮件生成器详解:如何配置产品信息和自定义主题

Hermes邮件生成器详解&#xff1a;如何配置产品信息和自定义主题 【免费下载链接】hermes Golang package that generates clean, responsive HTML e-mails for sending transactional mail 项目地址: https://gitcode.com/gh_mirrors/he/hermes Hermes是一款强大的Go语…...

Minecraft启动器与游戏配置工具全攻略:从新手到大师的进阶指南

Minecraft启动器与游戏配置工具全攻略&#xff1a;从新手到大师的进阶指南 Minecraft启动器是每一位玩家进入方块世界的第一道门&#xff0c;而一款优秀的游戏配置工具则能让你的冒险之旅更加顺畅。本文将以玩家视角&#xff0c;带你深入了解如何利用PCL2-CE这款强大的开源工具…...

英飞凌TC3XX时钟系统实战:从PLL配置到CCU分频的避坑指南

英飞凌TC3XX时钟系统实战&#xff1a;从PLL配置到CCU分频的避坑指南 在嵌入式系统开发中&#xff0c;时钟系统如同人体的神经系统&#xff0c;为整个芯片提供精准的时序控制和同步信号。作为英飞凌AURIX™系列中的旗舰产品&#xff0c;TC3XX微控制器凭借其高度可配置的时钟架构…...

如何快速搭建你的专属Galgame社区:TouchGal一站式解决方案完整指南

如何快速搭建你的专属Galgame社区&#xff1a;TouchGal一站式解决方案完整指南 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next 你是否…...