软件测试团队作为软件研发部门的一个组成部分,一度听到的都是软件测试很重要,要重视软件测试。可在当下现实环境中,你有想过软件测试也会拉后腿?!
当研发团队中开发人员资源比较紧缺,而任务比较重,项目比较急的情况下,若全部经过测试组,在软件质量保证的同时,必然出现了软件周期延长,项目上线延迟的问题。倘若测试人员对任务周期安排不恰当,对很早提交的任务进行测试,发现问题让开发人员重新熟悉程序进行解决,又必然占用大量精力和时间。在开发人员原本就很紧张的情况下,加剧了问题的严重性。
这就出现了测试组测与不测的问题。若测试,软件周期太长,影响项目上线和客户使用;若不测,软件质量没保证,影响上线维护和客户使用。这是一个很矛盾的问题。
有一个解决方法,任务开发完直接升级到现场,由开发人员和设计人员进行测试验收。这样测试组干嘛?
为什么会出现这种问题呢?
很显然,开发人员紧缺是个很关键的问题,因为开发人员既要开发代码,也要改代码bug,还要支持现场代码版本等问题。所以开发人员可以不充裕,但是不能紧缺。可能目前还存在开发人员技术水平和业务经验的问题,这也影响了开发速度和开发质量。
另外,说说测试组吧。曾经测试流程出现过问题,测试组在家里测过的程序升级到现场仍会出现不可用。后来改进流程,程序升级至现场测试环境进行测试,增强程序运行环境真实性和程序版本兼容性。现在面临的上述问题,跟测试组本身也有很大关系。
从两方面讲,第一缺乏技术含量。为什么开发人员不能缺,而测试人员可以没有。因为测试人员目前所做的大部分工作可以被开发人员和工程人员所取代,只是不那么全面专业罢了。测试人员没有自己特有的测试技术。有的话可以说是对业务逻辑的测试经验了,但是我仍然认为这不是真正的测试技术。不要怪我讲的这么露骨,我认为这是事实,不用掩饰的。
第二不了解实际需求。尽管工程人员做的测试可能相对没那么全面,但是他们至少比我们更清楚客户的实际需求。他们可以避轻就重的进行测试,这样就可以满足客户使用的主要功能没有问题,其他小问题慢慢解决了。作为测试人员,要尽可能测试全面,不遗漏任何功能点,因为不清楚客户实际会怎么使用。这种方法和思想是正确的,只是在项目中客户群体比较小和使用频度不高的情况下,相对花费了不少时间。
所以这就是一个关于在时间和人员等资源条件限制的情况下,如何做取舍测试的问题。我觉得这都可以开个议题深度讨论了。