1、根据是否检查程序的内部结构分为:

(1)黑盒测试:只关心输入输出结果。

(2)白盒测试:研究源代码和程序结构。

2、根据是否运行程序,分为:

(1)静态测试:指在不实际运行被测软件的情况下,检查程序代码、接口或文档可能存在的错误的过程。

静态测试包括:

对于代码测试,主要是测试代码是否符合相应的标准和规范。

对于接口测试,主要测试软件的实际接口是否与需求中的说明一致。

对于文档测试,主要测试用户手册和需求描述是否真正符合用户的实际需求。

(5)动态测试是指实际运行被测程序,输入相应的测试数据,检查输出结果是否与预期结果一致的过程。

3、按阶段划分:

(1)单元测试是指对软件中最小的可测试单元的检查和验证。

Stud模块指被模拟待测模块调用的模块,driver模块指被模拟待测模块的上级模块。驱动模块用于接收测试数据,启动被测模块,输出测试结果。

(2)集成测试,单元测试的下一阶段,是指将通过测试的单元模块组装成一个系统或子系统,然后进行测试,重点测试不同模块的接口部门。

集成用于检查各单元模块是否能相互配合,正常运行。

(3)系统测试是指将整个软件系统作为一个整体进行测试,包括测试功能、性能以及软件运行的软硬件环境。

系统测试的主要依据是文件《系统需求规格说明书》。

(4)验收测试是指系统测试后期的测试,以用户测试为主,或者有测试人员等质保人员参与。也是软件正式交给用户使用的最后一道工序。

验收测试分为a-test和beta-test,其中A-test是指由用户、测试人员、开发人员等共同参与的内部测试。而beta-test指的是内测之后的公测,即完全交给最终用户进行测试。

4、黑盒测试分为功能测试和性能测试:

1)功能测试,是黑盒测试的一个方面,检查实际软件的功能是否满足用户的需求。

包括逻辑功能测试。

ui测试ui=用户界面

可用性测试:是指从软件使用的合理性和方便性的角度来检查软件系统,从而找出软件中不方便的地方。

兼容性测试:包括硬件兼容性测试和软件兼容性测试。

2)性能测试(性能测试)

软件性能主要包括时间性能和空间性能。

时间性能:主要指软件特定事务的响应时间。

空间:主要指软件运行时消耗的系统资源。

软件性能测试分为:

通用性能测试:是指允许被测系统在正常的硬件和软件环境下无压力运行的性能测试。

稳定性测试也称可靠性测试:是指被测系统连续运行,以检查系统在运行过程中的稳定性。

负载测试:是指通过让被测系统在其可承受压力的限度内连续运行来测试系统的稳定性。

压力测试:是指对被测系统持续施加压力直至崩溃,用于测试系统所能承受的最大压力。

5、其他测试类型:

回归测试是指测试新版本软件,重复执行之前版本的用例。

冒烟测试(Smoke testing)是指在大规模测试一个新版本之前,需要验证软件的基本功能是否实现,是否可测试。

随机测试是指测试中的所有输入数据都是随机生成的,其目的是模拟用户的真实操作,寻找一些边际误差。