测试设计在项目测试过程中是个重要的一环,个人认为测试设计的质量很大程度上决定着项目测试的质量和效率。测试设计这个话题非常的大,本来不想说些基础的知识,但是考虑到我个人的一些想法和做法,还是决定说的清楚点较好。

  测试设计的定义:

  前提条件:需求分析完成,建立了需求基线。
  输入:测试计划;需求规格说明书;UC;详细设计。
  输出:测试设计。
  行动:对于评审后的需求使用各种测试设计方法进行更进一步的用例设计。
  原则: 通常应该避免依赖先前测试用例的输出。

  为什么要做测试设计:

  1、对前面评审后的需求进行进一步的评审。

  2、对于大的需求做一些分解和加深理解。

  3、产出所有具体需求的所有测试思路和异常分支。

  4、对后续的用例编写根本性的指导。

  5、对整个被测系统进行测试模型的建立。

  6、为了对被测接口进行接口功能的评审和检查(接口)。

  测试设计的关键目的是为了让测试更丰富。

  测试设计的产出形式:

  测试设计的产出不是一份文档

  内容:

  1、功能需求分解MM图:Free Mind; Xmind
  2、系统交互图:Rose
  3、数据流程图:Rose
  4、分析完成的用例思路集合
  5、接口设计的具体测试用例(接口)

  我这边提出的测试设计,是本产品测试所需要的所有测试思路的集合,按照类型和功能的结合来进行分类,让其他测试人员都能快速了解测试覆盖率和需求覆盖率。同样的是,我个人认为测试设计分两种:一种是项目的测试设计,该测试设计文档的生命周期是是随着需求评审的开始到项目监控期的结束。另一种是产品的测试设计,只要该产品还存在于线上,该产品的测试设计文档无论在何时必须处于新状态,完整状态,正确状态。

  下面是详细的说明:

  测试设计:通过三个阶段得到的设计文档,第一个是在PRD(需求规格说明书)评审阶段,使用基于需求的测试方法编写的测试设计思维图(功能点划分,P1级 、P2级的用例场景);第二个是在User Case评审阶段,使用基于需求的测试方法评审User Case并完善测试设计思维图(补充P1 级、 P2级的用例场景,P3级、P4级的用例场景);第三个是在系统设计评审阶段,通过评审接口说明文档,详细设计文档,数据库设计文档(补充每个功能点容易遗漏的异常场景和详细校验点)。

  测试设计一:应用功能测试模型阶段,通过熟悉功能测试模型和分析系统的功能需求,补充公共功能容易遗漏的异常场景和详细校验点。

  测试设计二:应用线下故障测试模型阶段,通过熟悉线下故障测试模型和分析系统的功能需求类型,补充复杂特殊功能容易遗漏的异常场景和详细校验点。

  测试设计三:应用线上故障测试模型阶段,通过熟悉线上故障测试模型和分析系统的功能需求类型,补充特殊环境下容易遗漏的异常场景和详细校验点。

  使用基于测试模型的测试设计,可以得到完整和覆盖率较高的测试设计思路,从而保证测试的质量和减少线上故障。