测试分析和测试设计

653 阅读7分钟

5d2e8ff48820c.jpg

测试用例的概念

测试用例是为了特定的目的而设计的一组包括测试输入、执行条件、和预期结果等内容

为什么要设计测试用例

1、避免盲目测试
2、提高测试效率
3、突出重点,明确目的
4、通用化和复用化使工作易开展
5、使知识积累
6、软件更新后只须更新对应的用例
7、评估测试人员进度、工作量和效率

测试用例的设计原则

1、具有代表性,能够覆盖各种情况
2、测试结果的正确性可判定,每个测试用例具有期望的结果
3、测试结果的可再现性:相同的用例执行结果相同

测试用例具有八大要素:

编号、测试项、名称、优先级、前置条件、测试输入、操作步骤、预期结果

好的测试用例的标准

测试是充分并且完备的--也就是覆盖率最大 合适的设计方法--使得工作量最小化 结构清晰、层次分明--易读 用例的持续使用--可复用、易维护

测试用例的管理工具

  1. Excel表格
  2. 思维导图
  3. JIRA-Zephyr

测试分析

graph TD
了解测试任务 --> 测试需求分析-->找出测试点

测试需求分析--质量属性

  1. 功能性:功能测试:单功能测试和多功能测试
  2. 效率:性能测试
  3. 可靠性:可靠性测试:异常输入、故障植入、稳定性、压力测试、恢复测试
  4. 易用性:易用性测试:一致性、可用性
  5. 可移植性:可移植性测试
  6. 可维护性:可维护性测试

测试点特征

类型

流程类、参数类、数据类、组合类、状态类

测试设计

选择模型-->应用模型-->1、建立模型/2、覆盖模型,生成测试用例/3、补充测试数据/4、扩展用例

什么是模型:

凡是能够根据测试点特征,选择一个合适后续进行测试覆盖的流程图等图表,统称为模型。

常见的应用模型

流程图、判定树/表、等价类分析表、因子表/分类树、状态转换图

等价类分析表

什么是等价类

软件或系统输入分成不同的组,同一个组的输入、系统等表现出相似的行为,通常把这种技术称为等价类划分。

边界值

对输入或输出的数据边界进行测试的方法
主要是作为等价类的一种补充
对输入进行等价类划分,然后将每个等价类的边界值作为测试的样本点

等价类分析表: 一张表中,包含条件、有效输入和无效输入

条件有效等价类无效等价类
A的取值范围【1,10】1<=A<=10A<1或者A>10

等价类覆盖策略

确知已划分的等价类中,各元素在程序处理中方式不同的情况下,可将该等价类进一步划分为更小等价类 一次划分之后还可以进行二次划分

等价类分析表的覆盖方法

有效等价类的覆盖:

流程图

流程图的定义:

流程图是对过程、算法、流程的一种图像表示,通常用一些图框来表示各种类型的操作,然后用带箭头的线连起来表示他们的先后顺序。

作用:

查缺补漏,避免功能流程和逻辑上出现漏洞,确保流程的完整性

适用场景:

  1. 有多个步骤,各步骤之间存在约束关系,所有步骤完成一件事情
  2. 整个过程可能涉及多余一个的执行者和触发者

流程图的覆盖策略

  1. 分支覆盖:所需的最小路径的合集
  2. 路径全覆盖:100%覆盖所有的路径集合
  3. 最小线性无关覆盖

流程图的应用步骤:

  1. 绘制流程图
  2. 使用路径分析法得到基础用例
  3. 使用等价类、边界值技术明确测试用例
  4. 其他需要考虑的、探索的来补充用例

我的理解是流程图是对过程进行一个梳理,是一个概括分析的过程,还需要等价类和边界值等辅助其完成量化的工作

等价类分析表

什么是等价类和边界值

等价类:软件或系统输入按照相似的特性来进行划分,这就叫等价类划分
边界值:就是数据值的边界
等价类和边界值常常搭配使用,一般是用等价类选出具有相同性质的一些值,然后利用边界值法确定需要的测试的具体值。

等价类分析表的适用场景

  1. 各数据之间逻辑上的关系是相互独立的
  2. 数据的取值是一个范围,通常不能用遍历的方式来测试覆盖
  3. 系统对输入的数据做的响应是一致的
  4. 各数据的取值之间有可能存在一些约束关系

等价类分析表的覆盖方法

有效等价类的覆盖:设计一个测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类,一直重复,直到有效等价类被全部覆盖。
无效等价类覆盖:设计新的测试用例,每次只覆盖一个无效等价类,重复这一步直到所有的无效等价类被全部覆盖。

等价类分析表的应用步骤:

  1. 使用等价类分析表
  2. 使用边界值来分别为等价类分析表为无效等价类和有效等价类确定测试数据
  3. 其他需要考虑的,可以探索补充

判定表

分析和表达多逻辑条件下执行不同的操作的工具,判定表是最严格、最具有逻辑性的 作用:可以将复杂的问题按照可能的情况全部列举出来,有效的避免遗漏的出现

什么是判定表

判定表由条件桩、条件项、动作桩、动作项组成

判定表的使用场景

  1. 参数个数有限,可通过遍历覆盖
  2. 系统对不同的参数值做出不同的处理或响应
  3. 测试点描述含有多条规则,规则是由参数的不同值组合而成

判定表的应用步骤

  1. 建立判定表
  2. 100%覆盖判定表的生成用例
  3. 补充用例

因子表

什么是因子表

分析测试点需要考虑哪些因素,并且这些因素需要包含哪些因子的表

因子表的适用场景

  1. 因子个数多
  2. 每个因子有多种可能的取值
  3. 因子之间可能存在一些逻辑关系

因子表的覆盖策略

两因素组合法,多因素组合法

因子表的应用步骤

  1. 使用因子表建模
  2. 使用组合测试的方法覆盖测试用例
  3. 补充用例

判定表和因子表的区别:判定表有结果,也就是动作桩;可以根据条件项和他们对应的条件项进行合并,因子表则不可以

分类树

分类树的适用场景

  1. 测试对象的整个输入域可以分割成多个独立的类
  2. 每个类特定值在相互作用时产生影响

分类树的覆盖策略:

  1. 完全组合
  2. 最小组合
  3. 结对组合
  4. 混合组合

分类树的应用步骤:

  1. 建立分类树
  2. 选定4中覆盖策略中的一种,选取不同类的代表值组成生成测试用例
  3. 补充用例