Software Testing-How To Design Test Case

软件测试实例


1,黑盒测试

  • 等价类+边界值

    流程:

    1,根据输入需求划分有效等价类与无效等价类(对有效等价类的条件取反),并且对每个等价类进行编号

    2,根据有效等价类的取值范围进行边界值划分

    参考:

输入项有效等价类无效等价类

输入项等价类边界值

用例编号覆盖用例输入集合预期集合
  • 因果图

    流程:

    1,根据需求描述提炼以下序列(原因,结果)

    2,对原因进行抽象提炼(eg:add,delete,update,search等原因可以总结为修改数据)

    3,根据需求描述画图···(常用∩∪~三个符号上线)

    4,(可选)因果图转换为判定表并设计测试实例

    参考:

原因结果

输入条件原因聚簇
中间结果抽象聚簇
输出结果结果聚簇
测试用例Y/N

用例编号输入预期结果
  • 决策表

    流程:

    1,同因果图,区别在于提炼序列变更为条件,动作

    2,遍历所有动作导致的可能结果并填表(表格参考见)

    3,根据化简规则(同消消乐的规则)对决策表进行化简

    参考:

123N
条件聚簇
动作聚簇

编号输入条件输入数据预期结果

2,白盒测试

  • 逻辑覆盖测试

    分类以及概念:

名称概念
语句覆盖每个语句至少执行一次
判定覆盖每个判定每个分支至少执行一次
条件覆盖每个判定每个条件获得各种可能的取值
条件判定覆盖条件∩判定
条件组合覆盖各种条件的各种组合至少执行一次
路径覆盖所有可能的路径被执行一次

参考:

#include <stdio.h>
  void main(){
    float A,B,X;
    scanf("%f%f%f",&A,&B,&X);
    if((A>1)&&(B==0))
      X=X/A;
    if((A==2)||(X>1))
      X=X+1;
    printf("%f",X);
  }

1,绘制流程图

2,根据要求设计测试用例(丫不废话么)

eg:

1,语句覆盖,满足条件(A=2,B=0,X>1)的随意来一组

2,判定覆盖,每个判定一组约束条件,非本组的判定条件取反即可(A>1,B=0,X<=1)(A=2,B!=0,X>1)

3,条件覆盖,分解条件如下(A>1|A<=1)(B=0|B!=0)(A==2|A!=2)(X>1X<=1)设计用例覆盖以上条件即可

4,条件判定覆盖,根据判定得出覆盖路径,筛选条件设计满足该路径的条件即可

5,条件组合覆盖,通过第一个判定

  if((A>1)&&(B==0))

可以得出以下组合的判定组合:

((A>1)&&(B!=0))

((A>1)&&(B==0))

((A<=1)&&(B!=0))

((A<=1)&&(B==0))

以此类推可以得出所有的该程序段的条件组合覆盖测试用例

6,路径覆盖,通过流程图转化为控制流图即可进行路径覆盖的测试用例的设计

  • 基本路径测试

    流程:

    1,绘制控制流图

    2,计算环路复杂度

    3,找出独立路径

    4,设计覆盖独立路径的测试用例

    参考:

    1,参考流程图(好像没有什么区别)三大结构(顺序,循环,选择)

    2,边-节点+2|判定节点+1|区域数量

    3,独立路径,每次至少(也可以多一点)引入一条新的,尚未执行的语句。该类路径的数量与环路复杂度相等

    4,看具体需求了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值