千家信息网

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

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,状态转换图的组成:1、状态:以圆圈表示,开始和结束是特殊状态;2、转换:由于事件的驱动,系统从一个状态到另一个状态;3、事件:以系统的相关接口触发,和特定的转换关联;4、活动:以"/"表示,活动由状态
千家信息网最后更新 2024年11月24日黑盒测试之状态转换测试法

状态转换图的组成:

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。但是,需要注意的是,测试强度的增加,是以指数形式增加测试用例为代价的。这两者之间的平衡,是测试人员采用什么样的测试强度的时候必须考虑的。


状态 节点 层次 测试 生成 步骤 程序 系统 之间 序列 强度 行为 规则 活动 两个 事件 动态 变量 同时 圆圈 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保定市高碑店新城镇网络安全 大熊南京网络技术 阿里云网站服务器收费价格表 亮点网络技术有限公司 怎么更改电脑时间同步服务器 网络安全和道德教育手抄报 定期开展网络安全检测情况台账 光网络技术及应用 券商板块和网络安全股 江苏交友软件开发定做 非公安类网络安全与执法专业 国内好玩的mc pvp服务器 为什么离线文件显示服务器拒绝 世界最大的网络安全公司 浏览器显示重启服务器连接失败 电信网络技术工程师面试 石家庄笃行网络福州软件开发 数据库练习答案 计算机网络安全的就业方向 网络安全和攻防是静态还是动态 网络安全防诈骗文字 非自主研发的数据库 网络连接服务器故障 物理服务器可以装两个数据库吗 公安局网络安全覆盖 工业网络技术以后是干嘛的 新华三sdn软件开发部 上海哈灵互联网科技有限公司 c 怎么创建连接数据库代码 网络安全和攻防是静态还是动态
0