软件测试
SDLC模型
测试类型
测试方法
白盒技术
黑盒技术
黑匣子类型
功能类型
非功能性类型
测试用例开发
测试技术
测试管理
缺陷跟踪
测试分类
测试工具

组件测试

组件测试

软件是在多个模块或组件的帮助下开发的。在这里,我们将探索和讨论以下与组件测试相关的话题,帮助我们理解软件测试中组件测试的要求和产品的可靠性。
什么是组件测试? 组件测试的目标 谁执行组件测试? 组件测试流程 我们什么时候需要执行组件测试? 为什么组件测试必不可少? 组件测试的不同测试策略 组件测试示例
在深入探讨上述所有主题之前,我们很清楚,无论如何,所有的测试方法都有一个目标,这就是为什么所有这些都应该准确执行。

什么是组件测试?

另一种类型的软件测试是组件测试。用于单独测试所有组件以及可用性测试;还对每个特定组件进行交互式评估。它进一步被称为模块测试或程序测试和单元测试。
为了实现组件测试,所有组件或模块都需要处于单独的状态并且可管理状态。并且软件的所有相关组件都应该是用户可以理解的。
这种类型的测试提供了一种查找缺陷的方法,这些缺陷发生在所有模块中。并且还有助于证明软件的每个组件的工作。
Component Testing
组件测试是其中之一质量保证团队执行的最重复的黑盒测试类型。
它可以单独执行,即与剩下的系统。但是,它依赖于首选生命周期的模型。
调试或测试结构工具可用于组件测试。
在组件测试中发现的错误可以在不保留任何记录的情况下尽快修复。
简单来说,我们可以说组件测试的执行确保了所有应用程序组件正常工作并符合要求。在分发集成测试之前执行组件测试。

组件测试的目标

执行组件的主要目的测试是验证测试对象的输入/输出性能。并且还要确保指定的测试对象的功能按照所需的要求或规范正常工作。
让我们看看组件测试的其他一些重要目标:
降低风险 识别组件中的缺陷/错误 验证组件的功能和非功能性能是否符合预期 培养对组件质量的信心 阻止缺陷逃逸到更高的测试级别 组件测试 降低风险
组件测试的实现验证了应用程序的每个单元。并帮助开发人员识别代码中的错误并修复它们。因此,我们可以说组件测试从根本上降低了风险的可能性。
识别组件中的缺陷/错误
执行组件测试的另一个基本目的是识别源代码中的错误。此外,它还验证了程序中使用的控制流、函数、数据结构等。
验证组件的功能和非功能性能是否符合预期
执行组件测试的目的是验证组件的功能和非功能特性是否正常运行。
换句话说,我们可以描述组件测试的执行可确保其设计和规范按预期执行。
它可能涉及功能特性,例如计算的正确性和非功能性 探索内存泄漏等功能。
培养对组件质量的信心
正如我们从组件测试的定义所理解的,它发生在单元级别,大多数错误在编码本身时被识别和修复。
组件测试发挥作用在建立对组件的信心方面起着至关重要的作用,这意味着额外测试中的错误或缺陷更少。
阻止缺陷逃逸到更高的测试级别
最后,在组件测试中,开发人员识别并修复编码错误。作为结果,组件测试减少了更高级别测试中存在的错误。

谁执行组件测试?

组件测试由 <执行强大的> 测试工程师或开发人员,他们在 IDE 的帮助下编写代码。正如我们已经知道的,单元测试由开发人员执行以执行特定的测试

组件测试过程

组件测试的过程可以通过以下七个步骤完成,如下图所示:
Component Testing
为了更好的理解,我们一一讨论:

Step1: 需求分析

组件测试的第一步是需求分析,其中检测与每个组件相关的用户需求。

Step2: 测试计划

一旦需求分析阶段完成,我们将进入组件测试过程的下一步,即测试计划。在此阶段,测试旨在评估用户/客户给出的需求。

第 3 步: 测试规范

一旦测试计划阶段 完成后,我们将进入下一阶段,称为测试规范。在这里,我们将确定那些需要执行和遗漏的测试用例。

第四步: 测试实现

组件测试过程的第四步是测试实现。当根据用户需求或规范确定测试用例时,

第五步: 测试录制

当以上所有步骤都成功完成后,我们将进入下一步是,测试记录。在组件测试过程的这一步中,我们有那些在组件测试实施过程中发现的缺陷/错误的记录。

Step6: 测试验证

成功记录错误或缺陷后,我们将进入测试验证阶段。这是验证产品是否符合规范的过程。

Step7: 完成

成功完成以上所有步骤后,我们将来到组件测试过程的最后一步。在此特定步骤中,将评估结果以提供优质产品。

我们何时需要执行组件测试?

何时单元测试是在特定的应用程序上完成的,我们可以继续进行组件测试。组件在开发后进行测试;因此,从被测组件中检索到的输出取决于目前尚未创建的其他组件。
根据开发生命周期模型,组件测试可能与其他系统组件。
执行隔离以阻止外部影响。因此,我们将使用存根和驱动程序来假装软件组件之间的接口来测试该组件。
注意: 集成测试仅在组件测试执行后进行。
在组件测试中测试了所有模块的主要功能,例如:
组件测试的进入标准 组件测试的退出标准
应该创建最少数量的单元测试涉及的组件,并进行单元测试。 所有组件/模块的功能都应该工作正常。并且缺陷日志中没有可用的严重或高或中严重性和优先级缺陷。

为什么组件测试必不可少?

在软件测试中,组件测试起着至关重要的作用。让我们借助以下几点来理解这一点:
Component Testing

允许详细检查

组件测试的执行允许在获得每个模块或组件后进行详细检查。
它可以完全或详尽地测试所有可能的错误或实际错误网络服务器。而这一事实对于组件测试来说完全是例外,因为我们与单元测试相比,其中每个单元都没有在实时服务器上进行测试。

早期错误检测

从上面对组件测试的解释我们了解到,它可以在任何阶段实施,这有助于我们相对较快地识别和修复这些错误,从而节省了金钱和大量时间。
开发团队可以在将组件交给质量评估团队之前测试所有可预防的错误或缺陷。

认证合同

组件测试的实施将帮助我们证明合同,这意味着组件测试是可重复的。
所以,我们可以说组件测试是最好的验证我们的模块的方式,它提供了它所承诺的全部内容。因此,与给定软件的任何集成都可以在没有任何不确定性和疑问的情况下进行。

组件测试的不同测试策略

组件测试是根据测试级别的复杂程度分为以下两种类型。
小型组件测试(CTIS) 大型组件测试(CTIL) Component Testing
为了更好的理解,让我们一一讨论:

1、小型组件测试(CTIS)

某些组件测试可以在有或没有特定应用程序或被测软件中的其他模块的情况下进行。如果在与其他模块隔离的情况下执行组件测试,则表示为小组件测试,,也表示为CTIS。
看一个示例,我们可以清楚地了解小型组件测试是如何工作的。
例如: 假设我们有一个网站,其中包括五个不同的网页。因此,单独测试每个网页并隔离其他组件意味着小型组件测试

2、大型组件测试(CTIL)

大型组件测试是测试,我们执行组件测试,而不会与软件的其他模块分离。
这种类型的测试发生在依赖模块的性能流时,因此我们无法将它们分开。那些我们依赖的组件还没有被创建,然后我们使用复制模块而不是实际的模块或组件。
注意: 这些复制的模块被称为存根(调用函数)和驱动程序(调用函数)。
让我们看一个大型组件测试的例子,以便我们更好地理解。
例如
假设我们有一个包含三个不同模块的 Web 应用程序: 模块 P、模块 Q、 和 模块 R。
这里,开发者创建了Module Q,需要进行测试。
但是,为了完全测试Module Q,它的一些功能是依赖于Module P,其部分功能依赖于Module R。
因此,特定模块的性能流程如下:
Module P → Module Q → Module R
这个性能流意味着Module Q依赖于两者模块 P 和模块 R。如下图所示,我们有存根和驱动程序,其中存根被称为被调用函数,而驱动程序被称为调用函数。
Component Testing
但是Module P和Module R直到现在还没有建立。因此,在这种情况下,如果我们想完全测试模块 Q。
因此,我们可以互换模块 P 和 模块 R根据要求在存根和驱动程序的帮助下。
因此,模块P和模块R主要由改变存根和驱动程序,它们在创建之前作为副本对象执行。
注意: Stub: 从需要测试的软件模块或组件调用Stub;正如我们在上图中看到的,Stubs 被模块 P 调用。 驱动程序: 驱动程序调用模块/组件,需要进行测试,正如我们在上图中看到的驱动程序调用模块 Q。

组件测试示例

假设我们有一个包含三个不同模块的 Web 应用程序: 登录、主页和用户.
测试环境中安装了第一个模块(Login),其他两个模块Home和User需要Login模块调用强> 尚未完成。
出于测试目的,开发人员将添加一段代码来复制其余模块的调用方法。这个特定的代码段被称为存根,它被认为是一种自顶向下的方法。
如果第二个模块(主页)和第三个模块(User)已经准备好了,但是Login模块还有待开发,两个组件从这里获取返回值,开发​​者会添加一个复制登录模块的代码。
这个特定的代码段被称为驱动程序,它被认为是一种自下而上的方法。

结论

在本节中,我们讨论了组件测试的深入知识。而且,我们可以得出结论,它是在任何开发阶段评估任何模块功能的准确方法。
在软件开发中,组件测试可以节省成本,并在未来阶段避免不必要的麻烦
最后,我们可以说单元测试和组件测试是同时执行的。与由开发团队执行的单元测试相反,组件/模块测试由测试团队执行。
始终建议在开始 集成测试。因为如果组件测试准确,我们会在集成测试中发现更多的小缺陷。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4