软件测试分类----2021.03.05

本文详细介绍了软件测试的多种分类,包括按开发阶段划分的单元测试、集成测试、系统测试和验收测试,按是否运行划分的静态测试和动态测试,按是否查看代码的黑盒、灰盒和白盒测试,以及自动化测试和手动测试。同时,讨论了随机测试、冒烟测试、安全测试、回归测试和探索性测试等特殊测试类型,为全面理解软件测试提供了深入的指导。
摘要由CSDN通过智能技术生成

1 软件测试概念

定义:人工或自动的手段在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
目的:目的是发现问题,发现至今未发现的问题,检查系统是否满足需求。
对象:系统、数据、文档
模型:需求分析>概要设计>详细设计>编写代码>单元测试>集成测试>系统测试>验收测试

2 开发阶段划分

单元测试:

检验软件基本组成单位的正确性。
测试阶段:编码后
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

集成测试:

联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

系统测试:

将软件看成是一个系统。对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

验收测试:

验收测试是部署软件之前的最后一个测试。技术测试的最后一个阶段,也称为交付测试。确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买方展示该软件系统满足需求
测试阶段:系统测试通过之后
测试对象:整个系统(包括软硬件)。
测试人员:主要是最终用户或者需求方。
测试依据:用户需求、验收标准
测试方法:黑盒测试
测试内容:同系统测试(功能…各类文档等)

alpha测试:

beta测试:

3 是否运行划分

静态测试

静态测试是不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错
检查项:代码风格和规则审核;程序设计和结构的审核;业务逻辑的审核;走查、审查与技术复审手册
静态质量:衡量标准,功能性(Functionality)、可靠性(Reliability)、可用性(Usability)、有效性(Efficiency)、可维护性(Maintainability)、可移植性(Portability)

动态测试

动态测试是通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果

4 是否查看代码划分

黑盒测试

黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据
常见黑盒测试又可划分为功能测试、性能测试
功能测试主要包括:UI测试、冒烟测试、业务逻辑测试、兼容性测试、易用性测试、安全测试、回归测试等。
性能测试主要包括:负载测试、压力测试、容量测试、并发测试、配置测试、可靠性测试等。

灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

白盒测试

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

5 是否手工划分

自动化测试

在预设条件下运行系统,评估运行结果,预先条件应包括正常条件和异常条件。简单说就是把以人为驱动的测试转化为机器执行的一种过程
功能测试自动化、性能测试自动化、安全测试自动化

手动测试

手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤
优点:自动化无法替代探索性测试、发散思维类无既定结果的测试
缺点:执行效率慢,量大易错

6 其他

随机测试

随机测试主要是根据测试者的经验对软件进行功能和性能抽查。根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例(TestCase)没有覆盖到的部分。

冒烟测试

冒烟测试,就是开发人员在单个版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。
冒烟测试目的是确认软件基本功能正常,执行者一般是版本编译人员。现执行对象基本是测试人员,在正规测试一个新版本之前,投入较少的人力和时间验证基本功能,通过则测试准入。

安全测试

安全测试在软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。

回归测试

回归测试是修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试可以降低系统测试、维护升级等阶段的成本。在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会遇到多次回归测试。

探索性测试

探索性测试可以说是一种测试思路/思维。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。
探索性测试自动化暂时无法代替。

α测试

alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试。α测试不能由程序员或测试员完成。

β测试

Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个客房场所进行。
α测试与Beta测试的区别:
测试的场所不同:Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。
Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。beta测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。
alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。

7 思维导图

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值