软件测试分类

来源:互联网 发布:狂野飙车8 v2.4.1数据 编辑:程序博客网 时间:2024/06/11 15:10

 

一.黑盒测试与白盒测试

 

1.黑盒测试:black-box testing:只关心软件的输入数据和输出结果。包括功能测试与性能测试。

2.白盒测试:white-box testing:研究源代码与程序结构

 

二.静态测试和动态测试

 

1.静态测试:不实际运行被测软件,只静态地检查程序代码,界面或文档中可能存在的错误的过程。

包括:代码测试(测试标准和规范),界面测试(实际界面与需求中的说明是否相符),文档测试(用户手册与需求说明是否真正符合用户的实际要求)

2.动态测试:实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符过程

 

三.单元测试,集成测试,系统测试和验收测试

 

1.单元测试:对软件中的最小可测试单元进行检查和验证。

A.单元测试需要在项目前期进行,在程序员编码之后,代码已经通过编译后进行;

B.由白盒测试员或者开发人员来测试,开发人员需要交叉测试,避免测试自己的代码

C.测试的依据是:源程序本身,包括代码和注释;还项目的《详细设计》文档

D.通过的标准:程序通过所有单元测试的用例。语句的覆盖率达到百分百;分支的覆盖率达到85%

E.需要检查代码是否符合规范,动态运行代码,检查其实际运行结果。

F.桩模块和驱动模块

桩模块:STUB指模拟被测模块所调用的模块

驱动模块:DRIVER指模拟被测模块的上级模块,用来接收测试数据,启动被测模块并输出结果

 

2.集成测试

A.integration testing:将通过测试的单元模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口部分

B.单元与集成同步进行。测试参数传递。

C.由开发人员或者白盒测试员测试

D.依据是单元测试的模块以及《概要设计》文档

 

3.系统测试与验收测试

A.系统测试:system testing将整个软件系统看做一个整体进行测试,包括对功能,性能以及软件所运行的软硬件环境进行测试

系统测试由黑盒测试员来完成,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,以及在不同的软硬件环境中的兼容性;主要依据是《系统需求规格说明》文档

B.验收测试

α测试:由用户,测试人员,开发人员共同参与的内部测试

β测试:内测后的公测,完全交给最终用户的测试

 

4.功能测试与性能测试

A.功能测试:function testing检查实际软件的功能是否符合用户的需求

逻辑功能测试(logic function testing):计算器

界面测试(ui testing):窗口,下拉式菜单和鼠标操作,数据项

易用性测试(usability testing):合理性与方便性进行测试

安装测试(installation testing):安装与缷载

兼容性测试(compatibility testing):包括硬件兼容性测试与软件兼容性测试。

 

5.性能测试(performance testing)

A.软件性能主要有时间性能与空间性能两种。一般需要用到自动化的测试工具。

B.软件测试分为:一般性能测试,稳定性测试(reliability testing),负载测试(load testing)和压力测试(stress testing)

6.回归测试,冒烟测试,随机测试

A.regression testing:对软件的新的版本测试时,重复执行上一个版本测试时的用例

B.smock testing:在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性

C.random testing:在测试中所有的输入数据都是随机生成的,目的是模拟用户的真实操作,并发现一些边缘性的错误。也叫猴子测试。