吐槽嫌弃测试周期太长?开发自测一下

news2024/12/26 11:59:44

互联网产品竞争激烈,在生存的巨大压力之下,策划和运营人员们恨不得每一个需求都能秒级上线,这就给研发团队带来了巨大的压力。

有时候,产品的老大很关注某一个功能点,希望能尽快上线,可是,他发现这个功能的开发只要10天,测试居然要7天,秋水都望穿了还没有上线,于是,老大们就忍不了了,一声怒吼:“要提高测试效率!”

图片

这确实是存在于现有研发流程的一个问题,但当我们深入地去分析这个问题的时候,发现测试人员表现出一脸委屈。

A

说好的星期一提测的,可是星期一那个版本还有很多bug,根本就没法测,开发修改关键bug,最后拖到星期二才开始测试”

B

“进度定得特别紧张,开发非常忙,功能一开发完成就丢给测试了,但是还有很多bug,版本来回了好几次才逐渐收敛”;

小C

“为了赶项目进度,我们会在开发没完成的时候就帮忙找bug,所以测试时间看起来就会非常长”。

在这些情形中,我们发现开发人员和测试人员都是三观很正的好同事,一个为了需求能尽快赶出来制定了非常紧张的时间表,一个为了能尽快发现bug提早进行测试。

那究竟是哪里出错了呢?

还有没有优化的空间的呢?

Bug的时间分析

看到这里,你可能会说:“别卖关子了,有啥宝赶紧献出来吧!”

还是请你稍安勿躁,为了表明这个帖子是一个技术贴,我们需要一些技术性的推理和演绎。

再来仔细地分析现有的流程:

开发一完成功能就把版本扔给测试人员,但bug太多,导致测试人员花时间报了很多bug,然后开发花很多时间修改bug;第二次的版本,可能质量还是很差;这样多次的版本往复。

我们来分析一下bug的代价:

测试人员打版本、发现bug、报bug、跟开发沟通、验证bug,这其中都是有时间成本的。假设测试人员为每一个bug花费12分钟。

假设有一个项目

开发人员5个

测试人员1个;

开发了14天(10个工作日),

发现了100个bug

如果开发能加强自测的话

假设每个开发人员能花2个小时进行自测,靠自己的自测消灭了50个bug,只剩下50个之后

我们来算一笔账

Bug减少测试人员节省的时间=(100-50)*12分钟=600分钟 ~=1天。

那相当于,整个项目就延长了2个小时开发自测的时间,但是测试时间就缩短了1天,效率的提升是杠杠的。

当然,实际情况中数据可能会更好,两个因素:

实际的情况中,测试人员为每个bug花费12分钟是假设的,实际的情况可能比12分钟还长,也就是说,效率可能提升得更多。

这里我们也没计算沟通和修改bug给开发带来的时间花费,100个bug要跟测试沟通、要把代码调入脑内存、再修复还是需要很多时间的,如果能在代码在脑内存的时候消灭掉50个bug,那节省的时间说不定已经够抵掉2个小时的自测时间了。

试点的情况

另外,作为一篇严谨的技术贴,这里有一个假设是不得不说明的:开发人员靠2小时的自测真的能消灭50个bug??

根据我们的实践经验,真的是可以的哟~

那开发和测试人员的主观感受如何呢?

图片

测试人员说:“Bug减少了以后,流程走顺了,以前需要打5个版本,现在只需要打3个就刷刷搞定了。”

开发人员说:“Bug减少了以后,流程走顺了,开发过程不那么乱了,自信心也提升了。”从项目反馈来看,开发还是挺愿意看到这种改变的。

所以,这真的是可以尝试的一个方向哦~

现有的经验和后续方向

根据我们的初步经验,有如下方式可以减少bug:

加强测试用例的Review,跟策划、运营、开发一起,把测试用例的思路好好地Review一下。在这个过程中可以发现很多策划模糊和缺失的地方,提早修复这些问题减少bug。

就是刚才讲的开发自测,测试人员写完用例以后,选择更多的用例让开发自测,有必要的话,事先教开发怎么自测。让开发、测试乃至整个项目组都树立起开发自测的意识,让这个环节能真正生效。

代码review是能大幅度减少bug的,不过要看项目的具体情况而定,有一些项目文化比较适合,有些项目需要慢慢来培养这种文化。

这是一篇可以让开发和测试人员和谐相处,共同进步的文章,希望测试童鞋多多转载给身边的开发童鞋看看哟


资源分享【这份资料必须领取~】

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

基于nodejs电影售票后台管理的设计和实现.zip(论文+源码+ppt文档+视频录制)

相关资料下载地址:请点击下载》》》 一、 项目介绍 5 二、 需求分析 6 1、 前端需求 6 2、 后端需求 6 3、 开发环境 7 三、 技术介绍 7 1、 Vue 7 2、 ElementUI 7 3、 NodeJS 7 4、 MySQL 8 四、 功能实现 8 1、 前端服务构建 8 2、 前端API接口封装 8 3、 前端路…

技术分享 | 掌握高频 Docker 命令,夯实内功基础

本文为霍格沃兹测试学院学院学员 Docker 实战课程学习笔记,供各位同学参考。 在 Dokcer 横空出世之前,应用打包一直是大部分研发团队的痛点。在工作中,面对多种服务,多个服务器,以及多种环境,如果还继续用传…

我的头条四面:测试工程师调岗测试开发工程师,发生了什么?

早就听说头条是算法大厂手撕代码恐怖如斯,进入玻璃房之前做好了心理准备,本次头条面试总共是四面,一二三技术面HR面,总体感觉也还不错,面试的是测试工程师,最后拿到的offer却是测试开发工程师,从…

Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除

1. 环境说明 主机IP : 192.168.154.146 从机1IP : 192.168.154.147 从机2IP : 192.168.154.148 2.故障记录 当使用Navicat工具打开这三个数据库时 , 发现主库和从库的数据不同 3.排查过程-(Slave_IO_Running状态为Connecting) 3.1 网络是否互通 互ping三台机器 , 看机器…

Python自由职业可以做什么?副业月入3000的快乐你根本想象不到

很多有时间的程序员都会在业余时间接一些“私活”,也就是我们说的副业! 毕竟虽然程序员加班时间长,但是也不是所有程序员都是需要997的…许多事业编制或者说一部分公司并不会出现特别夸张的加班时长。平常周末的时候也就会接一些副业&#x…

如何用Python操作PDF制作数据报告?

大家好,你是否会发现 Python 操作PDF文档内容,主要围绕PDF文档的内容提取、合并与拆分、加密与解密、添加水印以及不同文档格式相互转换来展开。 但大家会发现,其中并没有有太多直接操作PDF并向其写入的内容。这是因为我们更推荐大家Python自…

C语言练习之计算一个数的每位之和(递归实现)

目录 前言 一、思路 二、源代码以及运行截图 源代码: 运行截图: 总结 前言 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和 例如,调用DigitSum(1729),则应该返回1 7 2 9&#…

LeetCode HOT 100 —— 297.二叉树的序列化与反序列化

题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。…

你还以为格子衫头发的就是程序员?这些特征都没有别说你是程序员

周一写几百个bug,周二到周四拼命改bug,周五总结bug,总结的好有周末,总结的不好周末无休! 咳咳,这样的周末我可以不休息! 有很多想要学习Python却找不到途径的朋友,我这里整理了一…

.NET Framework杂记

这篇博客主要记录在用C#编写上位机时,不会的知识点,随时更新,方便查阅。 C#语法操作杂记c#中让textbox选中不选中C#无法使用实例引用来访问成员解决方法针对不同定义情况的引用解释C# 字符串分割用字符串分割用多个字符串分割用单字符分割C#中…

【DevOps实战系列】第二章:详解Gitlab环境及搭建

个人亲自录制全套DevOps系列实战教程 :手把手教你玩转DevOps全栈技术 gitlab就不多说了,这个东西现在大多数公司内部都在使用,它分为社区和企业版本,社区版本ce是免费的,当然也可以选择gitee或github,但由于…

非零基础自学Golang 第8章 包管理 8.6 包的命名 8.7 依赖包管理

非零基础自学Golang 文章目录非零基础自学Golang第8章 包管理8.6 包的命名8.7 依赖包管理第8章 包管理 8.6 包的命名 每个包都有一个包名,包名一般是短小的名字,在包的声明处指定。 通常来说,默认的包名就是包导入路径名的最后一段&#x…

AD20和立创EDA设计(5)立创EDA导出3D模型放入AD20使用

(1)本文主要介绍如何将从立创EDA导出的3D模型,并且对3D模型进行处理。 (2)需提前观看:AD20和立创EDA设计(4)PCB设计; (3)本文需要使用到Fusion 36…

基于6自由度飞行器的EKF和INS融合算法的MATLAB仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 六自由度四轴飞行器,包括由四根杆组成的正四面体,所述正四面体的中心位置设有一个空心圆球,空心圆球上设有四根支杆分别与正四面体的四个顶点相连,所述空心圆球内设有电池和控制系统, INS/GPS的松…

nodejs+vue041家政管理系统

基本要求:要求此系统能较完善的实现服务人员及客户信息的管理等功能。 主界面:分为用户登陆和管理员登陆,用户登陆包含客户登录和服务人员登陆。 用户注册:注册时可选择身份(客户或者服务人员)。 后台管…

目前免费用可用的天气api接口及失效接口

网上关于免费天气api接口很多,本人总结了一下目前还可用的免费api接口和已失效的接口如下: 目前可用接口: 1、讯飞语音识别内置的墨迹天气API。链接: http://autodev.openspeech.cn/csp/api/v2.1/weather?openIdaiuicus&c…

【Javaweb-前端】CSS

1. Syntax Selector − A selector is an HTML tag at which a style will be applied. This could be any tag like or etc.Property − A property is a type of attribute of HTML tag. Put simply, all the HTML attributes are converted into CSS properties. They coul…

散热材料产业SWOT分析:5G建设带动市场需求 多元化散热方案将成行业主流

传统散热材料以石墨片和导热凝胶等TIM材料(导热界面材料)为主,石墨片存在导热系数相对较低、厚度相对较大等问题。目前热管和VC(均热板)开始从电脑、服务器等领域渗透到智能手机终端,石墨烯材料也开始应用。…

Docker笔记--容器转换为镜像、Dockerfile的使用

目录 1--使用 docker commit 将容器转换为镜像 1-1--容器转换为镜像 1-2--实例代码 1-3--注意事项: 2--Dockerfile的使用 2-1--常用关键字 2-2--利用 dockerfile 搭建 Centos:7 镜像 1--使用 docker commit 将容器转换为镜像 1-1--容器转换为镜像 # 将容器…

家电产品出口指南,RoHs法规详解

【家电产品出口指南,RoHs法规详解】 受疫情影响,我国家电出口创新高,据海关总署发布的数据统计,2021年,中国家用电器出口额987.2亿美元,同比增长22.3%,出口规模远超历史同期水平,创近…