软件测试——功能图法、场景法_ni5

一、功能图法

        程序的功能说明通常由动态说明和静态说明组成。动态说明描述了输入数据的次序或转移的次序。静态说明描述了输入条件与输出条件之间的对应关系。

功能图法定义:

功能图方法是用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例。

功能图模型由状态迁移图和逻辑功能模型构成。由输入数据和当前状态决定输出数据和后续状态。

状态迁移图:用于表示输入数据序列以及相应的输出数据和后续状态

逻辑功能模型:用于表示在状态中输入条件和输出条件之间的对应关系。逻辑功能模型只适合于描静态说明,输出数据仅由输入数据决定。测试用例则是由测试中经过的一系列状态和在每个状态中必须依靠输入/输出数据满足的一对条件组成。

功能图方法实际上是一种黑盒、白盒混合用例设计方法,其中逻辑覆盖和路径测试的概念和方法属于白盒测试的内容。

逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计方法。逻辑覆盖可分为:语句覆盖、判定覆盖、判定-条件覆盖,条件组合覆盖及路径覆盖。

功能表生成测试用例:

        功能图由状态迁移图和布尔函数组成。状态迁移图用状态和迁移来描述一个状态,表示的逻辑功能。指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表和因果图。

 测试用例生成规则: 

测试用例生成规则:为了把状态迁移(测试路径)的测试用例与逻辑模型的测用例组合起来,从功能图生成实用的测试用例,需定义下面的规则。一个结构化的状态迁移中,定义3种形式的循环:顺序、选择和重复。 但分辨一个状态迁移中的所有循环是有困难的。 

功能图生成测试用例的过程:  

生成局部测试用例:在每个状态中,从因果图生成局部测试用例。局部测试库由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成。

测试路径生成:利用上面的规则生成从初始状态到最后状态的测试路径。

测试用例合成:合成测试路径与功能图中每个状态的局部测试用例。结果是视状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据组合。

测试用例的合成算法:采用条件构造树。

二、场景法

        现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。

基本流和备选流:

用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。

基本流:是经过用例的最简单的路径

备选流:可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中起源于另一个备选流,或者终止用例而不再重新加入到某个流。

基本流的全面测试必须包括负面测试用例,以确保只有在符合条件的情况下才执行基本流。

对于备选流中的每一个而言,至少存在一个负面测试用例。

        

                

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值