常见的测试的类型以及原理

黑盒测试:

黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。对于外部测试人来说不需要了解程序是如果实现的。

白盒测试:

是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正,对于测试人员来说需要了解程序是如何设计的,就像解刨一样,明白人身体里面每一个血管的走向,大小等内部原理。

回归测试:

回归测试,重点在回上,指的是一个程序代码,在原来的基础上增加新的功能的时候,再去测试以前的功能是否被覆盖或者受到影响,这一个过程称为回归测试。

灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。

单元测试:

单元测试一般都是程序员自己在写代码的时候,自己测试自己的功能块的时候写的代码,现在使用单元测试的框架一般是junit4来实现。目的是为了测试自己得功能块实现了目标的功能没有。

黑盒测试主要是为了发现以下几类错误:

1、是否有不正确或遗漏的功能?

2、在接口上,输入是否能正确的接受?能否输出正确的结果?

3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求?

5、是否有初始化或终止性错误?

白盒测试主要是想对程序模块进行如下检查:

1、对程序模块的所有独立的执行路径至少测试一遍。

2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

3、在循环的边界和运行的界限内执行循环体。

4、测试内部数据结构的有效性,等等。

相关推荐