您现在的位置是:首页 >技术交流 >软件测试基础知识整理(四)- 软件测试分类网站首页技术交流

软件测试基础知识整理(四)- 软件测试分类

JHY97 2024-06-17 10:29:44
简介软件测试基础知识整理(四)- 软件测试分类

目录

一、软件测试分类

1.1 按阶段分类

1.2 按是否查看源代码分类

1.3 按是否运行分类

1.4 按是否自动化分类

1.5 其他分类


一、软件测试分类

1.1 按阶段分类

(1)单元测试:程序的最小模块完成后,进行测试。(可能函数、类或者界面等)

概念:用于验证应用程序中最小的代码单元是否能够按预期工作,目的是为了让开发人员快速发现和修复代码中的错误。

 (2)集成测试:也称组装测试,在单元测试的基础上,把多个模块组装在一起进行测试,重点关注模块之间的接口。

概念:用于验证多个单元或者模块在集成之后是否能够按预期工作,目的是为了测试各个模块之间的接口和交互。

(3)系统测试:把软件项目作为一个整体进行测试,测试的依据是需求说明书。到了该阶段,软件基本是完成的。

概念: 用于验证整个应用程序系统是否满足需求和规格说明。目的是为了验证整个软件系统是否能够正常工作,并且满足各项功能、性能和质量的需求。

 (4)验收测试:站在最终用户的角度来测试。

概念:用于验证整个应用程序系统是否满足用户的需求和预期,以及是否满足客户和利益相关者的要求和期望。目的是为了确保应用程序已经准备好交付且能够正常使用。

其中验收测试还分成几个阶段:

  • Alpha测试(α测试):早期开发阶段进行测试,主要由开发人员和内部用户进行的。目的是为了测试应用程序的核心功能和基本交互。并尝试发现和解决问题。
  • Beta测试(β测试):软件开发后期进行的测试,主要由外部人员进行的。目的是为了测试应用程序在真实的环境下的性能、稳定性和可靠性,并收集用户的反馈。
  • Gamma测试(γ测试):是指一种有限的公测阶段,它在软件开发完成后,正式发布之前进行。与正式版相差无几。

1.2 按是否查看源代码分类

(1)黑盒测试:只测试功能,不关注功能的具体实现方式。

概念:也成为功能测试或者数据驱动测试,不考虑应用程序的内部结构和实现。只关注应用程序的输入和输出,针对软件的功能和界面进行测试。

黑盒测试常用的测试方法:

  • 等价类划分法
  • 边界值分析法
  • 因果图法
  • 判断表测试法
  • 正交试验法

(2)白盒测试:不但要关注功能,还要关注代码是如何实现的

概念:也成为结构测试,一种程序内部结构和实现的测试方法。考虑应用程序代码和程序逻辑结构,并进行源码分析和逻辑覆盖测试等。

白盒测试的常用测试方法:

  • 代码覆盖测试:通过执行测试用例,测试代码中每个语句是否被执行。
  • 条件覆盖测试:通过执行测试用例,测试代码中每个条件是否被执行。
  • 路径覆盖测试:通过执行测试用例,测试代码中每个路径是否被执行。
  • 循环覆盖测试:通过执行测试用例,测试代码中每个循环是否被执行。

(3)灰盒测试:介于黑盒和白盒之间的一种测试。

概念:是一种结合和黑盒测试和白盒测试的方法,通过部分了解系统内部细节,以用户的角度进行测试,发现潜在问题和改进点。

1.3 按是否运行分类

(1)静态测试:无运行软件,静态观察软件是否符和预期。

(2)动态测试:运行软件,在运行过程中测试。

1.4 按是否自动化分类

(1)手工测试:通过测试工程师手工对软件进行测试。

(2)自动化测试:通过编程写代码,通过程序自动测试软件是否有问题。

1.5 其他分类

(1)冒烟测试:对软件最基本的流程和工作做一个粗略测试,看最基本的流程是否能够跑通。(测试拿到研发第一个版本,一般先冒烟)

(2)回归测试:当修复一个BUG后,把之前的测试用例在新的代码下再次测试。

概念:用于验证应用程序系统在更新或者修改后,是否存在新的问题或者错误。目的是为了确保先前通过的测试用例在新的版本下仍然生效。

(3)随机测试:主要是针对软件中重要功能进行复测。也包括测试那些当前的测试用例没有覆盖到的部分。

(4)探索性测试:一种灵活自由的测试方法,强调测试人员的主动探索和学习,以发现软件中的缺陷和问题。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。