3.7盒测试方法 之 业务路径覆盖法

Posted S-Gavin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.7盒测试方法 之 业务路径覆盖法相关的知识,希望对你有一定的参考价值。

一、场景法

  场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的边界值、等价类是否满足要求,而是先要关注它的主要功能和业务流程是否正确实现,这就需要使用场景法来完成测试。当业务流程测试没有问题,也就是该软件的主要功能没有问题时,我们再重点从边界值、等价类等方面对控件进行测试。

  在冒烟测试时也主要采用场景法进行测试进行测试。

1.1 场景法中重要的概念

1)基本流:按照正确的业务流程来实现的一条操作路(也就是模拟正确的操作流程);

2)备选流导致程序出现错误的操作流程(So,模拟错误的操作流程)。

给大家截了个图,可以参考一下:

 

1.2 场景法的基本设计步骤

1)根据说明,描述出程序的基本流及各项备选流;

2)根据基本流和各项备选流生成不同的场景;

3)对每一个场景生成相应的测试用例。

 

案例:

使用场景法设计ATM机取款功能的测试用例

步骤一:根据说明,描述出程序的基本流及各项备选流;

 

步骤二:根据基本流和各项备选流生成不同的场景

 

步骤三:对每一个场景生成相应的测试用例,例如:

 

大家可以试着编写更好的测试用例,在之后,我也会相继给大家写一些或上传比较好的用例,我认为还是可以的\\(^o^)/~

 

 

二、状态图

 

给大家展示的状态图转换法案例:货币转换器

2.1.1案例演示

  输入人民币金额,选择要转换的国家,再输入汇率,即可计算所输入的人民币等价的货币金额。

用户的操作可能是:

 输入人民币金额->选择国家->输入汇率->点击“计算”按钮;

 选择国家 ->输入汇率->输入人民币金额->点击“计算”按钮;

 输入人民币金额->选择国家->点击“清除”按钮。。。

2.1.2两个重要的概念

1、软件的状态

   软件运行到某个时刻所处的情况

例如:

(1)刚刚启动处于“空闲”状态;

(2)输入人民币金额以后变为“人民币金额已输入”状态;

(3)所有输入正确完成后,点击“计算”按钮,程序应该处于“显示等价金额”状态;

(4)点击“清除”按钮后处于清除状态。

2、输入的动作

   用户向软件进行的操作

例如:

(1)输入人民币金额

(2)点击某个国家单选按钮

(3)点击“计算”按钮

2.2 状态转换图法

  找出软件所有的状态以及导致这些状态发生变化的所有输入动作,进而用图形的方法把相关联的输入动作和状态联系在一起,真实模拟用户的操、作顺序流程。

2.2.1 状态转换图法的核心

1)软件所有的状态

2)导致状态发生变化的所有输入动作

2.2.2 使用状态转换图法的步骤

1)找出程序的所有输入动作,

并进行编号列出用户能够向软件输入的每一个独立的动作,并进行编号;

2)找出程序的所有状态,

可以认为用户每输入一个动作就会使程序的状态发生变化,如果不能决定是否为一个独立状态,可以先假设“是”

3)找出什么动作会导致什么状态发生,画出状态转换图(一般情况下这是一个反复的过程);

4)把相关联的动作和状态联系起来,设计测试用例。

 

例子:

使用状态转换图法分析货币转换器程序

 

步骤一:找出程序的所有输入动作,并进行编号;

步骤二:找出程序的所有状态

    可以认为用户每输入一个动作就会使程序的状态发生变化

1.系统启动后处于空闲状态

2.人民币金额已输入状态

3.国家已选择状态

4.国家已选择、汇率已输入状态

5.人民币金额已输入、国家已选择状态

6.所有输入已完成状态

7.显示等价金额状态

8.错误提示状态

   (1)人民币未输入或输入错误;

   (2)国家未选择错误;

   (3)汇率未输入或输入错误。

9.清除状态

   把清除状态看做空闲状态也可以

10.退出状态

步骤三:找出什么动作会导致什么状态发生,画出状态转换图(一般情况下这是一个反复的过程)

1轮、将所有可能的输入单独加载到被测系统的空闲状态,得到新的状态

 

2轮、将所有可能的输入单独加载到上一步得到的每一个状态中,再得到新的状态。

3轮、1.先找到主要动作和状态

3轮、2.先找到次要动作和状态

4轮、1.先找主要动作和状态

4轮、2.先找次要动作和状态

5

步骤四:根据状态转换图,把相关联的动作和状态联系起来,设计测试用例

(1)先写主要操作(功能比较重要或用户操作比较频繁的动作),后写次要操作。

(2)为了减少测试用例数量,一条测试用例最好沿着状态转换图的一条路径编写完。

以此类推,写出所有测试用例。。。

 

最后给大家总结了状态转换图法小知识点:

(1)每种状态至少访问一次。无论用什么方法,每一种状态都必须测试。

(2)测试看起来最常见最普遍的状态转换。可以根据产品说明书,通过与客户、开发人员沟通,了解哪些操作更常用、更重要。

(3)测试状态之间最不常用的分支。这些分支是最容易被产品设计者和程序员忽视的。

(4)测试所有错误状态及其返回值。错误没有得到正确处理、错误提示信息不正确等情况是常有的。

 

以上是关于3.7盒测试方法 之 业务路径覆盖法的主要内容,如果未能解决你的问题,请参考以下文章

黑盒测试总结

白盒测试法:逻辑覆盖与路径覆盖

白盒测试的3种主要方法(cont.)

白盒测试路径覆盖法中基本路径数和环形复杂度的关系

测试用例场景法和缺陷报告

软件测试