测试策略
测试相较于其他工作的核心竞争力是什么?在回答这个问题之前,想一下每个工作岗位的核心竞争力又是什么呢?是不是可以迁移的呢?
众所周知,测试一向用来与开发作比较,那么开发的核心竞争力是什么呢?真的是开发能力吗?如果是的话,为什么很多具有丰富开发经验的中年开发人员会面临着中年危机呢?从这个角度看,开发的核心竞争力未必是开发能力,在我看来,当前最具有竞争力的能力是解决问题的能力,不论是创新能力、领导能力、合作能力还是问题的分析能力,最终的结果都表现为解决问题的能力。那么软件测试的核心竞争力也是解决问题的能力,作为测试从业者来说,测试解决的是测试相关的问题,能力自然也体现为解决测试过程中出现问题的能力。
软件测试的目的是为了按时、保质的交付产品,那么软件测试的核心竞争力就体现在如何解决按时、保质的问题的能力上。“按时”体现在测试活动的过程把控上,尽量避免过程中的各项风险影响因子影响,保证交付时间;“保质”表现为产品交付后经得起客户或市场的检验,尽可能减少外部反馈的问题。“按时”和“保质”这两点在测试领域中可以用一个词概括——测试策略。
测试策略是什么?“策略”在中文翻译中是指计策、谋略,一般是指根据形势发展而制定的行动方针和斗争方法,软件测试策略是针对特定软件产品进行的一系列过程把控和质量保证的活动和方法,归纳起来就是完成“按时”和“保质”的要求的活动和方法。
对于测试人员来说,测试策略分解为“按时”和“保质”。“按时”可以理解为测试过程的把控,即怎么进行测试,测试活动应该怎么分解,中途的问题应该怎么协商处理,只有这些过程中的问题都被控制,才能保证按时的目标;“保质”可以理解为保证交付软件的质量,首先应该明确交付软件的核心质量是什么,即测试人员测试的对象以及重点是什么,只有明确这两点才能最终保证想要保证的质量。也可以简单归纳为“测什么”和“怎么测”,然后根据以下问题逐步量化,最终就能制定出合格的测试策略。
测什么
1.测试对象和测试范围是什么
2.测试目标是什么,即最终交付验收的标准是什么
3.测试的重点和难点是什么
4.测试的深度和广度是什么
5.测试的优先级是什么,即先测试什么,后测试什么
怎么测
1.测试的成本是多少,包括人力成本、仪器成本以及时间成本等
2.测试的交付时间是多少,这决定了测试的分布,包括深度广度和重点等
3.测试可能存在的风险有什么,包括任何潜在的不可控因素,如测试人员熟练度
4.测试的核心人员是谁,即该测试项目的项目经理或第一负责人是谁
在一项测试活动开始前将以上主要问题分析清楚,然后将这些问题用文字描述整理出来,进行评审和优化后,一个合格的测试策略就已经制定完成了。