• [ 黑盒测试方法 ] 场景分析设计方法


    1、场景分析法概念

      分析软件应用的场景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法。先搞清楚以下几个概念:

      (1)用例场景:是通过描述流经用例路径来确定的过程。这个流经过程要从用例开始到结束遍历其中所有的基本流和备选流。

      (2)基本流:采用直黑线表示,是经过用例的最简单的路径,也就是功能正常实现的基本流程(流程无任何异常错误,程序从开始直到执行的结束)

      (3)备选流:采用不同颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不在加入基本流中。(各种错误情况)

      关于基本流和备选流直观图示如下图:

    i

    遵循图中每个用例经过的路径,可以确定以下场景:

    场景1:基本流

    场景2:基本流 备选流1

    场景3:基本流 备选流1 备选流2

    场景4:基本流 备选流3

    场景5:基本流 备选流3 备选流1

    场景6:基本流 备选流3 备选流1 备选流2

    场景7:基本流 备选流4

    场景8: 基本流 备选流3 备选流4

    2、场景分析法特点

    (1)分析软件应用的场景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法。

    (2)关心用户做什么,而不是关心产品做什么

    (3)优点:实用性强,有效,设计出来的用例有价值

    (4)缺点:可能使用的场景不一定能对事件系列进行全面的分析,设计出来的用例不完整。

    3、场景分析法设计测试用例步骤

    (1)理解业务需求,分析业务基本流和备选流上所有会影响数据流走向的的各种因素,建议从用户操作角度拆分流程中各环节,同时考虑时间、网络等因素。

    (2)组合场景中可能发生的事件序列。

    (3)将环境因素和事件序列进行组合并进行分析推导,得到不同的场景。

    4、场景分析法使用实例

      1、过桥问题。 4个人在晚上过一座小桥,过桥时必须要用到手电筒,只有一枚手电筒,每次最多只可以有两人通过(人多了桥支撑不住就塌了), 4个人的过桥速度分别为1分钟、2分钟、5分钟、10分钟,试问最少需要多长时间4人才可以全部通过小桥?

    可能的事件序列1

    (1)先过去2个人,其中一个拿手电筒(1分钟和2分钟)

    (2)1个人拿手电筒返回(1分钟)

    (3)再过去2个人,其中一个拿手电筒(5分钟和10分钟)

    (4)1个人拿手电筒返回(2分钟)

    (5)拿手电筒返回的人和剩下的那个人一起过桥( 1分钟和2分钟)

    可能的事件序列2

    (1)先过去2个人,其中一个拿手电筒(1分钟和2分钟)

    (2)已过桥的人站在桥头拿手电筒照亮桥。

    (3)剩下2个人一起过去(5分钟和10分钟)

    环境因素(4个人、桥、手电筒、夜晚)

    人:过桥的速度是一定的,所以只有他们的过桥行为会对总的过桥时间有影响。

    人:有力学知识

    人:4人的情况有所不同(年龄、身体)

    桥:长度和承重

    手电筒:照射距离和时间

    夜晚:光线

    由显性的环境因素分析出对结果有影响的因素后,就可以设计具体的过桥时的显性场景了。

      4个人为一家人,一对夫妻、一个老人和小孩,丈夫过桥1分钟,妻子过桥2分钟,小孩10分钟,老人5分钟。当时天上一片漆黑,在过桥的过程中没有手电筒无法看清桥面。手电筒照10米远,维持1小时左右。桥的长度60米,最多可以让2个人同时通过

    Step1;丈夫和妻子先过到桥那边去(2分钟);

    Step2:丈夫拿手电筒回来(1分钟);

    Step3:丈夫背小孩一起过去(2分钟);

    Step4:丈夫拿手电筒再回来(1分钟);

    Step5:丈夫回来扶老人一起过去(5分钟)

    隐性场景分析

    (1)手电筒会不会掉到桥下或摔坏?手电筒带电池的吗?电池会不会没电

    (2)过桥的过程中是否有山洪爆发或水突然涨高将桥淹没?或者下大雨

    (3)会不会在过桥过程中有野兽嚎叫等因素影响他们的过桥速度?

    (4)桥下面是什么?是水溪还是无水的沟谷还是很深的悬崖?

        隐性的环境因素和隐性事件很可能是一个无穷大的集合,在其中找出有用的场景是一个极大的挑战。分析隐性场景的几种方法:影响因素分析法、异常情况分析法、空间分解分析法和时间序列分析法。

    影响因素分析法

    (1)列出场景中的事件的结果;

    (2)分析事件结果产生的原因;

    (3)从原因中找出隐性环境。

    (4)过桥问题中,事件主要是4个人过桥,结果是过桥花费时间。影响结果的因素主要有:过桥的方式、过桥的速度、过桥的过程

    异常情况分析法

    (1)分析现有场景中的异常情况和异常事件。

    (2)异常情况包括已有环境中的异常和外部环境中的异常。

    (3)要点:找出那些概率比较大的异常。

    空间分解分析法

    (1)空间是一个抽象的概念,软件中有许多形式,如数据空间、内存空间、磁盘空间等。

    (2)将空间分解成一个个更小的空间块,然后分析这些小的空间块中环境和事件。

    时间序列分析法

    (1)分析现有场景中事件的发生从之前到之后的各个时间序列的场景。

    (2)过桥之前、过桥期间、过桥之后

  • 相关阅读:
    Leetcode练习(Python):链表类:第206题:反转链表:反转一个单链表。
    Leetcode练习(Python):链表类:第203题:移除链表元素:删除链表中等于给定值 val 的所有节点。
    Leetcode练习(Python):链表类:第160题:相交链表:编写一个程序,找到两个单链表相交的起始节点。
    Leetcode练习(Python):链表类:第141题:环形链表:给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。
    Leetcode练习(Python):链表类:第83题:删除排序链表中的重复元素:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
    【Java基础总结】数据库编程
    【Java基础总结】多线程
    特迷茫的大三时期
    解决忘记了开机密码,无法进入系统的方法
    一开机未通过输入密码登录,就出现用户名或密码错误??
  • 原文地址:https://www.cnblogs.com/linyfeng/p/9211680.html
Copyright © 2020-2023  润新知