Fork me on GitHub

【测试理论-03】常用功能测试用例设计的方法总结

设计测试用例是测试工程师的必备基本功,测试用例设计要素包含:

  • 用例编号
  • 功能模块(用例用于验证的功能)
  • 用例标题
  • 优先级
  • 前置条件
  • 测试输入
  • 操作步骤
  • 期望结果
    设计测试用例常用方法如下👇

一. 等价类

1.1 定义

  • 具有相同属性或方法的集合;
  • 该集合中某个个体所表现的特征与其他个体一致;

1.2 等价类划分

  • 有效等价类:输入是合理的、有意义的、可接受的;
  • 无效等价类:输入时不合理的、无意义的、不可接受的;

1.3 等价类划分规则

  • 如果需求规定了输入域的取值(个数或范围),则可以确定1个有效等价类和2个无效等价类;
  • 如果需求规定了一个输入域的集合,可确定1个有效等价类和1个无效等价类;
  • 如果需求规定了输入域只能是真或假,可确定1个有效等价类和1个无效等价类;
  • 如果需求规定了输入域是一组值,可确定若干个有效等价类和1个无效等价类;
  • 如果需求规定必须遵守某个规则,可确定1个有效等价类和若干个从不同角度违反特定规则的无效等价类;

1.4 等价类用例设计

  • 根据需求,划分有效等价类和无效等价类;
  • 设计一个新的测试用例,使其尽可能的覆盖所有尚未覆盖的有效等价类,知道所有的有效等价类都被覆盖;
  • 设计一个新的测试用例,使其只覆盖一个无效等价类,知道覆盖所有的无效等价类;

二. 边界值

2.1 一些概念

比如小组名称长度是4-12位

  • 关注的是输入空间的边界,其基本思想在最小值、略高于最小值、正常值、略低于最大值、最大值等处取值;
  • 上点:边界上的点,闭内开外(如4,12);
  • 离点:离上点最近的点(如5,19),和是闭区间还是开区间有关系,如果是开区间,离点在域内,如果是闭区间,离点在域外;
  • 内点:域范围内的任一点(如5,6,7等);

2.2 确定离点

  • 整数域[4,12]:上点是4,12且都在域内,离点是3,13;
  • 整数域(4,12]:上点是4,12,一个在域内,一个在域外,离点是5,13;
  • 整数域(4,12):上点是4,12,都在域外,离点是5,11;

2.3 边界值应用规则

  • 如果需求规定了取值范围:[4,12],边界值取:4,12,3,13,5;
  • 如果需求规定了取值的个数比如4件商品5折,边界值取:3,4,5;

三. 场景设计法

3.1 定义

  • 分析软件的应用场景,从实际应用场景的角度来设计测试用例,是一种面向用户的测试用例的设计方法;
  • 关心用户做什么,而不关系产品做什么;
  • 实用性强,设计的用例有价值,不校验单个功能节点的正确性,只关心流程是否走通;

3.2 场景设计流程

  • 基本流(正常流),比如输入正确的用户名和密码,登录成功;
  • 备选流,第1次输入错误的用户名和密码,第2次输入正确的用户名和密码;
  • 异常流,一直输入错误的用户名或密码;

3.3 场景法设计用例的步骤

  • 根据实际场景,画出流程图,确定基本流和备选流;
  • 根据基本流和备选流,确定场景;
  • 针对每一个场景,设计测试用例;

四. 判定表

4.1 定义

  • 判定表是分析和表达多种输入条件下,系统执行不同动作的工具;
  • 将复杂的逻辑关系和多种条件组合的情况表达的清晰明了;

4.2 判定表的组成部分

  • 条件桩:系统的所有输入;
  • 条件项:针对所有条件桩的取值;
  • 动作桩:系统可能采取的操作;
  • 动作项:根据动作桩取值情况下应采取的动作;
  • 动作项和条件项组合一起,形成业务逻辑处理规则;

4.3 判定表的设计步骤

  • 确定条件桩和动作桩;
  • 设计和优化判定表;
  • 填写动作项;
  • 提取测试用例;

4.4 实际应用

需求:如果手机欠费或是停机,不允许主被叫。


五. 因果图

5.1 定义

  • 用于描述输入与输入、输入与输出之间存在的约束关系;
  • 输入与输出之间的关系有:恒等、与、或、非;
  • 输入与输入之间的关系有:异、或、唯一、要求;

5.2 设计步骤

  • 根据需求文档确定输入与输出;
  • 根据输入与输入、输入与输出的关系,画出因果图;
  • 画出判定表,根据因果图,得到最终的判定表;
  • 根据判定表得到用例规则,细化用例;

5.3 实际应用

需求:如果第1列是A或是B,第2列是数字,则修改文件;如果第1列不正确,则给出M;如果第2列不正确,则给出L;

 

posted @ 2022-04-07 14:29  橘子偏爱橙子  阅读(186)  评论(0编辑  收藏  举报