白盒测试及用例编写

白盒测试

白盒测试是什么

白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。
优点:代码覆盖率高,针对代码逻辑测试。
缺点:覆盖所有代码路径难度大;业务功能可能不全;测试开销大。

使用场景:首先会进行黑盒测试进行系统功能测试,然后用白盒测试进行对重点代码部分进行代码逻辑测试。

白盒测试用例设计方法

在这里插入图片描述

逻辑覆盖法

逻辑覆盖法:是通过对程序逻辑结构的遍历实现程序的覆盖
覆盖率:是用来衡量测试完整性的手段
覆盖率 = 至少被执行一次的item数 / item的总数 (item:语句、判定、条件等)
逻辑覆盖法的第一步就是将程序代码转换为流程图。
下面将分别介绍逻辑覆盖法中的具体的典型方法:

语句覆盖

语句覆盖:设计测试用例,使得程序中的每条语句至少被执行一次。
在这里插入图片描述
语句覆盖率尽可能100%覆盖。
在这里插入图片描述
局限性:覆盖标准最弱,比如上述案例中第一步的 && 换成 || 也能全覆盖,但代码仍是错误的。

判定覆盖

判定覆盖:也叫分支覆盖,设计测试用例,使得程序中的每个判断的“真”和“假”都至少被执行一次。即:程序中的每个分支至少执行一次。
在这里插入图片描述
判定覆盖率尽可能100%覆盖。
在这里插入图片描述
局限性:判定条件一定满足语句覆盖,但是同样 && 换成 || 也能全覆盖,但代码仍是错误的。

条件覆盖

条件覆盖:设计测试用例,使得判定中的每个条件至少有一次取真值,有一次取假值。
在这里插入图片描述
条件覆盖率尽可能100%覆盖。
在这里插入图片描述
局限性:条件覆盖比判定覆盖,增加了对判定中所有条件的测试。条件100%覆盖并不能保证判定覆盖的100%。

判定条件覆盖

判定条件覆盖:设计测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值(真假)也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。
在这里插入图片描述
判定条件覆盖率尽可能100%覆盖。
在这里插入图片描述
局限性:满足判定条件覆盖一定能满足条件覆盖、判定覆盖和语句覆盖。但是同样 && 换成 || 也能全覆盖,但代码仍是错误的。

条件组合覆盖

条件组合覆盖:设计测试用例,使得被测试程序中的每个判定中条件结果的所有可能组合至少执行一次。
在这里插入图片描述
条件组合覆盖率尽可能100%覆盖。
在这里插入图片描述
局限性:条件组合覆盖能满足判定覆盖、条件覆盖、判定-条件覆盖,也就包括语句覆盖。但是不能保证所有的路径都覆盖。

路径覆盖

设计测试用例,覆盖程序中所有可能的路径(从头到尾)。
在这里插入图片描述
路径覆盖率尽可能100%覆盖。
在这里插入图片描述
局限性:对程序进行彻底的覆盖,比前面5种覆盖都广。但是,满足路径覆盖并不一定能满足条件覆盖和条件组合覆盖。而且当程序特别复杂,循环判断都特别多的时候,路径太多了。

基本路径测试法

基本路径测试法:在程序控制流图的基础上,通过分析程序的环路复杂性,导出基本可执行路径集合(而不用导出全部的路径),从而设计测试用例。

步骤:
在这里插入图片描述
案例:
第一步:
在这里插入图片描述
在这里插入图片描述
第二步:
在这里插入图片描述
第三步:
在这里插入图片描述
第四步:
在这里插入图片描述

总结

在这里插入图片描述

以上图片均来源于网络

  • 8
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
白盒测试是针对程序的内部结构进行测试的,因此需要考虑程序的逻辑、分支、循环、变量、函数等方面。以下是一些可能的测试用例: 1. 对于校园卡管理系统中添加新卡的功能,测试用例可以包括: - 空卡号和空姓名是否能够被添加。 - 重复卡号是否能够被添加。 - 卡号和姓名是否符合格式要求(如长度、字符等)。 - 添加成功后卡号和姓名是否正确地存储在数据库中。 - 添加失败时是否有错误提示信息。 2. 对于查询卡信息的功能,测试用例可以包括: - 查询已存在的卡号是否能够成功返回对应的姓名和余额。 - 查询不存在的卡号是否会返回错误提示信息。 - 查询时是否进行了合适的输入检查(如空值、非法字符等)。 - 查询结果是否正确地从数据库中获取并返回。 3. 对于充值和消费的功能,测试用例可以包括: - 充值和消费时是否能够正确地更新卡的余额。 - 充值和消费时是否进行了合适的输入检查(如负数、非法字符等)。 - 充值和消费时是否有足够的错误提示信息(如余额不足、非法操作等)。 - 充值和消费时是否正确地将记录入数据库中。 4. 对于删除卡的功能,测试用例可以包括: - 删除已存在的卡是否能够成功删除。 - 删除不存在的卡是否会返回错误提示信息。 - 删除卡时是否正确地将记录从数据库中删除。 - 删除卡时是否进行了合适的权限检查(如管理员权限)。 以上是一些可能的测试用例,具体还需要根据实际情况进行补充和修改。在编写测试用例时,需要考虑到程序的各种情况和可能的错误,以确保程序的正确性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值