如何培养软件开发人员的测试能力?
谷歌公司实行开发测试混合,让开发人员在实现软件功能的同时负责单元测试和集成测试,这种做法提高了软件开发效率,但同时也要求开发人员具备一定的测试能力。
因为如果开发人员没有测试能力,那么单元测试和集成测试就是表面工程,起不到验证代码正确性的作用。
那么,怎么培养开发人员的测试能力呢?
谷歌公司采用了一种名为“测试认证”的方式来培养开发人员的能力。
所谓测试认证就是评价一个团队的测试能力。谷歌的测试认证分为5个等级,最低级别是1,最高级别是5。获得高级别测试认证的团队在技术能力上可以获得同行的认可。
如果你的组织也希望开发人员在完成功能实现的同时做好单元测试和集成测试,那么也可以通过推行测试认证的方式来培养开发人员的能力。
对于获得高级别测试认证的团队可以给他们颁发证书、奖杯,甚至是现金奖励。同时,对于开发完成交付测试的代码也进行质量奖惩——专职测试人员发现的Bug数如果比组织的标准数多,就进行某种方式的惩罚;如果比组织的标准数低,就给予奖励。
当然,组织也应当对软件开发人员提高测试能力提供其他帮助。比如,给开发人员提供测试培训的机会,分配专职的测试人员对开发人员进行测试指导等等。
最后,附上个人建议的测试认证5个级别的要求,仅供参考:
级别1
会使用工具获得代码和分支测试覆盖率。
单元测试代码覆盖率不小于20%。
测试结果明确。
单元测试覆盖所有必测单元。
集成测试覆盖所有单元间的接口。
级别2
如果单元测试或集成测试的测试用例不通过,就不会提交软件给测试人员。
每次代码变更都进行必要的单元测试。
单元测试代码覆盖率不小于40%。
级别3
每次变更进行的单元测试用例都要经过评审,以确定单元测试的充分性。
每次代码变更都进行必要的集成测试。
单元测试代码覆盖率不小于60%。
级别4
在提交任何新代码之前都会进行单元测试。
没有测试结果不确定性的测试。
单元测试的代码覆盖率应该不小于80%。
每次代码变更软件的重要功能都应该被测试。
级别5
会使用可用的代码分析工具。
单元测试的代码覆盖率应该不小于100%。
这正是:
开发人员会测试,开发效率大提高
测试能力要培养,测试认证可帮忙
参考书目:Google软件测试之道,作者:(美)惠特克(Whittaker,J.),(美)阿尔邦(Arbon,J),(美)卡罗洛(Carollo,J),译者:黄利,李中杰,薛明,出版社:人民邮电出版社