文档章节

程序员的灯下黑:不要忘记你的目标

rise-worlds
 rise-worlds
发布于 2016/06/20 13:39
字数 1106
阅读 7
收藏 0
有一位程序员,喜欢新东西,经常引入新方法新思路试图改变现状。
有一次,他觉得部门在测试手段太依赖手工测试了,于是就想引入自动测试。他调研试用了几种工具以后,选择了某大公司的产品作为主要工具。
他计算了一下,一共有1000条测试用例需要自动化,于是他定下计划:一个人一天可以写5个测试用例,所以需要200个人天;计划要在一个季度完成,按一个人一季度共60个人天的话,需要4个人还有余。这样,全部用例做好以后,他估计,至少减少一半测试工作量。
于是,这老兄报告给总经理,总经理同意了。于是就给他招了4个人,成立了自动测试组,风风火火就干起来了。
他的做法是,手工测试有多少条用例,他就用自动测试工具实现多少条。
一个季度下来了,全部测试用例完成了。当然大家敲锣打鼓的庆祝。但接下来,却遇到了意想不到的问题。
第一、所有的测试人员都认为自动测试组写出来的脚本没有用。为什么呢?因为自动测试组的员工都是新招的,对产品不熟;因此他们只好对照着手工测试用例一条条的做,就像做翻译一样把手工测试用例变成自动脚本。但测试人员说,手工测试用例本身就不够完善,很多测试的验证点是凭经验的,这样翻译出来的用例当然不过关。
第二、新产品特性已经改变了,写出得脚本过期了。因为是比照着手工用例,自动测试组使用的用例是产品的上一个版本的,这样写出来的用例当然不适合现状。
第三、短期内投入产出比很低。手工测试一天能走100个测试用例,1000个用例10天走完。但4个自动测试工程师3个月才完成1000个用例的开发,也就是花了4×3×20=240个人天,就算测试用例100%可用,也需要240÷10=24轮才能在成本上持平,如果每个版本测3轮的话,相当于8个版本。而8个版本,产品还在不在都难说了。
 
程序员做了反省,发现自己犯的最大错误是:自己提出问题的初衷是减少测试工作量,但执行的时候却把“翻译”完所有的测试作为了目的,而忘记了最初的目标。因为只顾着往前赶数量,从来没有请手工测试的工程师来看看,是不是可以100%替代手工测试;也没有在小模块上试试,看看开发人员有什么意见。
 
这样,程序员改变了做法。和开发、手工测试和手下沟通后,他决定把自动测试工程师分散到模块去,和相应模块的开发,测试成为一个工作小组。开发人员设计编码的时候,他们就设计自动测试用例,充分听取手工测试工程师的经验,并且每天都运行一遍。这样,自动测试的脚本就完全和产品同步。他们把自动测试用例和产品代码签入到同一个代码库,同样的版本具有同样的标签,这样,每个版本的产品都有了自动测试的脚本。
 
这样,又过了一个季度,团队开始接受自动测试了。而且有了一个意外的收获,开发人员现在乐于用自动脚本做单元测试,居然开发效率和质量都提高了。
 
程序员得出一个经验,目标在最初的设定,一般都会比较清楚的,但在漫长的实现过程中很容易忘了原来的目标是什么,而把一些表面的指标当成重要的东西。因此,经常看看今天所做的努力和原先的目标是否一致,和能否一致,是很重要的。

本文转载自:http://www.cnblogs.com/flying_bat/archive/2007/06/16/785841.html

共有 人打赏支持
rise-worlds

rise-worlds

粉丝 2
博文 1755
码字总数 0
作品 0
深圳
程序员
私信 提问
黑五你剁了哪些靠谱的硬干货?

进入立冬以后,天气会正式的凉下来,而你的购物车却会是一直火热, 双十一 —— 黑五 —— 双十二—— 圣诞节 —— 元旦 —— 春节,空气中弥漫着剁手的气息。回归正题,相比双十一是中国商品...

姬子玉
2017/11/27
0
0
指南针和地图

指南针和地图相比,指南针只知道大概的方向,而地图有很详细的位置等信息。 但地图是事先绘制好的,就算现在的高德地图、谷歌地图等都非常完善了,但还是有未知区域。而在未知区域没有现成地...

Andy_Ron
2017/10/21
0
0
不要总盯我的4000亿,我从不是商人,我是一个程序员

1 他在公开场合经常忘记掩饰自己火爆的个性,总是高调回应任何挑衅,让自己的公关部措手不及,他几乎与中国互联网领域所有最聪明的头脑过过招,虽然互有胜负。对于竞争对手,他作风彪悍:“有...

程序员之家_
2018/08/26
0
0
程序员如何留住健康?

相信大家已经注意到了,程序员的大部分时间都花在电脑桌前编程,这会损害程序员的健康。其实不需要多么复杂的养生,你只需每天做一些小小的改变,就可以摆脱病痛、保持健康。 变换姿势 虽然站...

oschina
2014/09/22
11.3K
53
黑马程序员----交通灯管理系统

十字路口红绿灯通行示意图 通过上图可以看出,车到十字路口有三个选择:笔直向前、右拐弯、左拐弯,那么总共有3*4=12条路线。 分别是: E2W(东往西),E2N(东往北),E2S(东往南); S2N(南往北...

长平狐
2013/07/01
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

EMAS,一部淘宝十年移动互联网技术的演进史

导读 本文根据2018云栖大会深圳峰会·EMAS专场—移动互联的进化论,阿里巴巴高级技术专家泠茗《 EMAS全景介绍》的演讲整理而成,文中就EMAS的起源史及EMAS的五大移动研发场景解决方案进行了分...

迷你芊宝宝
19分钟前
1
0
C# 图片人脸识别

此程序基于 虹软人脸识别进行的开发 前提条件从虹软官网下载获取ArcFace引擎应用开发包,及其对应的激活码(App_id, SDK_key)将获取到的开发包导入到您的应用中 App_id与SDK_key是在初始化...

是哇兴哥棒棒哒
21分钟前
2
0
spring boot web项目连接池配置分析

两篇文档,请读者自行分析: Druid: https://www.cnblogs.com/niejunlei/p/5977895.html HikariCP: http://blog.csdn.net/clementad/article/details/46928621...

sunranhou
23分钟前
1
0
TypeError: Object of type int64 is not JSON serializable

问题 在使用json.dumps(param)将python对象转成json的过程中出现了,如下问题: TypeError: Object of type int64 is not JSON serializable 代码如下: param = { 'remoteId': 'rem......

亚林瓜子
25分钟前
1
0
Android MediaPlayer

1.通过静态方法构造 MediaPlayer.create(Context context,int resid); 2.构造方法: MediaPlayer(); 设置媒体源: setDataSource(String path); 3.设置是否循环: setLooping(boolean) 4.播放......

Coding缘
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部