软件测试的分类以及测试原则

软件测试分类

1.按阶段划分

1)单元测试(黑盒测试占20%,白盒测试占80%)(动态静态都有)

​ 单元测试又称模块测试,是针对软件设计的最小单位–程序模块进行正确性检验的测试工作。其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各个模块内部可能存在的各种错误。单元测试需要从程序内部结构出发设计测试用例(核心)。多个模块可以平行地独立进行单元测试

2)集成测试(白盒测试20%,灰盒测试40%,黑盒测试40%)(基本上都是动态)

​ 集成测试也叫组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统

2.按测试技术划分

1)确认测试(模拟环境下进行)(黑盒测试80%,白盒灰盒测试20%)(动态)

​ 确认测试也叫有效性测试。是在模拟的环境下,验证软件的所有功能和性能及其他特
性是否与用户的预期要求一致。通过了确认测试之后的软件,才具备了进入系统测试阶段的资质

2)系统测试(黑盒测试90%)(动态)

​ 系统测试是在真实的系统运行的环境下,检查完整的程序系统能否和系统,(包括硬件、
外设、网络和系统软件、支持平台等)正确配置、连接,并最终满足用户的所有需求

3)验收测试(黑盒测试100%)(动态)

​ 是软件产品检验的最后一个环节。 按照项目任务书或合同、供需双方约定的验收依据
文档进行的对整 个系统的测试与评审,决定是否接收或拒收系统。

3.按测试技术划分

1)黑盒测试

​ 通过软件的外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子,
完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,它只是检
查程序是否按照需求规格说明书的规定正常实现。

2)白盒测试

​ 通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透
明的盒子里,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设
计说明的规定正常进行。白盒测试又称结构测试。

3)灰盒测试(一般被理解为接口测试)ps:一般在集成测试用的多

​ 介于白盒测试与黑盒测试之间的测试。灰盒测试关注输出对于输入的正确性;同时也
关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现
象、事件、标志来判断内部的运行状态

4.按照代码进行划分(方法)

1)静态测试
​ ●指不实际运行被测对象,而只是静态地检查程序代码、界面或文档中可能存在错误的
​ 过程。
​ ●代码测试:主要测试代码是否符合相应的标准和规范
​ ●界面测试:主要测试软件的实际界面与需求中的说明是否相符
​ ●文档测试:主要测试用户手册和需求说明是否真正符合用户的实际需求
2)动态测试
​ 指实际运行被测对象,输入相应的测试数据,检查实际输出结果和预期结果是否相符
的过程。所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否
运行程序

5.按照软件特性划分

1)功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求
​ 逻辑功能测试
​ 界面测试
​ 易用性测试
​ 安装/卸载测试
​ 兼容性测试
2)性能测试
​ 功能的另一个指标,主要关注软件中的某一功能在指定的时间、空间条件下,是否使
用正常
​ 软件的性能包括很多方面,主要有时间性能(速度快不快)和空间性能(占用空间多不多)两种
3)安全性测试
​ 验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使之不被非法入侵,
不受各种因素的干扰。

6.其他测试

1)回归测试
是指对软件的新版本测试时,重复执行之前某一个重要版本的所有测试用例
​ 目的:
​ 1.验证之前版本产生的所有缺陷已全部被修复;
​ 2.确认修复这些缺陷没有引|发新的缺陷
2)冒烟测试(类似确认测试)
​ 是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实
现,是否具备可测性。也叫可测性测试。
3)随机测试
​ 是指测试人员基于经验和直觉的测试,发现些边缘性的错误。
4)猴子测试
​ 把自己当成不懂产品的笨蛋或者小动物随便乱点,没有任何的主观意识和想法参与进
来,让一些意想不到的操作造成错误的结果。


软件测试的原则

●所有测试的标准都是建立在用户需求之上。
●软件测试必须基于"质量第一” 的思想去开展各项工作,当时间和质量冲突时,时间要服从质量。
●事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。
●软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试。
●穷举测试是不可能的。
●第三方进行测试会更客观,更有效。
●软件测试计划是做好软件测试工作的前提。
●测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多地发现错误,提高程序的可靠性。

●对发现错误较多的程序段,应进行更深入的测试。-般来说,一-段程序中已发现的错误数越多,其中存在的错误概率也就越大。
●重视文档,妥善保存一-切测试过程文档(测试计划、测试用例、测试报告等)
●应当把"尽早和不断地测试”作为测试人员的座右铭
●回归测试的关联性一定要引起充分的注意, 修改一个错误而引起更多错误出现的现象并不少见
●测试应从“小规模”开始,逐步转向”大规模"
●不可将测试用例置之度外,排除随意性。
●必须彻底检查每一个测试结果。
●-定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系
量冲突时,时间要服从质量。
●事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。
●软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试。
●穷举测试是不可能的。
●第三方进行测试会更客观,更有效。
●软件测试计划是做好软件测试工作的前提。
●测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多地发现错误,提高程序的可靠性。

●对发现错误较多的程序段,应进行更深入的测试。-般来说,一-段程序中已发现的错误数越多,其中存在的错误概率也就越大。
●重视文档,妥善保存一-切测试过程文档(测试计划、测试用例、测试报告等)
●应当把"尽早和不断地测试”作为测试人员的座右铭
●回归测试的关联性一定要引起充分的注意, 修改一个错误而引起更多错误出现的现象并不少见
●测试应从“小规模”开始,逐步转向”大规模"
●不可将测试用例置之度外,排除随意性。
●必须彻底检查每一个测试结果。
●-定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系
●对测试错误结果一定要有一 个确认的过程。

你可能感兴趣的:(软件测试,软件测试,单元测试,黑盒测试)