黑盒测试和白盒测试,覆盖率的测试

黑盒测试是一种软件测试方法,它检查应用程序的功能,而不检查其内部结构或工作方式。
黑盒测试试图找出以下类别的错误:
1)功能不正确或缺失,
2)接口错误,
3)数据结构或外部数据库访问错误;
4)行为或性能错误;(5)初始化和终止错误
测试用例通常来自软件的外部描述,包括规范、需求和设计参数。虽然所使用的测试本质上主要是功能测试,但是也可以使用非功能测试。
典型的黑盒测试设计技术包括:
-等价划分
-边值分析
-决策表测试
-全对测试
-因果图
-错误猜测
-状态转换测试
-用例测试
-用户故事测试
-领域分析
-组合技术
边界值分析
▪更多的错误发生在输入域的边界,而不是在“中心”
:错误隐藏在角落里和边界处-
0是一个正数和负数之间的界限
数字类型的最大和最小值,如int和double
空虚(空字符串,空列表,空数组)的集合类型
集合的第一个和最后一个元素就是这个原因
边界值分析(BVA)已经被开发成一个测试技术。边界值分析导致使用边界值的测试用例的选择。

白盒测试则依据功能的具体实现设计测试用例
如果实现根据输入选择不同的算法,那么应该根据这些域进行分区。
白盒测试在白盒测试中,使用系统的内部透视图以及编程技能来设计测试用例。测试人员选择输入来遍历代码并确定适当的输出。白盒测试可以应用于软件测试过程的单元、集成和系统级别。通常,它在测试过程的早期执行。
覆盖率的测试
测试和莱斯特-赫斯特程序蒙代码覆盖率最彻底的白盒方法是覆盖程序中的每条路径,
但是因为程序通常包含一个循环,所以路径的数量非常大。几乎不可能执行每条路径,我们只能尝试确保覆盖率尽可能高。
一个例子:一个程序包含一个循环,需要执行20次。它包括520种不同的执行路径。假设每条路径的测试时间为1ms,则完成所有路径的测试需要3170年。
一个高代码覆盖率的程序(以百分比衡量)在测试期间执行了更多的源代码,这表明与低代码覆盖率的程序相比,它包含未检测到的软件错误的几率更低。
代码覆盖率基本覆盖标准函数覆盖
程序中的每个函数(或子例程)都被调用了吗?
语句覆盖率
程序中的每个语句都执行了吗?
决策或分支覆盖率
是否执行了每个控制结构的每个分支,例如in if和case语句)?例如,给定一个if语句,是否同时执行了true和false分支?换句话说,程序中的每条边都执行了吗;
条件或谓词覆盖率,
每个布尔子表达式的值都为true和false吗?
条件/决策覆盖率
要求同时满足决策和条件覆盖率。多个条件覆盖要求测试每个决策中的所有条件组合。路径覆盖:每个分支的每一个可能的组合都是通过程序的每一条路径吗?
分支覆盖率比语句覆盖率更强(需要实现更多的测试),路径覆盖率比分支覆盖率更强。▪在工业中,100%的语句覆盖率是一个共同的目标,但是由于不可到达的防御性代码(比如“不应该到达这里”的断言),即使是100%的语句覆盖率也很少实现。▪100%的分支覆盖率是非常理想的,安全关键行业规范有更严格的标准(例如,MC/DC,修改条件/决策覆盖率

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑盒测试白盒测试是软件测试中两种常见的测试方法,它们用于验证软件系统的功能和质量。下面是对黑盒测试白盒测试的介绍: 1. 黑盒测试黑盒测试是一种基于软件外部行为的测试方法,测试人员只关注软件的输入和输出,而不考虑内部实现细节。在黑盒测试中,测试人员不需要了解软件的内部结构和代码,只需根据需求规格说明书或功能规范来设计测试用例。黑盒测试主要关注以下几个方面: - 功能测试:验证软件是否按照需求规格说明书中的功能要求正常工作。 - 边界值测试测试边界值情况下软件的行为,例如输入的最大值、最小值等。 - 错误处理测试测试软件对于错误输入或异常情况的处理能力。 - 性能测试:验证软件在各种负载情况下的性能表现。 2. 白盒测试白盒测试是一种基于软件内部结构和代码的测试方法,测试人员需要了解软件的内部实现细节。在白盒测试中,测试人员可以查看源代码、设计文档等来设计测试用例,并通过代码覆盖率等指标来评估测试的完整性。白盒测试主要关注以下几个方面: - 语句覆盖:测试用例能否覆盖到软件中的每一条语句。 - 分支覆盖:测试用例能否覆盖到软件中的每一个分支。 - 路径覆盖:测试用例能否覆盖到软件中的每一条可能路径。 - 数据流覆盖:测试用例能否覆盖到软件中的每一个数据流。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值