代码改变世界

【原创】软件测试VS软件开发

2011-10-23 16:51  Tester Chen  阅读(1604)  评论(0编辑  收藏

对于软件测试与软件开发之间的关系,一直以来都很微妙,大型、制度健全的公司或许不那样明显
但在中小型、制度尚不健全的公司,则变成为了老大难的问题

软件需求、软件开发、软件测试是软件公司技术部门的三大主力,今天我们要说的是软件开发与软件测试。

软件开发与软件测试即是一个统一体,也是一个矛盾体。

为什么说他们是一个统一体?因为他们有着同一个目标:产品或项目的质量、用户的满意度、公司的利益。

为什么说他们是一个矛盾体?因为表面上他们的工作内容是相互对立的,在心理上,往往呈现出这样一个现象:如果一方做得好,则很大程度上显示出另一方做的不好。

我觉得问题产生的原因在以下几个方面:

首先,公司的制度、团队的风气很重要

不能否认,现在仍然有许多公司以缺陷的多少、重要级别来作为衡量一个软件开发人员或测试人员的工作成绩的主要标准,如此大错特错的方式却仍然在许多公司存在。不是说不可以作为衡量标准,缺陷可以作为衡量软件开发人员或测试人员工作成绩的一个方面,但这应该只是很小的一个方面,仅供参考,而不应该是主要评价标准!更有甚者与员工的薪水挂钩,这样的标准一旦施行,必然使软件开发人员与测试人员陷入一种势不两立的局势。记住,惟一衡量这一切的标准是产品或项目最后的使用质量。

就像当年的国共合作,表面一致,实际却各有算盘,两个敌人之间除了相互猜疑、相互攻击,能有多少合作的份量?团队之前的默契如何培养?感情如何维系?

公司的制度同时也会直接影响到团队成员之间的关系。因为某个测试人员或开发人员的工作“优秀”,导致某个开发个员或测试人员的工作“失职”。如此,情何以堪?

然后,开发人员、测试人员的职业修养很重要

开发人员、测试人员在工作中要有绝对的职业道德作为准则,工作中对事不对人,至少应该努力去这样做。

在其位,谋其职,遇事冷静,得饶人处且饶人。

开发人员:写好自己的Code,认真对待测试人员提出的每一个Bug,即是一种对自己负责任,也是对公司负责任的一种体现。谓之,在其位,谋其职;遇到不是自己的Code导致的Bug,冷静的分给相应的开发人员或打回给测试人员,并详细的写明备注,遇到误报的缺陷,冷静的思考、讨论。若确实属于误报,无需动怒,谁不犯错,冷静的打回缺陷,备注中注明原因。谓之,遇事冷静,得饶人处且饶人。

测试人员:认真测试开发人员写的每一行Code、每一个功能,仔细确认每一个即将上报的Bug,同样是对自己、对公司负责任的一种体现。谓之,在其位,谋其职;遇到低级错误、重复或多次打开的Bug,无需不爽,这就是你的工作,冷静的报告给相应的开发人员,备注中注明原因。遇到某个开发人员写的功能缺陷比较多,详细测试找出其中每一个缺陷并报告给他,其他什么也不要做。谓之,遇事冷静,得饶人处且饶人。

其次,团队之间的沟通很重要

很多时候误会的产生,只是因为一句话没有说完,半句话没有听懂。

在软件行业团队成员之间的沟通也显得尤为重要:通过周例会、月度例会、时不时的十分钟短会、头脑风暴、各种评审会议等等,都是团队之间沟通的方式。

要及时表达自己的想法和理解,如及时沟通需求、表达自己对需求理解、对实现的设想等,保证开发人与测试人员之间需求理解的一致性,避免出现各种不必要的误会。

再次,团队之间的相互理解很重要

要能理解各自工作的性质,站在对方的角度想问题。

测试人员要理解开发人员,他们每天有很多的Code的写,他们的压力也很大,孰能无过焉?

开发人员要理解测试人员,找出你们程序中的缺陷就是他们的工作,他们的工作量很大,错误尚难避免。

最后,个人素养很重要

应该感谢那些找出你程序中缺陷的人,因为他们使你在不断进步,不断完善。

如果你还在为测试人员找出你程序中的缺陷而对某个测试人员耿耿于怀,不能虚心接收他人的意见,那么你只会被你的缺陷所牵制。

不必为今天没有找到缺陷而心烦,因为即使是这样你的价值也已经体现;更不必为每天要报告大量的缺陷而苦恼、烦躁,因为这就是你的工作。

以上观点仅代表Tester Chen 的个人观点,若有失言之处,请指正。

希望大家都能有一个和谐、高效的研发团队!