有的人说做软件开发的可以轻松转做软件测试,但是软件测试转软件开发却是有些困难。真的是这样吗?其实IT行业内,都有这么一个无形又不说透的鄙视链在里面。做开发的瞧不上做测试的,做测试的怕得罪做开发的。有时候测试人员不但不能成为整个团队突出的岗位,反而会被各种事情给牵绊限制。如果说开发是考验智商,那么测试考验的更多的是智商和情商的综合,一个团队里面,开发和测试都很重要。所谓的比不上,不过是某些业内人为了凸显自己的与众不同而已。
很多程序员喜欢用架构形容程序,而测试的存在是为了保证软件的质量及满足用户需要,那么为什么乐于用架构对比软件的程序员们却认为软件可以不需要测试人员呢?这种想法显然是非常荒谬的。
测试是做什么的?测试做的事情,程序员真的能轻易做到?
1、监控产品流程。从时间控制的角度来说,开发新功能和修bug是一个平衡。开发得太快就可能把交付给下一个阶段一个问题较多的版本,从而使得后面的问题更难处理。我们如何知晓每个阶段软件质量怎么样?具体的方法很多,回归测试,代码覆盖、压力测试等等。但是这些信息谁来收集和分析,怎么分析?能得出什么样的结论?有多少程序员会自己做这些?
2、搭建复杂的应用场景。谁能知道测试一个完整的Active Directory服务器的回归测试环境需要多少台域控?我搭建的纪录是11台,还不包括中间可能动态加入和删除的客户端。其中包含大量故意的毁坏性操作。每一次毁坏之后都必须恢复现场进行下一个测试。有多少程序员构造过这种场景?
3、简化问题报告。当发生用户报告时,他们最初给出的步骤往往过于简化或者过于繁琐,缺乏直指问题所在的步骤描述。很多时候由于步骤不清楚,导致分析过