白盒测试和黑盒测试是什么意思?

白盒测试(White-box testing):指实际运行被测程序,在不使用用户界面的情况下,通过程序的源代码进行测试。这类测试需要从代码语法中发现内码的算法、溢出、路径、条件等方面的缺点或错误,然后加以改正。

黑盒测试:又称功能测试、黑盒测试或基于规范的测试,是在不检查程序源代码或不清楚软件源代码程序是如何设计的情况下,对整个软件或某个软件功能进行严格测试。测试人员可以通过输入他们的数据并查看输出结果来理解软件是如何工作的。应该更适合测试网页游戏。

区别一:根据定义。

白盒测试需要从代码语法中发现内部代码在算法、溢出、路径、条件等方面的不足或错误,然后进行修正。黑盒测试侧重于测试软件功能,不涉及程序的内部结构和内容特征。黑盒测试不能代替白盒测试,它是与白盒测试互补的测试方法,很可能发现白盒测试中不易发现的其他类型的错误。

区别二:从测试的目的来说。

黑盒测试的目的是检测是否有不正确或缺失的功能;就数据或参数而言,输入是否能被正确接收;是否存在数据结构错误或外部信息访问错误;性能是否能满足要求;是否存在初始化或终止错误。白盒测试的目的是通过检查程序在不同点的状态来确定实际状态是否与预期状态一致,而不考虑其功能。

区别三:检测方法

白盒测试是穷举路径测试,黑盒测试是穷举输入测试。这两种方法基于完全不同的观点,反映了事物的两个极端。它们各有侧重,各有优势,但不能互相替代。在现代测试理念中,这两种测试方法并不是完全分离的,而是交替使用的。