`
ronghao
  • 浏览: 448958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
E9473dd5-1985-3883-ac98-962354ca10b3
张小庆,在路上
浏览量:8546
社区版块
存档分类
最新评论

兰州拉面馆与半自动化测试

阅读更多
有BUG,QA MM说,顾客吃不上拉面了。

喔,我说(内心流汗),我看看。

作为开发者,我和我所在的项目组正在开发一个兰州拉面馆,该拉面馆经营的范围包括拉面、拉条子、炒面片以及各种西北风味小吃。我喜欢拉面:)现在,拉面馆面临交付,QA MM正忙着做最后的回归测试。


来到MM的测试环境拉面馆,嘿,测试环境拉面馆就是比开发环境拉面馆漂亮。红灿灿的辣椒油、大块大块的五香牛肉块、绿油油的小葱段、各种开胃小菜、已经揉好发好的拉面团。。。。再看看开发环境的拉面馆,两口大锅,一口下面条、一口盛牛肉汤,唉,一切都是那么简单,只有功能,没有数据。还有,MM的拉面馆里还有赏心悦目的服务员和帅气的顾客哩。

是这样,MM说。接下来,MM开始演示,她要了一碗拉面,毛细的,结果却是迟迟没有端出来。

下面条的操作确实是我实现的,那么为什么现在却端不出面呢?好吧,我说,我要看看。我详细的看过MM厨房环境,于是返回自己的厨房环境,首先,我建立了两个不同的顾客,接下来,是服务员,由于时间仓促,没时间打扮他们,一切都是山寨,接下来,是准备各种调料:面团、牛肉块、小葱和萝卜片。这个准备时间可真长,汗从我的脸上冒出来。终于,一切准备就绪,开始重现BUG,以顾客登录,要求一碗拉面、毛细。怪了,果然吃不上面!

我开始找原因,经过一个一个环节的仔细查找,终于找到了原因:原来前不久因为物价上涨,拉面馆决定上涨面食价格,但是这件事情遭到了政府的反对,政府的理由是:兰州人离不开兰州拉面,政府不允许涨价,于是另外一个程序员在老板的要求下,将盛面条的大碗全部变成了小碗,而该程序员并没有对我所实现的生产面条操作进行修改,于是拉面溢出,于是我们引以为傲的AOP异常拦截器及时拦截到这个异常,于是,客户看到:对不起,暂时不能给您提供服务,请联系拉面馆客服。

嗨,我的心稍安,修改程序,运行通过。看看时间,准备测试数据的时间占去了很大一部分时间。于是,我想:

1.出于不同的目的,开发人员为快速开发功能关注功能,测试人员为更好的模拟客户使用场景,开发环境与测试环境大部分情况下是不一致的,这种不一致最明显的表现就是数据。

2.当QA在测试环境发现BUG,对于开发人员来说,通常,一个比较枯燥且烦人的事情就是在本地开发环境建立相应的测试所需数据。有时候,特别是项目后期,这个数据越来越复杂。

3.有一部分的BUG是由于开发人员对系统没有整体功能的了解所造成的,没有清楚的理解功能之间的耦合关系。

所以,我想:

1.QA每验收一个故事,需要针对该故事的业务价值编写回归测试脚本和设计测试数据。

2.由开发人员将QA设计的测试数据进行自动化准备,和数据驱动测试一致,数据由环境准备。

3.开发人员将能够自动化的功能测试自动化(例如使用Selenium)

4.由QA维护系统的功能测试列表,列表包括功能点、功能回归测试脚本、测试准备数据、测试数据是否已经自动化、测试是否已经自动化。这个列表需要根据系统的变化也发生变化。

5.整个开发团队需要有一整张的系统功能架构图,这个图画在白板上,随着系统的增大而不断修改,每个成员都需要了解各个功能点相互之间的关联关系。

最后,我这样定义:对那些不能够自动化的功能测试进行的测试数据自动化称之为半自动化测试。理想情况下,所有故事都应该至少做到半自动化测试,这本质上也对QA提出了更高要求。



分享到:
评论
29 楼 jiasky 2010-11-26  
LZ小学语文功力果然深厚,“红灿灿”、“绿油油”...
既可以当小说看,也可以拿来做IT教科书!
28 楼 糖果宝贝 2010-03-16  
还是不太明白,这真是一个程序吗?怎么会有面馆的场景呢?是假设的程序吧?
27 楼 lovefly_zero 2010-02-25  
中国缺的不是创新的人才,而是缺乏创新的眼光。
不论作者写得如何,表达方式值得赞赏。
26 楼 flashing 2010-02-25  
我还怀念高中时候吃的马兰拉面,可惜现在的拉面都没那个味道了,唉。
25 楼 flashing 2010-02-25  
太生动了,这个得顶:)
24 楼 wzglovejava 2010-02-20  
如果测试人员都学会了编程,那我们岂不是要砸饭碗,只是我觉得,如果你想当一名好的编程人员的话,你应该首先是一个测试高手才对,至少说在数据读取方面,应该是对的。。。
23 楼 littlebig 2010-02-10  
测试其实不好做的,业务半生不熟,代码半生不熟,如果复杂的系统,了解整个系统都要花分长时间,如果真正复杂的系统真正懂系统使用的人也不多,设计好的CASE不容易呀!好的测试感觉还是需要一个开发人员,同时还要业务了解的人来做,可以这样的人会做测试吗!!开发说实话有多少人会很在意业务的意义,很多叫怎么做就怎么做,而很多技术层面的讨论,对于实际问题有点太抽象了,一时看不出结果来。
22 楼 sunnymoon 2010-02-10  
第五条是在需求里的,由专门的人负责,这会增加成本
21 楼 fish4j 2010-02-08  
美好的理论,山寨的实现
20 楼 muerjie 2010-02-06  
目前还是手动测试,自动测试功能目前还没有,也没有时间编写测试用例
19 楼 shinkadoki 2010-02-04  
太形象了。
现在多少人都是在靠手工测试混呢?
有多少项目里面都没有合格的测试呢?

不过……拉面……,很久没有吃到正宗的拉面了,北京这边的拉面……忽悠成份太大了。
18 楼 jevy30 2010-02-04  
理想是美好的,现实是残酷的。
17 楼 shwangwells 2010-02-04  
能做到半自动化已属不易,在我们公司连单元测试都不给时间做,又怎么能要求QA来做自动化测试呢?正如上面老兄所言,公司不看重QA,只给那么一点钱,怎么可能对QA提出很高的要求呢?
毕竟急功近利的公司文化和领导占了大片江山啊!
16 楼 李文韵 2010-02-04  
你可真逗~~太有才了~
现在北京的IT业情况怎么样呢?
一次和我一学IT的同学聊,说到IT行业已经没有前几年那么热了,我就说是不是人才已经饱和了?结果我那同学说,还远远没呢,现在大学的一点东西才够扫盲,根本培养不出人才!都得靠自己学。。。你觉得呢?
15 楼 强强爱妍妍 2010-02-04  
大部分公司看低测试,给的薪水少,或没有专职人员. 没钱哪有人卖命
14 楼 rdsuncn 2010-02-03  
mock1234 写道
早在几个月前就应该测试到这个问题,并且每当有修改就应该重新测试这个问题。你这个问题就是疏忽造成的。

手工测试就是这样自欺人,当代码修改了之后,测试人员几个月之后都没有办法完全重复测试。

而自动化测试则是每天可以重复上千遍(每一次选择不同的测试数据)。因此应该花大力气开发自动化测试,而要非常清楚手工测试的假像的危害。

然而,现在公司里大部分测试人员还是靠手工测试来混饭吃,充其量知道到网上下载一些所谓的自动测试工具,还不具有真正能够编写自动测试程序的技术水平。

现在都是急功近利,哪有时间给你写自动测试程序
13 楼 liuyu220 2010-02-03  
mock1234 写道
早在几个月前就应该测试到这个问题,并且每当有修改就应该重新测试这个问题。你这个问题就是疏忽造成的。

手工测试就是这样自欺人,当代码修改了之后,测试人员几个月之后都没有办法完全重复测试。

而自动化测试则是每天可以重复上千遍(每一次选择不同的测试数据)。因此应该花大力气开发自动化测试,而要非常清楚手工测试的假像的危害。

然而,现在公司里大部分测试人员还是靠手工测试来混饭吃,充其量知道到网上下载一些所谓的自动测试工具,还不具有真正能够编写自动测试程序的技术水平。

就像拉面馆QA的MM,只能看到最后结果:拉不出拉面。为什么拉不出来呢?管道太小盛不下。
12 楼 ronghao 2010-02-02  
dakimo 写道
sky_sun_wei 写道
第5条 很多情况下都缺失了


ronghao 写道
5.整个开发团队需要有一整张的系统功能架构图,这个图画在白板上,随着系统的增大而不断修改,每个成员都需要了解各个功能点相互之间的关联关系。


第五条的问题在于,团队有没有人看这东西。

每天checkout代码,有没有看看别人做了什么改动?如果没有,要让他们去看旁边的图,困难。。。


第一,好记性比不过烂笔头;

第二,不能因为不常看而不做;

第三,想看有很多种办法,例如每次晨会时强制所有人看一遍。
11 楼 elementstorm 2010-02-02  
拉面溢出太形象了
楼主希望你能出本书
改变一下IT书籍枯燥无味的局面!
10 楼 delivered_zhang 2010-02-02  
chunquedong 写道
很可惜好多人没有吃过真真的兰州牛肉拉面。在兰州一般叫牛肉面,而不是拉面。
北京的所谓兰州拉面,配料是什么都搞不清楚,是在败坏牛肉面的名声。

兰州人?我也是好久没吃过了,北京的牛肉面根本没有兰州当地牛肉面馆的味道

相关推荐

Global site tag (gtag.js) - Google Analytics