对于渗透测试工程师来说,白盒测试和黑盒测试大家并不陌生,它是非常重要的概念,但很多人不知道什么是白盒测试和黑盒测试,更不知道白盒测试和黑盒测试有什么区别,对此小编特整理了这篇文章,我们一起来学习一下。
白盒测试是指实际运行被测程序,通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法、溢出、路径和条件等方面的缺点或者错误,进而加以改正。
黑盒测试是通过使用整个软件或者某种软件功能来严格地测试,而并没有通过检查程序的源代码,或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据看输出的结果,从而了解软件怎样工作。
黑盒测试和白盒测试是两种不同类型的软件测试策略,它们具有同样强大的功能,白盒测试和黑盒测试往往不是决然分开的,一般在白盒测试中交叉使用黑盒测试的方法,在黑盒测试中交叉使用白盒测试的方法。
白盒测试和黑盒测试有什么区别?
从测试的目的上来说:黑盒测试的目的是检测是否有不正确或者遗漏的功能;数据或者参数上,输入能够正确接收;是否有数据结构错误或者外部信息访问错误;性能上是否能够满足要求;是否有初始化或终止性错误。而白盒测试的目的是通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,而不顾它的功能。
从测试方式上来说:白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,他们各有侧重和优势,但不能彼此替代。在现代的测试理念中,这两种测试方法不是截然分开的,而是交叉使用。