软件测试-----测试分类

软件测试分类

在这里插入图片描述

按开发阶段分类

单元测试

元测试需要从程序内部结构出发设计测试用例。

又称模块测试,针对软件设计中的最小单位-代码段,程序模块等,进行正确性检查的测试工作。

单元定义,如:C中指一个函数;Java中指一个类。

集成测试

又叫组装测试,通常在单元测试的基础上,将所有单元测试通过的程序模块进行有序的、递增的测试。 重点测试不同模块的接口部分。

系统测试

系统测试是将整个软件系统看为一个整体进行测试,包括对功能、性能、以及软件所运行的软硬件环境进行测试。 系统测试在系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,以及系统在不同的软硬件环境中的兼容性等。

验收测试

软件正式版本推出之前的几个版本, 需要有人测试一下, 看看是不是有问题。

在开发该软件的公司内部的由该公司内部人员测试的称为: Alpha测试,主要看有没有功能缺失或系统错误。然后把软件拿给用户测试,称为: beta测试, 主要是看用户对软件外观、使用方便等的反应。

**目的:**这么多的测试版一方面为了最终产品尽可能地满足用户的需要, 另一方面也尽量减少了软件中的bug。

简单来说,阿尔法测试主要是测试人员在开发环境下的测试,贝塔测试是主要用户主要参与在实际环境中的测试

α测试

Alpha测试是内部验收测试(内测)版本
不会对用户发放的测试版本,一般而言, 该版本软件的bug 较多, 普通用户最好不要安装。

β测试

Beta测试是外部验收测(公测)版本,
是对用户开放的测试版本,相对于α 版改进消除了严重的错误,较少的遗留问题,需要大规模发布使其显现,消除。

按是否查看源代码(内部实现)

黑盒测试

黑盒测试又称数据驱动测试。完全不考虑程序内部结构和代码实现,测试软件的功能需求,只关心软件的输入数据和输出数据。

黑盒测试的优点:

没有编程经验的人也可以设计测试用例;

黑盒测试用例设计与程序如何实现无关;

参考需求分析的结果,从用户的角度进行测试,很容易被接受和理解,并且能暴露与规格歧义的地方;

黑盒测试的缺点:

不能测试程序内部特定部位;

如果程序未执行的代码无法发现;

不可能做到穷举测试

白盒测试

白盒测试又称逻辑驱动测试。是把功能外的盒子打开,去测试里面的源代码,重点关注程序逻辑对不对。

在软件公司,往往采用黑盒测试&白盒测试相结合的方式。

软件的整体功能和性能进行黑盒测试
软件的源代码采用白盒测试

灰盒测试

  • 灰盒测试,是介于白盒测试与黑盒测试之间的一种测试。
  • 灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
  • 灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑。 常常是通过一些数据的现象、事件、标志来判断内部的运行状态。

按是否运行分类

静态测试

指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程。

动态测试

是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

其他分类

冒烟测试

指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。

回归测试

  • 软件回归:回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性
  • 缺陷回归:开发人员修复测试人员提交的缺陷之后测试人员进行回归测试,确认缺陷是否被成功修复

随机测试(探索性测试)

随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试一起进行。

功能测试
是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。

功能,界面,易用,安装,兼容

功能测试
界面测试
易用性测试
安装测试
兼容性测试
性能测试

是软件测试的高端领域,性能测试工程师的待遇和白盒测试工程师不相上下,通常我们所说的高级软件测试工程师一般就是指性能测试或是白盒测试工程师。

 - 时间性能(事务响应时间等) 

 - 空间性能(系统资源消耗)
  • 一般性能测试:系统的性能标准线 稳定性测试:长时间持续运行是否出现问题
  • 负载测试:通过负载测试来确定在各种工作负载下,系统各项性能指标的变化情况。
  • 压力测试:通过确定一个系统的瓶颈或者刚好不能接受的性能点,来获得系统能够提供的最大服务级别。

猜你喜欢

转载自blog.csdn.net/qq_43475097/article/details/84037135