发布时间:2020-07-29
白盒测试是测试人员必须要会的一种测试,白盒测试主要是从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误。它的基本方法有代码检查、静态结构分析法、逻辑覆盖法、基本路径测试法以及域测试等方法,与白盒测试相关联的是黑盒测试,接下来我们就来了解一下白盒测试的方法和与黑盒测试的区别。
白盒测试的基本方法有哪些?
1、代码检查
代码检查包括桌面检查、代码审查和走查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构的合理性等方面;发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的内容,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。
2、静态结构分析法
在静态结构分析中,测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据结构、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图标,可以清晰地标识整个软件系统的组成结构,使其便于阅读和理解,然后可以通过分析这些图标,检查软件有没有存在缺陷或错误。
3、逻辑覆盖法
逻辑覆盖法是基路径是一组独立路径,这组独立路径中的所有路径相互不可替代,其余路径均可由这组路径的某种组合方式来遍历。基路径测试就是设计测试用例来覆盖每条基路径。
4、基本路径测试法
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。
在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。
5、域测试
域测试方法基于对输入空间的分析。自然,任何一个被测程序都有一个输入空间。域测试主要针对域错误进行的程序测试,测试的理想结果就是检验输入空间中的每一个输入元素是否都产生正确的结果。域测试正是在分析输入域的基础上,选择适当的测试点以后进行测试的。
6、路径覆盖
路径覆盖的含义是,选取足够多的测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。
与黑盒测试有哪些区别
1、从定义上
白盒测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。而黑盒测试着重测试软件功能,它并不涉及程序的内部结构和内容特性。黑盒测试并不能取代白盒测试,它与白盒是互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。
2、从测试目的上
黑盒测试的目的是检测是否有不正确或遗漏的功能;数据或者参数上,输入能否正确接收;是否有数据结构错误或外部信息访问错误;性能上是否能够满足要求;是否有初始化或终止性错误。而白盒测试的目的是通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,而不顾它的功能。
3、检测方式上
白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,它们各有侧重和优势,但不能彼此替代。在现代的测试理念中,这两种测试方法不是截然分开的,而是交叉使用。
可以说,白盒测试在测试行业当中是很重要的,因为它从代码里面进行分析发现错误的,本篇文章到这里就要结束了,小编最后再给大家推荐一个白盒测试的工具,它就是CodeAnalyzer,它可以用于实现静态分析、代码走查、代码规范检查以及代码潜在错误分析等,它是一种脱离编译器的代码静态分析软件产品。
推荐阅读:
您的信息已成功提交!
我们的客服人员稍后会与您联系