一、软件测试的定义
使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。可以理解为,预期结果和实际结果做对比,如果实际结果和预期结果不一样,那么就找到了一个bug。
二、软件测试的分类
1、测试方法
1.1 黑盒测试
被测软件当成一个黑盒子,不关心盒子内部结构是什么,只关心软件的输入数据和输出数据。
1.2 白盒测试
又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,白盒指的打开盒子,去研究里面的源代码和程序结果。
1.3 灰盒测试
介于白盒测试和黑盒测试之间的一种测试,多用于集成测试阶段,不仅关注输入输出的重要性,同时也关注程序的内部结构。
2、测试阶段
2.1 单元测试
单元测试是对软件中的基本组成单位进行的测试,如代码块、函数、方法等等。(一般由开发自己做,采用白盒测试)
2.2 集成测试
集成测试是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。有时候集成测试又叫接口测试。(一般采用灰盒测试)
2.3 系统测试
系统测试是将经过测试的子系统装配成一个完整系统来进行测试。(一般采用黑盒测试)
2.4 验收测试
验收测试一般根据产品规格说明书严格检查产品,逐行逐字地对照说明书上对软件产品所做出的各方面要求,确保所开发的软件产品符合用户的各项要求。验收测试包括α测试和β测试。(一般由领导或者甲方验收,测试员协助)
α测试:是一种前期用户测试,公司内部组织员工与部分用户模拟实际操作环境下进行的验收测试,也称内测。
β测试:是一种后期用户测试,此时系统已通过内部测试大部分错误已修正即将正式发行,在一个或多个真实环境下发布版本