`
一蓑烟雨任平生
  • 浏览: 53137 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

无坚不摧 唯快不破

阅读更多
什么人做功能测试比较好?这是我写这篇《功能测试谁来做》的想法。

经常有人会跟我说他们公司开发过程很好,配备了独立的功能测试组,有的成立了独立的测试部门。也有顾问告诉我,要有独立的测试人员。也有相当的人想着用测试来和开发制衡。

首先我承认要有功能测试组,而且我也会在项目中采用功能测试这个环节,但是对于什么样的人能做功能测试,我有自己的看法。

对项目组来说,谁设计谁测试,既然是功能顾问、功能分析设计人员做的业务分析和设计,那么就应该由他们做功能测试,而不是新手或者对业务不熟悉的测试人员,独立的功能测试部门,因为要参与多个项目,不可能精于某一领域的业务,所以他们的测试往往只是流于表面,稍微深一些的业务就无能为力。至于开发人员能不能做测试?一看规模,二看角色合并程度,我认为如果一个人业务和技术能力都很强,就更应该将功能测试交给他,而不必增加新的人手。

最理想的功能测试人员是业务用户,但是很难抓到他们,而且他们也没有时间去做用例,再完善的场景设计和用例,也无法完全覆盖,同时基于成本,也不能无休止的进行用例编写测试应该把上线前后的两个阶段,用户验收测试和上线试运行,视作功能测试,也就是说开发期的结束不是在上线前,而是在验收后,这样做就需要定义自己的项目开发过程和开发方法。

越快将可运行的系统提交给客户越好,Agile的各个流派提供了很多成功实践,我再提提我的看法,正好也把这篇BLOG和我以前的几个联系起来:
1、业务驱动,项目组必须要有强有力的业务顾问和分析人员,做好项目策划,这个可以参考我前面说的“四种模式”。对于熟悉的业务领域,做好积累。对于不熟悉的业务领域,做好上线后反复的准备。
2、缩短原型开发时间,把上线的系统视作原型,把用户视作功能测试人员,让用户真正使用系统,提出业务细节的变更,找到错误。
3、开发人员要能业务、技术能力同样突出,省掉多余的环节,他们是士官,能指挥小组,并且也能打仗,没有业务理解和分析能力、纯粹的编码人员将被淘汰。
4、做深一个业务领域,产品化。
5、不迷信流行的开发方法论,什么样的世界观决定什么样的方法论。
8
0
分享到:
评论
7 楼 nychen2000 2009-03-24  
严重赞同楼主观点。

我深刻感觉很多公司尤其是大公司被所谓的CMM流程害了,当然我认为不是CMM流程的错,而是是这些管理者其实都不懂管理。软件领域的管理和我们中国人所理解的“管理”根本不是一回事。
6 楼 魔力猫咪 2008-04-25  
我对你提出的观点有些想法。
首先,如果人力充足,程序员一般不参加功能测试,而是做好自己的单元测试。程序员做功能测试一是精力不足,二是因为都是自己写的。所以流程上倾向于正常流程而不容易测出问题。太熟悉业务做测试也不太好。因为他们太熟悉了,所以干的都是符合规定,绝对规矩的事情。测试要的就是找出问题。如果太规矩了,就不容易找出问题。即使你让他找,他也不容易设想出容易出错的场景。当然,人少就没辙了,大家凑合着吧。
所谓最理想的功能测试人员是用户,当然正确。中小型项目可以让企业用户帮忙测试,面向群众的可以出Beta版。但是自己内部的a版测试一定要做。不能全寄托于用户。因为他们有时候即使发现了问题,也很难正确描述。必要时可以请第三方测试公司测试。验收测试和试运行可不是纯粹的功能测试。如果验收测试的结果问题花样百出,小心没钱收。
尽快让用户看到系统和业务驱动没错,但是上线的系统做原型不敢苟同。系统一旦上线,至少也是Beta了,让用户深化需求没错,如果让用户纯帮你做功能测试那是找抽。开发人员要业务、能力双突出!同样找抽。如果你一直做某一领域的产品,还有可能程序员了解一些业务。如果每次项目业务都不一样,就不可能业务精通。和领域专家一起分析是一回事,非要程序员精通业务则没任何必要。毕竟社会分工不同,人少勉强兼职,人够了就不要这么做了。
5 楼 bulargy 2008-04-20  
作为项目经理肯定是要首先参与初步测试的,毕竟他们对业务是非常了解的。至于其他的人,例如分析人员,架构人员,在小公司里同时也担当了开发者的角色。功能测试上他们可能会有些按照自己的思维来测了,这个要看情况了。
专门的测试人员一定要,一般的公司的业务系统也不会跨越无数个行业吧。基本都是集中在个别行业。。。
4 楼 ldjsyl 2008-04-20  
引用
业务驱动,项目组必须要有强有力的业务顾问和分析人员,做好项目策划,这个可以参考我前面说的“四种模式”。对于熟悉的业务领域,做好积累。对于不熟悉的业务领域,做好上线后反复的准备。

项目组必须要有强有力的业务顾问,要达到这种程度,那么必须比客户更了解客户的业务,比客户更知道客户的所需。这样,开放人员就可以充分引导客户提需求,把需求分析的主动权放在自己的手上
3 楼 leegorous 2008-04-19  
比需求的变化来得更快?
还是以不变应万变?
2 楼 Godlikeme 2008-04-19  
看标题,很有《亮剑》的味道。
1 楼 robbin 2008-04-19  
引用
5、不迷信流行的开发方法论,什么样的世界观决定什么样的方法论。


很赞同。

引用
3、开发人员要能业务、技术能力同样突出,省掉多余的环节,他们是士官,能指挥小组,并且也能打仗,没有业务理解和分析能力、纯粹的编码人员将被淘汰。


还是要分角色,不是每个开发人员都需要业务能力出色,而是项目经理必须业务能力出色。

引用
2、缩短原型开发时间,把上线的系统视作原型,把用户视作功能测试人员,让用户真正使用系统,提出业务细节的变更,找到错误。


互联网开发比企业应用更加重视这一点,所以这也是为什么互联网领域里面Java不太受欢迎的主要原因。

相关推荐

Global site tag (gtag.js) - Google Analytics