论坛首页 综合技术论坛

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

浏览 15781 次
该帖已经被评为精华帖
作者 正文
   发表时间:2010-01-31   最后修改:2010-01-31
有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提出了更高要求。



   发表时间:2010-02-01  
哥们 真得适合写小说!
0 请登录后投票
   发表时间:2010-02-01  
第5条 很多情况下都缺失了
0 请登录后投票
   发表时间:2010-02-01  
mock1234 写道
早在几个月前就应该测试到这个问题,并且每当有修改就应该重新测试这个问题。你这个问题就是疏忽造成的。

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

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

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


mock1234兄不如写本书出来吧
0 请登录后投票
   发表时间:2010-02-01  
mock1234 写道
早在几个月前就应该测试到这个问题,并且每当有修改就应该重新测试这个问题。你这个问题就是疏忽造成的。

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

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

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



要循序渐进。
手工测试不要被自动化测试代替,因为手工测试目的与自动化不同。
在基本用例的自动化没有完成前,可以非常强调自动化,这叫矫枉过正。
完成后,要推进大家手工测试的开拓性。
Mock老兄,有空可以私下聊聊的。
0 请登录后投票
   发表时间:2010-02-01  
做IT真是浪费了.

故事很生动形象,去教书非常好
0 请登录后投票
   发表时间:2010-02-01  
只爱三细,离开兰州n年的含泪路过
0 请登录后投票
   发表时间:2010-02-02  
拉面溢出```太生动了
0 请登录后投票
   发表时间:2010-02-02  
很可惜好多人没有吃过真真的兰州牛肉拉面。在兰州一般叫牛肉面,而不是拉面。
北京的所谓兰州拉面,配料是什么都搞不清楚,是在败坏牛肉面的名声。
2 请登录后投票
   发表时间:2010-02-02  
sky_sun_wei 写道
第5条 很多情况下都缺失了


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


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

每天checkout代码,有没有看看别人做了什么改动?如果没有,要让他们去看旁边的图,困难。。。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics