如何做好测试策略
希望这篇blog能帮助大家分清测试策略与测试计划的不同,体会到测试策略内容的核心是什么,知道通过哪些渠道来修炼自己制定测试策略的能力。 测试策略的输出:做对的事!
测试计划的输出:把事做对!
测试策略不是测试计划。
我们既可以先有测试计划再有测试策略,也可以先有测试策略后有测试计划。两者有什么区别呢?
如果是先有测试计划再有测试策略,那么我们就是在制定一个“大测试项目计划”。这个测试计划是一个项目工作计划,它指明我们计划开始的是整个项目计划。这个项目计划会先划定时间来了解项目的目标,项目的要求,然后再划出一段时间来依据项目目标和项目要求,项目拥有的资源来制定项目的测试策略。 如果是先有测试策略再有测试计划,那么我们是在制定一个“测试执行活动计划”。这个测试计划会以测试策略作为输入,来确定测试执行活动所需要的资源,时间分布,测试活动序列。
总得来说测试计划会更多包含:测试活动的先后序列,资源调度分配的安排。而测试策略会更多包含:测试重点的确立,测试技术类型的分析和选取。 以我的经验和方式,制定测试策略会先从项目的需求和约束要求入手,作为开始测试策略分析制定的输入。在正式分析制定测试策略的第一步时,会先进行RBT 基于风险的分析,使用RBT的方法分析得出测试目标的优先级;第二步,分析项目已有的技术现状,评估哪些现有的测试技术能满足此次项目;第三步,按优先级 对测试目标的达成所需要的不同的测试技术,测试活动组合进行匹配。例如:有三个测试目标A,B,C,现有测试技术有D1,D2,D3。
由于风险系数的先后顺序为A,B,C,因此,我会给目标A配置D1,D2,D3三种测试活动的建议,给目标B配置D2,D3的测试活动,给C配置D3的测试活动。测试项目经理拿到我的测试策略后,会在测试计划中安排相应的人力配置,安排相应的时间计划。
关于更多测试策略制定的方法,应该跳出测试来学习和分析。
因为策略一词最早来自战争,来自商业。因此,如何从理论高度明白如何做好测试策略,就应该多看一些军事策略和商业策略的资料,学会分析设计策略的工作方法和工作过程,才是最重要的。
如果,你真能在测试工作中,做好测试策略,并真正以测试策略作为测试计划的输入,指导后续测试计划的方向,那么你得到的锻炼将不仅仅是找编程BUG的测 试技能,而是真正人类智慧思想的本质和真谛,这些技能是让你思想和能力上几个层面的重要基石。即使未来你不干测试了,你也一样是一个智者。因为你学会了如 何决定做对的事!
再补充一些我对测试策略的感受分享
1、测试策略关键2点:测什么和怎么测,都是策略的范畴。策略影响质量和效率。
2、测试不仅是质量的保障,还为研发,管理活动提供了最强的支撑。测试在研发体系发挥了非常核心的作用。
3、如能在深入分析的基础上,大幅减少测试用例,则测试效率的提升比自动化高。
4、策略是基于经验的活动,不完善的地方由工具和自动化进行补充。
5、测试策略:首先要对客户群的质量要求有很好的理解,然后给出我们各阶段的质量策略和测试重点(基于经验和组织的积累。)
第二篇:测试计划编写策略
测试计划描述了如何进行测试,有效的测试计划会驱动测试工作的完成,使测试执行、测试分析以及测试报告的工作开展更加顺利。
一、测试计划的重要性和目的
1、 测试计划的重要性
测试计划是在软件测试中最重要的步骤之一,它在软件开发的前期对软件测试做出清晰,完整的计划,不光对整个测试起到关键性的作用,而且对开发人员的开发工作,整个项目的规划,项目经理的审查都有辅助性作用。
2、 测试计划的目的
测试计划描述所要完成的测试,包括测试背景、测试目的、风险分析、所需资源、任务安排和进度等:
(1)将需求和总体设计分解成可测试,应该测试,推迟测试和无法测试的范围
(2)对每个范围制订测试的策略和方法
(3)制订release和停止测试的标准
(4)准备测试所需要的环境
(5)确定测试风险
(6)确定软件测试目标
(7)确定测试所需要的资源其其他相关信息
(8)制订测试进度和任务安排
二、测试计划编写基本策略
1、测试计划编写依据:项目计划、项目计划的评估状态以及业务的理解
2、测试计划编写时间:尽早开始。原则上应该在需求定义完成之后开始编写测试计划,对于开发过程不是十分清晰和稳定的项目,测试计划也可以在总体设计完成后开始编写。
3、测试计划的编写与实施人员:测试计划应该由测试小组组长或最有经验的测试人员来进行编写,测试计划由测试人员来实施,测试人员可以对测试计划进行相关人员确认后进行调整。
4、测试计划的变更:测试计划是一个发展变化的文档,会随着项目的进展、人员或环境的变动而变化,确保测试计划是最新的而且依据测试计划执行测试工作。
5、测试计划的优先级别:没有谁可以保证通过测试后的产品没有缺陷,也没有公司会允许无休止的测试。好的测试是一个有代表性、简单和有效的测试,在测试计划中,必须制定测试的优先级和重点。
6、测试计划的评审:测试计划需要由高级测试人员或测试组长制订,在经验不足或条件限制的软件测试计划的制订时,需要多名测试人员共同制订和修正.
(1)软件项目经理负责评审测试计划的方向正确性和软件开发按照总体设计方案实施(如有改动,需通知测试人员修改计划),并保证软件具有可测试性
(2)QA人员评审测试过程的正确性和能够按照计划要求的正确实施
(3)高级经理评审测试计划的导言和范围的正确性
7、测试计划的管理
测试计划将按照项目编码或软件名称和版本进行管理,所有文档放置于CVS。
8、测试计划制定过程:
(1)评估项目计划和状态
(2)组建测试小组
(3)了解项目风险
(4)制定测试计划
(5)审查测试计划
9、测试计划的原则
(1)尽早开始
(2)灵活变更
(3)合理评审
(4)简洁易读
三、测试计划的主要内容
测试计划的内容会因不同的项目以及项目的大小而有所不同,一般而言在测试计划中应该清晰描述以下内容:
1、 测试目标:对测试目标进行简要的描述。
2、 测试概要:摘要说明所需测试的软件、名词解释、以及提及所参考的相关文档。
3、 测试范围:测试计划所包含的测试软件需测试的范围和优先级,哪些需要重点测试、哪些无需测试或无法测试或推迟测试。
4、 重点事项:列出需要测试的软件的所有的主要功能和测试重点,这部分应该能和测试案例设计相对应和互相检查。
5、 质量目标:制定测试软件的产品质量目标和软件测试目标。
6、 资源需求:进行测试所需要的软硬件、测试工具、必要的技术资源、培训、文档等。
7、 人员组织:需要多少人进行测试,各自的角色和责任,他们是否需要进行相关的学习和培训,什么时候他们需要开始,并将持续多长时间。
8、 测试策略:制定测试整体策略、所使用的测试技术和方法。
9、 发布提交:在按照测试计划进行测试发布后需要交付的软件产品、测试案例、测试数据及相关文档。
10、 测试进度和任务人员安排:将测试的计划合理的分配到不同的测试人员,并注意先后顺序.如果开发的Release不确定,可以给出测试的时间段.对于长期大型的测试计划,可以使用里程碑来表示进度的变化。
11、 测试开始/完成/延迟/继续的标准:制定测试开始和完成的标准;某些时候,测试计划会因某种原因(过多阻塞性的Bug)而导致延迟,问题解决后测试继续。
12、风险分析:需要考虑测试计划中可能的风险和解决方法。