前言
前面我们聊过《软件测试笔记(十一)自动化测试和手动测试的选择》,有些朋友和我聊到在测试里面还有类似的一些概念,比如白盒测试和黑盒测试。今天就大家分享下我对这两种测试的理解。
黑盒测试
它是根据软件需求和规范创建测试场景/案例,按照需求文档里面定义的行为及规范进行输入并且检查输出的测试。
测试人员在不查看内部代码结构的情况下,评估被测软件的功能。它可以应用于软件测试的各个层次,如单元、集成、系统和验收测试。
因为不查看源码,所以测试人员只对应用程序的功能部分执行测试,以确保软件的行为符合预期,所以是基于行为的测试。
黑盒测试的常用的一些技术
等价划分:等价划分也称为等价类划分法。在等价划分法中,软件的输入被划分为期望表现出相似行为的组,因此它们很可能以相同的方式被输入。因此,从每个组中选择一个输入来设计测试用例。
边界值分析:边界值分析(BVA)是在测试有效和无效分区的边界值的基础上进行的。每个等价分区边缘的行为比分区内的行为更加容易出现缺陷,因此边界是测试可能产生缺陷的区域。
决策表:决策表又称因果表。这种测试技术适用于输入之间具有逻辑关系的功能。在决策表技术中,我们处理输入的组合。为了识别决策表的测试用例,我们可以查看它的条件和输出。
状态转换:使用状态转换测试,我们从需要测试的不同系统转换的应用程序中选择测试用例。当应用程序为相同的输入提供不同的输出时,我们可以应用这个方法,这取决于在以前的状态中发生了什么。
白盒测试
白盒测试是基于应用程序内部的代码结构在白盒测试中,系统的内部视角以及编程技巧被用来设计测试用例这种测试通常在单元级别进行。
白盒测试的常用的一些技术
语句覆盖率:它是一种常用的测试覆盖方式,它衡量被测代码中每个语句是够被执行到了。当然前提条件是可执行代码,类似的注释,头文件,空行,等是无法被覆盖的。通常它考虑的是代码覆盖的行数,而不考虑其内部的逻辑处理,所以测试效果不太明显。
int divide(int a, int b) { r

本文介绍了白盒测试和黑盒测试的概念及区别。黑盒测试侧重于软件功能的验证,不考虑内部代码,常用技术包括等价划分、边界值分析、决策表和状态转换。白盒测试则基于代码结构,主要关注内部逻辑,常见的技术有语句覆盖率、分支覆盖率和路径覆盖率。总结来说,黑盒测试关注功能需求,白盒测试关注内部逻辑的正确性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



