功能测试的常用方法

功能测试的常用方法:边界值,等价类,因果图,决策表,场景图,状态图
之前对于等价类划分和边界值理解的算比较好,对于其他方法的实际场景没有很好的理解,在测分过程中可能思维方式应用到了,但是却不能对此方法进行定义,不清楚属于什么方法。经过学习,这里说下个人对这些方法的一个理解。

一、 边界值&等价类:
(1)先确定有效和无效等价类
(2)有效等价类就是题目条件(两端的极值(边界值)要判断、中间随意一个值也要判断)
(3)无效等价类先划分与条件相反的情况,再找到特殊情况(中文、英文、符号、空格、空)

二、 因果图&决策表

  • 思考:为什么需要因果图?和等价类划分(边界值)有什么区别?

等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。因果图法着重测试规格说明中的输入与输出间的依赖关系。

  • 思路:
    (1)确定软件规格(需求)中的原因和结果
    (2)确定原因和结果之间的逻辑关系
    (3)确定因果图中的各个约束(constraints)
    (4)画出因果图并转换为决策表
    (5)根据决策表设计测试用例

三、 状态图&场景图:

  • 思考?什么情况用状态图,什么情况用场景图?

状态图法关注的是程序所处的不同状态,场景法关注的是程序所执行的流程,即触发状态变化的事件顺序;

状态比较突出,对象单一的情况下使用状态图;场景图对象不单一,需要输入动作。比如用户在订飞机票时,机票的状态推荐用状态图;用户在ATM取钱的时候,插卡后判断卡合法性、密码输入正确错误、退卡等动作场景较多的情况下,推荐使用场景图。

状态图

(1)根据需求明确状态节点
(2)绘制状态迁移图
(3)绘制状态迁移树
(4)抽取测试用例 
案例: 飞机售票系统:
1.客户向航空公司打电话预定机票,此时机票信息处于“预定”状态
2.顾客支付了机票费用后,机票信息变为“已支付”状态
3.旅行当天到达机场,拿到机票后,机票信息变为“已出票”状态
4.登机检查后,机票信息变为“已使用”状态。
5.在登机前任何时间可以取消自己的订票信息,如果已经支付了机票的费用,则还可以退款,取消后,订票信息处于“与取消”状态

状态图:

 

4条测试用例:(1)预定-已支付-已出票-已使用(2)预定-已取消(3)预定-已支付-已取消(4)预定-已支付-已出票-已取消

场景图:基本流+备选流

1) 画出需要测试路径的流程图(百度说一般选择工具Office Visio,我推荐用processon:https://www.processon.com/)

2) 分析基本流和备选流

3) 根据基本流和备选流设计测试用例

 

基本流

备选流

测试重要性 重要 次要
数目 1条 1条或多条
初始节点位置 系统初始状态 基本流或其他备选流
中止节点位置 系统默认中止状态 基本流或系统其他中止状态
是否是完整的业务流程 否,仅仅是业务流程的执行片段
能否构成场景 否,需和基本流共同沟通场景

我的理解就是业务流程图~~~

:边界值,等价类,因果图,决策表,场景图,状态图
之前对于等价类划分和边界值理解的算比较好,对于其他方法的实际场景没有很好的理解,在测分过程中可能思维方式应用到了,但是却不能对此方法进行定义,不清楚属于什么方法。经过学习,这里说下个人对这些方法的一个理解。

一、 边界值&等价类:
(1)先确定有效和无效等价类
(2)有效等价类就是题目条件(两端的极值(边界值)要判断、中间随意一个值也要判断)
(3)无效等价类先划分与条件相反的情况,再找到特殊情况(中文、英文、符号、空格、空)

二、 因果图&决策表

  • 思考:为什么需要因果图?和等价类划分(边界值)有什么区别?

等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。因果图法着重测试规格说明中的输入与输出间的依赖关系。

  • 思路:
    (1)确定软件规格(需求)中的原因和结果
    (2)确定原因和结果之间的逻辑关系
    (3)确定因果图中的各个约束(constraints)
    (4)画出因果图并转换为决策表
    (5)根据决策表设计测试用例

三、 状态图&场景图:

  • 思考?什么情况用状态图,什么情况用场景图?

状态图法关注的是程序所处的不同状态,场景法关注的是程序所执行的流程,即触发状态变化的事件顺序;

状态比较突出,对象单一的情况下使用状态图;场景图对象不单一,需要输入动作。比如用户在订飞机票时,机票的状态推荐用状态图;用户在ATM取钱的时候,插卡后判断卡合法性、密码输入正确错误、退卡等动作场景较多的情况下,推荐使用场景图。

状态图

(1)根据需求明确状态节点
(2)绘制状态迁移图
(3)绘制状态迁移树
(4)抽取测试用例 
案例: 飞机售票系统:
1.客户向航空公司打电话预定机票,此时机票信息处于“预定”状态
2.顾客支付了机票费用后,机票信息变为“已支付”状态
3.旅行当天到达机场,拿到机票后,机票信息变为“已出票”状态
4.登机检查后,机票信息变为“已使用”状态。
5.在登机前任何时间可以取消自己的订票信息,如果已经支付了机票的费用,则还可以退款,取消后,订票信息处于“与取消”状态

状态图:

 

4条测试用例:(1)预定-已支付-已出票-已使用(2)预定-已取消(3)预定-已支付-已取消(4)预定-已支付-已出票-已取消

场景图:基本流+备选流

1) 画出需要测试路径的流程图(百度说一般选择工具Office Visio,我推荐用processon:https://www.processon.com/)

2) 分析基本流和备选流

3) 根据基本流和备选流设计测试用例

 

基本流

备选流

测试重要性 重要 次要
数目 1条 1条或多条
初始节点位置 系统初始状态 基本流或其他备选流
中止节点位置 系统默认中止状态 基本流或系统其他中止状态
是否是完整的业务流程 否,仅仅是业务流程的执行片段
能否构成场景 否,需和基本流共同沟通场景

我的理解就是业务流程图~~~

你可能感兴趣的:(软件测试)