4.软件测试的分类

4.1 按照阶段划分

单元测试--集成测试--系统测试--验收测试

1.单元测试

对于软件中的最小可测单元进行检查和验证:如java中的类,C语言中的函数,UI页面中的窗口

单元测试的依据:详细设计

谁测试:90%是开发人员测试,因为必须有代码的阅读能力

单元测试能够发现80%左右的缺陷

单元测试工具:java语言中的junit,python语言中的pytest,unittest

侧重检查程序内部结构,逻辑控制和异常处理

2.集成测试

在单元测试的基础上,把模块组装成系统或子系统,然后进行测试,又称联合测试,组装测试

集成测试的依据:概要设计

谁来做:软件测试工程师

侧重检查模块与模块之间以及接口传递数据的正确性

分类:

非增量式集成:又称一次性集成

增量式集成:

自顶向下增量式集成需要编写:测试桩

自底向上增量式集成需要编写:驱动程序

3.系统测试

将软件,硬件,网络等设备连接系统进行测试

依据:需求规格说明书(产品经理编写的需求文档)

分类或范围

功能测试:测试软件的功能是否正常实现

性能测试:测试系统所消耗的时间和资源

压力测试:系统在什么情况下会达到极限

容量测试:测试系统最大的访问用户数

安全测试:验证系统是否容易被攻击

可用性测试:验证系统使用是否方便

安装测试:安装和卸载

配置测试:测试系统软件和硬件的最优配置

异常测试:检查系统对于异常情况下的处理

备份测试:系统的数据备份

健壮性测试:用于测试系统出现故障时,是否能够自动恢复或者忽略故障继续运行

文档测试:测试帮助文档

在线帮助测试:联系产品的售后客服

网络测试:不同网络下的使用情况,5G,4G,3G,2G,WIFI

稳定性测试:软件长时间运行,系统是否能够正常运行

GUI测试:界面测试

4.验收测试

依据:用户需求,需要用户参与

分类:

正式验收测试

非正式验收测试

α测试(阿尔法测试)和β测试(贝塔测试)

阿尔法测试和贝塔测试的区别:

阿尔法测试是由公司内部人员测试,贝塔测试是由典型用户测试

阿尔法测试遇到BUG可以控制,贝塔测试遇到BUG不可控制

阿尔法测试使用的是测试环境,贝塔测试使用的是现网环境,又称线上环境、公网环境、生产环境

阿尔法测试发现问题能够及时修复,贝塔测试需要统一收集然后集中修复

4.2 按照技术划分

黑盒测试:不关注软件内部逻辑结构,只关注输入和输出,关注功能和性能,适用于系统测试和验收测试

白盒测试:与黑盒测试相反,适用于单元测试

灰盒测试:介于白盒和黑盒之间,适用于集成测试,接口测试

软件按照技术分类

4.3 按照是否运行程序划分

动态测试:运行被测试软件

静态测试:静态查看文档,或者进行代码走查、代码审查

4.4 其他测试

1.兼容性测试:将软件运行在不同的设备上,保证软件在各种设备上都能够提供正常的服务,如:web测试不同的浏览器,app测试不同型号的手机。

2.冒烟测试:又称BVT测试或者预测试,在正式测试之前,抽取项目中基本流程用例(占总用例数10%左右),全部执行通过,如果冒烟测试不通过,项目直接打回,冒烟测试之前需要安装测试环境,测试时间半天至一天。

3.回归测试:执行上个版本的测试用例,查看bug是否修复,或者修复bug是否引入新的问题。

Last modification:April 6th, 2021 at 11:07 am
If you think my article is useful to you, please feel free to appreciate