温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

黑盒测试之状态转换测试法

发布时间:2020-07-28 14:30:51 来源:网络 阅读:1902 作者:947154267yjn 栏目:软件技术

状态转换图的组成:

1、状态:以圆圈表示,开始和结束是特殊状态;

2、转换:由于事件的驱动,系统从一个状态到另一个状态;

3、事件:以系统的相关接口触发,和特定的转换关联;

4、活动:以“/”表示,活动由状态转换触发;

5、条件:以“[ ]”表示,说明状态转换只有在满足这个条件后进行。



状态转换测试:是根据状态转换来设计测试用例的一种方法。一个系统或组件的两个允许状态之间的切换。

基于状态转换的测试方法是探测Web程序动态行为异常的有效途径.Web程序状态的变迁由链接序列和提交数据共同构成的导航场景决定.本文用活动页 面导航图(APND)来描述页面间的链接转换行为,用状态变量的组合对象状态图(COSD)来刻画由提交数据导致的系统状态变量改变,再将两者统一成一个 较为全面的动态行为模型Web程序状态转换图(WSTD).最后,采用线索k叉树并加以改进来自动生成测试用例。



状态转换图----->状态转换树

1、将开始状态作为状态转换树的根;

2、从左到右检查当前层次的节点,将该节点对应的所有下一个可能状态作为其子节点;

3、重复第二部的动作,直到遇到前面层次的节点,则该节点为最终节点,最终到结束节点。




循环转换机-->n-switch

 N-Switch是由TSUN S. CHOW在1978年提出的,他将N-Switch定义为程序图中长度为n+1的连续的边或弧线(通常在状态图中表示循环)的序列。所以单独的一条边(或者转换)就是一个0-Switch,两条连续的边的序列就是1-Switch。

下面以图1所示的状态机分别说明0-Switch和1-Switch的概念和区别。图1所示的状态机示例,其中圆圈表示状态,带箭头的边表示转换,同时为每个转换定义了一个英文字母的标识。

  黑盒测试之状态转换测试法

  图1 状态机示例图



  1)0-Switch

  针对0-Switch,状态转换图转化为状态转换树的基本规则或者步骤如下:

  ● 步骤1:将初始状态或者开始状态作为状态转换树的根,根在整个状态转换树中的层次是1。

  ● 步骤2:假设当前生成状态转换树的层次为K,那么从左到右检查所有层次为K上的节点;将该节点对应的所有下一个可能的状态作为它的子节点,状态之间的转换作为两个状态的边。

  ● 步骤3:重复步骤2,直到一个位于层次K上的节点出现在层次J上,且J小于等于K,那么这个节点就成为最终的叶节点,而无需继续生成其子节点;或者节点的状态是结束状态,也不需要针对该节点继续进行状态转换。

  根据0-Switch的定义,该状态机对应的所有的0-Switch为:a、b、c、d、e、f。同时根据上面0-Switch状态转换树生成规则,生成的状态图如图2所示。

  黑盒测试之状态转换测试法

  图2 0-Switch状态转换图示例



  2)N-Switch

   再来看一下1-Switch。根据1-Switch的定义,该状态机对应的所有1-Switch为:ab、ac、bb、bc、cd、ce、dd、de、 ea、ef、fd、fe。1-Switch状态转换树的生成规则是在0-Switch状态转换树基础上,再增加一个层次,即针对0-Switch状态转换 树的所有叶节点,把每个叶节点可能的下一个状态作为该节点的子节点。这里需要注意的是,只需要增加一个层次既可。生成后的1-Switch的状态转换图如 图3所示。

  黑盒测试之状态转换测试法

  图3 1-Switch状态转换图示例

  假如1-Switch还是无法满足测试的强度,那么,可以根据上面的思路,继续增加一个层次,使之达到2-Switch。但是,需要注意的是,测试强度的增加,是以指数形式增加测试用例为代价的。这两者之间的平衡,是测试人员采用什么样的测试强度的时候必须考虑的。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI