什么是组件测试?技术、示例测试用例

什么是组件测试?

组件测试定义为一种软件测试类型,其中测试是针对每个单独的组件独立进行的,不与其他组件集成。从架构角度看,它也被称为模块测试。组件测试也被称为单元测试、程序测试或模块测试。

通常,任何作为一个整体的软件都由多个组件构成。组件级别测试涉及对这些组件进行单独测试。

这是 QA 团队最常执行的黑盒测试类型之一。

根据下图,组件测试将有一个测试策略和测试计划。其中软件或应用程序的每个部分都将被单独考虑。对于每个组件,将定义一个测试场景,该场景将进一步分解为高级测试用例 -> 带有前提条件的低级详细测试用例。

Component Testing

组件测试”一词的用法因领域和组织而异。

对组件测试的不同看法最常见的原因是

  1. 选择的开发生命周期模型类型
  2. 被测软件或应用程序的复杂性
  3. 是否与其他组件隔离进行测试。

我们知道软件测试生命周期架构有许多测试工件(在测试活动中创建和使用的文档)。在众多测试工件中,测试策略和测试策略定义了在给定项目中要执行的测试类型和测试深度。

谁执行组件测试

组件测试由测试人员执行。“单元测试”由开发人员执行,他们对单个功能或程序进行测试。在执行单元测试之后,下一个测试是组件测试。组件测试由测试人员完成。

何时执行组件测试

组件测试在开发人员完成单元测试并将构建版本发布给测试团队后立即执行。此构建版本被称为 UT 构建(单元测试构建)。在此阶段,将测试所有组件的主要功能。

组件测试的准入标准

  • UT 中包含的最小组件数量应已开发并进行单元测试。

组件测试的退出标准

  • 所有组件的功能应正常工作。
  • 不应存在任何严重、高或中等严重程度和优先级的缺陷缺陷日志。

组件测试技术

根据测试级别的深度,组件测试可分为

  1. CTIS – 小型组件测试
  2. CTIL – 大型组件测试

CTIS – 小型组件测试

组件测试可以在与被测软件或应用程序中其他组件隔离的情况下进行,也可以不隔离。如果是在隔离其他组件的情况下进行,则称为小型组件测试。

示例 1:考虑一个包含 5 个不同网页的网站,然后分别测试每个网页并与其他组件隔离,这被称为小型组件测试。

示例 2:考虑 guru99.com 网站的首页,它包含许多组件,例如

首页、测试、SAP、Web、必学!、大数据、实时项目、博客等等。

同样,任何软件都由许多组件组成,而且每个组件都将拥有自己的子组件。在不考虑与其他组件集成的情况下单独测试示例 2 中提到的每个模块被称为小型组件测试。

Component Testing Techniques
如何进行组件测试

点击“测试”下拉菜单,如以下截图所示,查看“测试”组件的各种“子组件”。因此,显示的子组件有手动测试、SOAPUI、QTP、JUnit、Selenium、测试管理、Selenium、移动测试等。

注意:子组件在下面的截图中以红色突出显示。

Component Testing Techniques
如何进行组件测试

CTIL – 大型组件测试

在不隔离被测软件或应用程序中其他组件的情况下进行的组件测试称为大型组件测试。

我们举一个例子来更好地理解它。假设有一个应用程序包含三个组件,比如组件 A组件 B组件 C

开发人员已开发组件 B 并希望对其进行测试。但为了完全测试组件 B,其部分功能依赖于组件 A,部分功能依赖于组件 C。

Component Testing In Large

功能流程:A -> B -> C,这意味着 B 对 A 和 C 都有依赖关系,根据图示,桩是被调用函数,驱动程序是调用函数

但是组件 A 和组件 C 尚未开发。在这种情况下,为了完全测试组件 B,我们可以根据需要用桩和驱动程序替换组件 A 和组件 C。所以基本上,组件 A 和 C 被桩和驱动程序替换,它们充当虚拟对象,直到它们实际开发完成。

  • 桩:桩是从要测试的软件组件中调用的,如下图所示,“桩”由组件 A 调用。
  • 驱动:驱动程序调用要测试的组件,如下图所示,“组件 B”由驱动程序调用。

组件测试的示例测试用例

根据下图,考虑两个网页,从功能角度来看,这两个网页是相互关联的。

  1. 网页 1 是 demo.guru99.com 的登录页面

Test Cases For Component Testing

当用户在文本字段中输入有效的用户 ID 和密码并点击提交按钮时,网页将导航到 guru99 演示银行网站的首页。

  1. 网页 2 是 Guru99.com 的主页

Test Cases For Component Testing

所以这里登录页面是一个组件,主页是另一个组件。现在单独测试每个页面的功能就叫做组件测试

网页 1 上的组件测试场景 –

  • 输入无效用户 ID 并验证是否向最终用户显示了友好的警告弹出窗口。
  • 输入无效用户 ID 和密码,然后点击“重置”,并验证文本字段用户 ID 和密码中输入的数据是否已清除。
  • 输入有效用户名和密码,然后点击“登录”按钮。

网页 2 上的组件测试场景 –

  • 验证主页上是否显示“欢迎来到 guru99 银行经理页面”消息。
  • 验证网页左侧的所有链接是否可点击。
  • 验证经理 ID 是否显示在主页的中央。
  • 根据图示,验证主页上是否存在 3 张不同的图片。

单元测试与组件测试

单元测试 组件测试
测试单个程序、模块以证明程序按照规范执行,这被称为单元测试 在隔离或不隔离其他对象的情况下单独测试软件的每个对象或部分,这被称为组件测试
它根据设计文档进行验证 它根据测试需求、用例进行验证
单元测试由开发人员完成 组件测试由测试人员完成
单元测试首先进行 组件测试在开发人员完成单元测试后进行。

摘要

软件工程中,组件测试在发现错误方面起着至关重要的作用。在组件测试之后,我们开始集成测试,集成测试之后是组件测试。

在某些参考资料中,组件测试也被称为模块测试。