什么是冒烟测试?

什么是冒烟测试

冒烟测试是一种软件测试过程,用于确定已部署的软件构建是否稳定。冒烟测试是对质量保证团队的确认,以继续进行后续的软件测试。它包括在每个构建上运行最少的一组测试以测试软件功能。冒烟测试也称为“构建验证测试”或“置信度测试”。

简单来说,冒烟测试意味着验证重要功能是否正常工作,并且在正在测试的构建中没有阻碍性问题。它是主要功能的迷你快速回归测试。这是一种简单的测试,表明产品已准备好进行测试。这有助于确定构建是否存在缺陷,以免进一步的测试浪费时间和资源。

比较冒烟测试与健全性测试

何时进行冒烟测试

当软件的新功能开发并与部署在质量保证/预演环境中的现有构建集成时,就会进行冒烟测试。它确保所有关键功能是否正常工作。

Smoke Testing

在此测试方法中,开发团队在质量保证环境中部署构建。选取测试用例子集,然后测试人员在构建上运行测试用例。质量保证团队根据关键功能测试应用程序。这些系列测试用例旨在暴露构建中的错误。如果这些测试通过,质量保证团队将继续进行功能测试

任何失败都表明需要将系统交回开发团队处理。每当构建发生变化时,我们都会执行冒烟测试以确保稳定性。

示例:-登录窗口中添加了新的注册按钮,并且使用新代码部署了构建。我们对新构建执行冒烟测试。

冒烟测试使构建有资格进行进一步的正式测试。冒烟测试的主要目的是及早发现主要问题。冒烟测试旨在证明系统稳定性和符合要求。构建包括所有数据文件、库、可重用模块、工程组件,这些都是实现一个或多个产品功能所需的。

如果我们不进行冒烟测试会发生什么

如果我们不在早期阶段进行冒烟测试,后期可能会遇到缺陷,届时成本会很高。并且在后期发现的缺陷可能会成为阻碍性问题,从而影响可交付成果的发布。

谁将进行冒烟测试

在将构建发布到质量保证环境后,由质量保证工程师/质量保证负责人执行冒烟测试。每当有新构建时,质量保证团队都会确定应用程序中的主要功能以执行冒烟测试。质量保证团队检查正在测试的应用程序中是否存在阻碍性问题。

在将构建发布到质量保证之前,在开发环境中的代码上进行的测试,以确保应用程序的正确性,这称为健全性测试。它通常是狭窄而深入的测试。这是一个验证正在开发的应用程序是否满足其基本功能要求的过程。

健全性测试决定开发阶段的完成情况,并决定是否将软件产品传递到后续测试阶段。

为什么我们进行冒烟测试?

冒烟测试在软件开发中扮演着重要角色,因为它确保了系统在初始阶段的正确性。通过这种方式,我们可以节省测试工作。因此,冒烟测试使系统处于良好状态。一旦我们完成冒烟测试,我们才开始功能测试。

  • 通过执行冒烟测试,将识别出构建中的所有阻碍性问题。
  • 冒烟测试在构建发布到质量保证后进行。借助冒烟测试,大多数缺陷在软件开发的初始阶段就被识别出来。
  • 通过冒烟测试,我们简化了主要缺陷的检测和纠正。
  • 通过冒烟测试,质量保证团队可以发现新代码可能导致的应用功能缺陷。
  • 冒烟测试发现主要严重性缺陷。

示例 1: 登录窗口:点击提交按钮,使用有效的用户名和密码能够进入下一个窗口。

示例 2: 用户无法从网页注销。

如何进行冒烟测试?

冒烟测试通常是手动进行的,但也有可能通过自动化实现。这可能因组织而异。

手动冒烟测试

一般来说,冒烟测试是手动完成的。其方法因组织而异。冒烟测试的目的是确保关键路径的导航符合预期,并且不会妨碍功能。一旦构建发布到质量保证,就会选取高优先级的功能测试用例并进行测试,以发现系统中的关键缺陷。如果测试通过,我们将继续进行功能测试。如果测试失败,构建将被拒绝并返回给开发团队进行更正。质量保证团队将重新开始使用新构建版本进行冒烟测试。冒烟测试在新构建上执行,并将与旧构建集成以保持系统的正确性。在执行冒烟测试之前,质量保证团队应检查正确的构建版本。

自动化冒烟测试

自动化测试用于回归测试。但是,我们也可以使用一组自动化测试用例来运行冒烟测试。借助自动化测试,开发人员可以在有新构建准备部署时立即检查构建。

当部署新的软件构建时,不再手动重复测试,而是执行已记录的冒烟测试用例来对抗构建。它验证主要功能是否仍然正常运行。如果测试失败,他们可以立即更正构建并重新部署构建。通过这种方式,我们可以节省时间并确保质量构建到质量保证环境。

使用自动化工具,测试工程师记录在软件构建中执行的所有手动步骤。

冒烟测试周期

以下流程图显示了冒烟测试是如何执行的。一旦构建部署到质量保证中,并且冒烟测试通过,我们就会继续进行功能测试。如果冒烟测试失败,我们将退出测试,直到构建中的问题得到修复。

Smoke Test Cycle
冒烟测试周期

冒烟测试的优势

以下列出了冒烟测试的一些优点。

  • 易于执行测试
  • 缺陷将在早期阶段被识别。
  • 提高系统质量
  • 降低风险
  • 进度更易于访问。
  • 节省测试工作和时间
  • 易于检测和纠正关键错误。
  • 运行速度快
  • 最大限度地降低集成风险

冒烟测试用例示例

测试ID 测试场景 描述 测试步骤 预期结果 实际结果 状态
1 有效登录凭据 测试Web应用程序的登录功能,以确保注册用户可以使用用户名和密码登录。 1.启动应用程序
2.导航到登录页面
3.输入有效用户名
4.输入有效密码
5.点击登录按钮
登录应该成功 符合预期 通过
2 添加商品功能 能够将商品添加到购物车 1.选择类别列表
2.将商品添加到购物车
商品应该添加到购物车 商品未添加到购物车 失败
3 注销功能 检查注销功能 1.选择注销按钮 用户应该能够注销。 用户无法注销 失败

结论

在软件工程中,冒烟测试必须在每个构建上无一例外地执行,因为它有助于在早期阶段发现缺陷。冒烟测试活动是软件构建进入系统阶段之前的最后一步。冒烟测试必须在交付给测试的每个构建上执行。这适用于新开发以及系统的大小版本。

在执行冒烟测试之前,质量保证团队必须确保被测应用程序的正确构建版本。这是一个简单的过程,只需最少的时间即可测试应用程序的稳定性。

冒烟测试可以最大限度地减少测试工作,并提高应用程序的质量。冒烟测试可以手动或通过自动化完成,具体取决于客户和组织。