软件测试分类

Mr.he...大约 5 分钟TestCategory

前言

本文主要的思维导图如下。

CleanShot 2023-06-15 at 15.44.40@2x

1 按阶段划分(重点)

  1. 单元测试

    按照不同人员角度理解可分为两种:

    • 测试人员:针对单个功能进行测试,如:登录、购物车等;
    • 开发人员(更多的理解):针对代码进行测试(一般由开发负责、或自动化测试协助)
  2. 集成测试

    对由各种单个功能组装成的模块进行测试,如:加购物车到结算,注册和登录。

  3. 系统测试

    对整个系统进行整体性测试,包含软件功能,硬件功能的测试,如扫码枪扫手机二维码。然后收银系统收款的功能。

  4. 验收测试

    该测试的目的是用户检验产品是否满足自己预期,如医院的医生和检验医生工作站是否满足预期。

    按照不同的版本可分为:

    • α测试:bug比较多、内测版本
    • β测试:bug相对比较少、公测版本
    • γ测试:候选发布版本

    验收测试的负责人:

    按照常理是有甲方负责,但是像一些甲方是没有能力去自己做验收测试的,如果甲方和乙方合作久,互相比较信任的情况下,那么在甲方的授权下,乙方也可以完成验收测试。

    如果甲乙方相互都不信任,那么可以找具有资质的第三方评测机构(CNAS、CMA)进行验收测试。

2 按是否覆盖源代码划分(重点)

  1. 黑盒测试

    关注点在输入数据和输出结果,我们不用去管中间是怎么处理的,只用管我们的输入数据(11+33)和输出结果(44)是否和预期结果(44)相符合就行,黑盒测试又叫功能性测试或行为测试。

    image-20230529162207955
  2. 白盒测试

    软件测试工程师可以访问程序员的代码,通过了解程序内部逻辑结构、对所有逻辑路径进行测试。

    image-20230529163117842
  3. 灰盒测试

    是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部代码逻辑,比如对接口的测试经常涉及到就是灰盒测试。

3 按是否运行划分

  1. 静态测试

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

    测试对象:文档、代码、Ui界面

    image-20230529165602281
  2. 动态测试

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

    测试对象:运行中的程序

    image-20230529165804016

4 按是否自动化划分

  1. 手工测试

    手动去进行测试的方式,如功能测试。

  2. 自动化测试

    通过工具或代码代替人进行测试的过程,如jmeter软件、python脚本。

5 更多拓展知识

  1. 冒烟测试(重点)

    该概念来自电子工程中,对设计好的PCB板先进行加电测试,确保PCB板没有短路、错接等情况,不会冒烟,保证其基本的功能和流程能走通。

    image-20230529170404136

    在软件工程中就是针对最基本功能进行测试,保证基本的功能和流程能走通,比如京东软件,那就是登录、购物、结算等最基本的功要能正常走通。

  2. 回归测试(重点)

    回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

    image-20230529170549222
  3. 随机测试

    随机测试(Ad-hoctesting),主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。 随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分。如一位测试员对医疗软件很熟悉,那么针对医疗软件的一些重要功能和可能未被测试覆盖到的地方他就能通过随机测试做一个查漏补缺的作用。

    前置条件:测试经验

    关注点:重要功能、未测试覆盖到功能点

  4. 探索测试

    探索性测试可以说是一种测试思维技术。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。对探索性测试最直白的定义是:同时设计测试和执行测试。如一位测试员对某医疗软件不熟悉的时候,那么就可以先根据自己去到处探索,进行测试设计和执行测试,通过不断的测试学习被测系统。

    重点:测试设计与测试执行并行、测试人员通过测试不断学习被测系统。

  5. 埋点测试

    就是埋采集点,对数据进行采集后,分析整理并汇总。一般通过日志平台查看埋点进行测试。

    测试流程参考:https://blog.csdn.net/qq13933506749/article/details/120516383open in new window

  6. MOCK/打桩测试

    就是先进行打桩试测。