跳到主要内容

测试术语表

本文内容与《软件测试》一书无关,为个人搜集整理,供学习之用。

A

Alpha 测试

在阶段性开发(子模块、子系统或者整个软件)结束后,由内部用户在模拟的生产环境中进行的验收测试,特点是不对外开放、参与者为内部的非开发人员,但能够访问源代码且及时与开发人员沟通。

其目的在于在软件产品进入 beta 测试阶段之前验证其核心功能。执行它是为了确保最关键的功能按预期工作,并在开发周期的早期捕获主要错误。

A/B 测试

A/B 测试通过对比只有一个变量不同的同一产品的两个不同版本的表现来研究该变量的作用以及影响,其中版本 A 可能是当前正在使用的版本,而版本 B 是改进版。通过记录用户在两个版本上的行为,来确定哪个版本更受用户欢迎。

示例

该测试常用在网站设计中。

例如,对同一个页面构建两种样式或布局不同的版本,然后随机推送给用户,通过用户的点击率、停留时间等数据来判断哪个版本更受用户喜欢。

B

Beta 测试

在 Alpha 测试结束后,主要由外部用户参与的测试,是软件测试的最后一个阶段。Beta 测试是在 Alpha 测试之后,软件产品的功能基本完成,但仍有可能存在缺陷,需要用户参与测试,以便发现和修复缺陷。分为封闭测试(Closed Beta)和公开测试(Open Beta)。

封闭测试

只有特定的用户群体可以参与测试,这些用户可能是软件的潜在用户、合作伙伴或者内部员工。某些情况下会要求用户签署保密协议。主要内容仍然是功能测试

公开测试

对所有用户开放,不限制参与者。主要内容包含性能测试兼容性测试

E

e2e 测试(端到端测试)

端到端测试是一种测试方法,用于验证整个软件系统的工作流程。它的目的是模拟真实用户的使用场景,从开始到结束测试整个软件系统的功能和性能。

其核心在于验证组成软件的多个子系统之间的交互是否正常,以及整个软件系统是否符合用户需求。

常见的端到端测试框架包括 Selenium (Python/JS), Playwright (JS), Puppeteer (JS) 等。

H

回归测试

回归测试指在修复旧的软件缺陷或发生代码变更后,重新运行之前的测试用例,以确保变更没有引入新的错误或缺陷。考虑变更对模块本身的影响和对其他模块的副作用。

灰盒测试

灰盒测试是介于白盒测试黑盒测试之间的一种测试方法。在灰盒测试中,测试人员可以访问源代码,但不了解其内部结构(有限知识)。灰盒测试通常用于测试软件的功能性和性能。

示例

一个最常见的例子是对 HTML 页面的测试。测试人员可以查看 HTML 页面的源代码,但对具体功能的实现细节不了解。在这种情况下,测试人员可以使用灰盒测试方法来测试页面的功能性和性能。

M

冒烟测试

得名于硬件测试时第一次送电,若电路元件接线错误或短路,电路板便会冒烟。

冒烟测试(又称构建验证测试 (BVT)、信心测试健全性测试)是指对软件的主要功能进行初步的测试,以在短时间内确认软件的主要功能是否能够正常工作,从而明确是否值得进行更深入的测试或持续集成流程。

T

TDD(Test-Driven Development, 测试驱动开发)

测试驱动开发是一种软件开发方法,它要求在编写功能代码之前,先编写测试代码。

可分为单元测试驱动(UTDD)和验收测试驱动(ATDD),前者从开发者角度出发,编写单元测试用例;后者从用户 / 业务角度出发,编写验收测试用例。

其基本流程为红-绿-重构

  • 先编写一个失败的测试用例,这个测试用例对应想要添加或修改的功能
  • 继续编写尽量少的代码,使得这个失败的测试用例通过
  • 对已经编写的代码进行重构,以消除可能存在的任何重复代码或不良设计

其特点为以测试为核心、需求为导向,根据测试迭代开发、重构。不适合复杂算法或数据驱动的程序的开发。