没有测试计划会怎么样?
-
很难确切地知道具体的测试范围,以及应该采取的具体测试策略;
-
很难预估具体的工作量和所需要的测试工程师数量,同时还会造成各个测试工程师的分工不明确,引发某些测试工作被重复执行而有些测试则被遗漏的问题;
-
测试的整体进度完全不可控,甚至很难确切知道目前测试的完成情况,对于测试完成时间就更难预估准确的时间节点了;
-
整个项目对潜在风险的抵抗能力很弱,很难应对需求的变更以及其他突发事件。
一份好的测试计划要包括什么?
一份好的测试计划要包括:测试范围、测试策略、测试资源、测试进度和测试风险预估,这五大方面,并且每一部分都要给出应对可能出现问题的解决办法。
测试范围
测试范围描述的是被测对象以及主要的测试内容。
比如,对于用户登录模块,功能测试既需要测试浏览器端又需要测试移动端,同时还考虑登录的安全和并发性能相关的非功能性需求的测试等。
测试范围中需要明确“测什么”和“不测什么”。
测试策略
测试策略简单来讲就是需要明确“先测什么后测什么”和“如何来测”这两个问题。
-
测试策略会要求我们明确测试的重点,以及各项测试的先后顺序。
比如,对用户登录模块来讲,“用户无法正常登录”和“用户无法重置密码”这两个潜在问题,对业务的影响孰轻孰重一目了然,所以,你应该按照优先级来先测“用户正常登录”,再测“用户重置密码”。 -
测试策略还需要说明,采用什么样的测试类型和测试方法。
这里需要注意的是,不仅要给出为什么要选用这个测试类型,还要详细说明具体的实施方法。
第一,功能测试
第二,兼容性测试
Web 测试需要确定覆盖的浏览器类型和版本,移动设备测试需要确定覆盖的设备类型和具体 iOS/Android 的版本等。
怎么确定需要覆盖的移动设备类型以及 iOS/Android 的版本列表呢?
如果是既有产品,你可以通过大数据技术分析产品的历史数据得出 Top 30% 的移动设备以及 iOS/Android 的版本列表,那么兼容性测试只需覆盖这部分即可。
如果是一个全新的产品,你可以通过 TalkingData 这样的网站来查看目前主流的移动设备,分辨率大小、iOS/Android 版本等信息来确定测试范围。
第三,性能测试
测试资源
测试资源通常包括测试人员和测试环境,这两类资源都是有限的。测试计划的目的就是,保证在有限资源下的产出最大化。所以,测试资源就是需要明确“谁来测”和“在哪里测”这两个问题。
测试进度
测试进度主要描述各类测试的开始时间,所需工作量,预计完成时间,并以此为依据来建议最终产品的上线发布时间。
测试风险预估
在制定测试计划时,你就要预估整个测试过程中可能存在的潜在风险,以及当这些风险发生时的应对策略。
通常需求变更、开发延期、发现重大缺陷和人员变动是引入项目测试风险的主要原因。
来源于:极客时间 茹炳晟 软件测试52讲