软件测试的分类

软件测试的分类

1、按照测试技术划分

分为:黑盒测试、白盒测试、灰盒测试

黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档
白盒测试:关心软件内部的设计和程序的实现,主要测试依据是设计文档
灰盒测试:介于白盒与黑盒测试之间的测试,灰盒测试关注输出对于输入的正确性;同时也关注内部的表现,但这种
         关注并不像白盒测试那样详细完整,只是通过一些表征性的现象、事件以及标致来判断程序内部的运行状
         态。
         灰盒测试结合了白盒与黑盒的测试要求。

       注:
       		白盒测试
       				测试规划:根据程序的内部结构,如语句的控制结构,模块间的控制结构以及内部的数据结
       					     构进行测试。
					优    点:能够对程序内部的特定部位进行覆盖测试
					缺    点:无法检验程序的外部特性,无法对为实现规格说明的程序内部欠缺部分进行测试
					方法举例:语句覆盖、判定覆盖、条件覆盖、判定---条件覆盖、基本路径覆盖、循环覆盖
			黑盒测试
       				测试规划:根据用户的规格说明,即针对命令、信息、报表等用户界面以及体现他们的输入
       					     数据与输出数据之间的对应关系,特别是针对功能进行测试。
					优    点:能站在用户的立场上进行测试
					缺    点:不能测试程序内部特定部位,若规格说明有误,则无法实现
					方法举例:基于图的测试、等价类划分、边值分析、比较测试

2、按照测试阶段进行划分

单元测试、集成测试、系统测试、验收测试(正式验收测试,α(Apha)测试、β(Beta)测试)

注:单元测试、集成测试、系统测试、验收测试是“从小到大”、“由内而外”、“循循渐进”的过程,体现了“分而治之”的思想。

单元测试:单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合设计。
集成测试:介于单元测试与系统测试之间,起到“桥梁”的作用,一般由开发小组采用白盒测试加黑盒测试的方法来测
	     试,既要验证“设计”又要验证“需求”。
系统测试:系统测试的粒度最大,一般由独立测试小组采用黑盒测试方法来测试,主要测试系统是否”需求规格说明
		 书“。
验收测试:验收测试与系统测试非常相似,主要区别是测试的人员不同,验收测试是由用户来进行测试。

注:
	集成测试中模块由多个单元组成,单元与单元之间侧的是调用与被调用,集成测试又叫接口测试,在验收测试中
	使用到了黑盒测试。
	
α测试与β测试
	大型通用软件在正式发布之前,通常要执行Alpha和Beta测试
	目的是从实际终端用户的使用角度,对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。

	α测试(内侧)
		Apha测试是用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。
		这是在受控制的环境下进行的测试。
	β测试(公测)
		Beta测试是用户在实际使用环境下进行的测试,与α测试不同的是,开发人员通常不在测试现场。因而,
		β测试是在开发者无法控制的环境下进行的软件现场应用。
	正式验收测试
		用户在实际使用环境下进行的测试
		
注:
	单元测试
		主要依据:设计文档
		测试人员:由开发小组进行白盒测试
		测试内容:规范、逻辑、路径
	集成测试
		主要依据:设计文档、需求文档
		测试人员:由开发小组进行灰盒测试
		测试内容:接口、路径、功能、性能
	系统测试
		主要依据:需求文档
		测试人员:由独立的测试小组执行黑盒测试
		测试内容:功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试、
				 恢复测试
	验收测试
		主要依据:需求文档
		测试人员:由用户执行黑盒测试
		测试内容:功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试、
				 恢复测试

3、按照被测试对象是否运行划分

动态测试、静态测试(文档检查、代码检查、界面检查)

注:
	静态测试指不运行程序,对程序和文档进行分析与检查
		程序检查:程序员交叉检查彼此的代码,来发现代码层面的问题(代码审查)
		文档检查:文档测试(术语、吐泡泡操作流程)
	动态测试是指通过人工或使用工具运行程序进行检查分析程序的执行状态和程序的输出
	白盒、黑盒、灰盒测试都是动态测试。

4、按照不同的测试手段进行划分

手工测试、自动化测试

手工测试
	概念:手工测试是由专门的测试人员从用户的角度来验证软件是否满足设计要求的行为,更适合用于深度的测试
		  和强调主观判断的测试
	优点:容易发现缺陷、容易实现、创造性、灵活性
	缺点:覆盖量化难、重复测试效率低、、不一致性、可靠性低、人力资源依赖
自动化测试
	概念:自动化测试利用测试工具软件来控制测试的自动化执行,以及对预期和结果进行检查。一般来说单元测试、
		  接口测试和性能测试等就是利用自动化测试完成。
	优点:高效率、速度快、高复用性、覆盖率容易度量,准确、可靠、不知偶疲劳
	缺点:机械、发现缺陷率低、一次性投入较大、对人员要求高

5、按照软件质量特性内容划分

功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试、恢复测试

注:
	功能测试的基本方法:
		构造正常或异常输入检查输出是否与期望的相同,若两者不一致,即表明功能有误
		功能测试的重点在于正确的理解用户需求和如何构造有效的测试数据
	性能测试
		测试软件处理业务的速度
		检查性能是否符合需求
		得到某些性能相关数据供大家参考
	安全性测试
		是指防止系统被非法入侵的能力,既属于技术问题又属于管理问题
		信息安全测试的步骤:
			1、为非法入侵设立目标,如:盗窃某个文件或更改数据库记录等等。
			2、邀请一些人扮演黑客,让他们想尽办法入侵系统,实现目标
			3、若有人成功,请他详述入侵过程
	兼容性测试
		不同的操作系统,不同的分辨率,不同的浏览器
	易用性测试
		主观测试,好不好用,是否容易使用

6、其他测试

冒烟测试、回归测试、探索性测试

回归测试:验证BUG是否被修复,是否引入新的BUG
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值