假设现在有一个研发项目A开始了,我们的软件测试架构师也要投入项目了。此时项目产品的包需求已经基本完成,产品概念已经初步成型,如图1所示。
图1 研发项目A示意图
不过此时软件测试架构师对项目的了解还非常有限:
· 知道项目叫什么名字。
· 项目大致要做些什么内容。
· 领导期望项目在什么时候结束。
1、开始
此时,软件测试架构师对项目的了解还非常有限,在制定测试策略之前,收集了解更多的项目信息非常重要:
· 项目的范围。
· 人力投入。
· 历史情况。
……
2、初次使用“四步测试策略制定法”
当我们收集了一些项目信息,对项目有一定的了解后,就开始准备制定测试策略了。这也是我们初次在项目中使用“四步测试策略制定法”,如图2所示。
图2 对项目使用“四步测试策略制定法”
2.1 产品质量等级
产品质量评估模型,只能告诉我们该从哪些角度去评估产品质量,并没有告诉我们,怎样的评估结果可以被认为是好的质量,怎样的结果又是不好的质量。换句话说,我们还缺少一个评价质量的“刻度”,即产品质量等级。
从最终用户使用的角度,我们将产品质量分为如下4个等级。
· 第1级完全商用:特性完全满足用户的需求,有少量(或者无)遗留问题,用户使用时无任何限制。
· 第2级受限商用:特性无法满足用户的某些特定场景,有普通以上的遗留问题,但有规避措施。
· 第3级测试、演示或小范围试用:特性只能满足用户部分需求,有严重以上的遗留问题,且无有效的规避措施,问题一旦出现就会影响用户的使用,只能用于测试(如Beta)或演示,或者小范围试用。
· 第4级不能使用:特性无法满足用户需求,存在严重以上的遗留问题,会导致用户基本功能失效,且无规避措施,产品根本无法使用。
注意:产品质量等级虽然是在项目初期确定的,但定义的是产品在发布时的质量,而不是产品在测试过程中的质量,如图3所示:
图3 定义产品发布时的质量
2.2 确定项目中各个特性的质量等级
按照四步测试策略制定法,我们先围绕明确产品质量目标来展开分析
此时,软件测试架构师需要对本项目中包含的特性,逐一确定它们的“产品质量等级”(表1)。
需要特别说明的是:
· 该项活动能够顺利进行的前提是产品的特性已经基本确定完成了。
· 这项活动不应该仅由软件测试架构师来进行,需要需求工程师、研发经理等研发核心团队共同进行,对不同特性的产品质量等级能够达成一致。
2.3 对项目整体进行风险分析
按照四步测试策略制定法,在这个阶段,软件测试架构师需要从项目整体角度进行风险分析。
此时,我们可以按照7.1节中介绍的“风险评估清单”,来对项目整体进行一次风险评估,并参考“风险应对”来考虑应对措施,增加一些质量保证活动。
在确定风险应对措施的时候,需要区分这些活动是针对项目整体的,还是针对具体特性的。可以直接记录在产品质量等级表中备忘(表1)。
表1 产品质量等级表
2.4 确定测试策略的结构
按照四步测试策略制定法,接下来我们将围绕产品开发流程来进行分析。
图4 总分式的测试策略结构
总体测试策略:确定产品质量目标,进行项目整体的风险识别,从产品层面来确定测试重点和测试难点、测试深度和测试广度,是测试策略的总纲。
阶段测试策略:确定测试设计策略和测试执行策略需要达到的质量目标(产品质量目标的分解)以及能够进行这些测试活动的入口条件。
测试执行策略:确定每个版本的测试目标、测试内容和每个版本的入口条件。
总体测试策略从概念阶段开始,在计划阶段前期完成比较合适。因为这时产品的需求、质量目标和整体形态都已经确定下来,已具备了制定总体测试策略的条件,而且也需要这样一份文档来总领后面的测试活动,让测试团队成员心中有数。
阶段测试策略在总体测试策略完成后随即展开,保证在开发阶段前期完成。这是因为,阶段测试策略最重要的目的,就是明确各个阶段的输入输出标准。在开发编码之前(或在前期)就把要求说清楚,可以让开发目标更明确,更有利于产品质量的提高。测试也可以根据双方达成的标准,准备接收测试用例、自动化测试环境等。如果阶段测试策略输出得过晚,这些活动可能就会来不及进行或者达不到期望的效果。
测试执行策略在测试执行阶段,每个版本转测试之前输出即可。测试执行策略除了对阶段测试目标进一步进行分解到每个版本的粒度,还需要根据上一个版本的测试执行情况,对测试策略进行调整。
图5 各类测试策略之间的关系
2.5 初步确定测试分层
按照四步测试策略制定法,接下来我们将进行与测试分层相关的分析。
对软件测试架构师来说,此时我们可以结合研发流程,来初步确定一个测试分层。假设此时我们采取经典V模型中的测试分层,然后将测试分层和研发流程,以及测试策略的结构放在一张图上,初步将三者的对应关系梳理出来了
图6 测试分层、研发流程和测试策略结构的对应关系
2.6 回顾
们先来总结一下到目前为止,软件测试架构师取得了哪些进展:
· 明确了特性的质量等级,并且和各个研发核心团队的成员就质量目标达成一致意见。
· 从项目整体角度进行了风险分析,有了需要做哪些质量保证活动的初步计划。
· 确定了测试策略的结构为总体测试策略—阶段测试策略—测试执行策略。
· 初步确定了测试分层,并且梳理出了测试分层、研发流程和测试策略结构的对应关系,初步建立了一个测试的框架。
通过这次实践,我们发现只使用一次四步测试策略制定法,是无法得到最终的测试策略的。
首先,这和项目所处的阶段有关。一些和测试策略制定相关的、必要的、重要的信息,只有到项目的某些阶段才会清晰,所以我们需要按照测试策略的结构,在项目的不同阶段多次使用四步测试策略制定法来制定测试策略,如图7所示。
图7 多次使用四步测试策略制定法制定测试策略
其次,四步测试策略制定法中的4个步骤之间并不是瀑布式的单向关系,而是全网状的双向关系。图8更为准确地表达了这4个节点之间的关系。
图8 4个节点间的关系
例如,产品质量目标变高了,对此我们可能会增加一些测试分层,这使得研发流程也发生变化,也引入了新的风险。
所以我们在使用四步测试策略制定法时,发现进行到某个步骤进行不下去了,可以将这个步骤停一下,进行下一个步骤,然后再回过头来进行这个没有做完的步骤,这时往往会有新的收获。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理