在本节中,我们将讨论Stubs和Drivers之间的区别;并查看它们的简要介绍。
Stubs和Drivers是两种类型的测试工具,它们是软件和测试的集合,这意味着它们一起设计为通过加速情况变化同时定期检查其性能和结果来测试程序单元。
在软件测试过程中,Stubs和Drivers是用作模块短期替代的组件。
软件测试生命周期中有几个元素,它们在测试过程中起着至关重要的作用,使其更加精确和无故障。
所有与测试相关的组件都试图提高其质量,这有助于我们提供准确和可预测的结果,并满足指定的规格。
1. 描述软件测试中的Stubs和Drivers?
在软件测试中,单词Stubs和Drivers被描述为作为新模块或缺失模块的替代模块运行的模块的副本。
Stubs主要用于自上而下的集成测试;另一方面,Drivers主要用于自下而上的集成测试,并设计用于增强测试过程。
为了满足无法接近的模块或组件的基本要求,我们精确地建立了Stubs和Drivers。并且对获得预期的结果非常有益。
Stubs和Drivers都是基本软件开发和软件测试过程的重要组成部分。因此,为了帮助我们了解软件测试中Stubs和Drivers的实质,我们将看到详尽的讨论。
2. 什么是Stubs?
- Stubs是模块的副本,用于收集数据并开发许多可能的数据。但是,它像实际模块一样执行,主要用于测试模块。
- 通常,Stubs由软件开发人员创建,以便在缺少特定模块或尚未开发时使用它们而不是模块。
- 通过使用这些测试Stubs,测试工程师可以仿真尚未与软件连接的较低级别模块的性能。此外,它还可以帮助我们加速缺失模块的活动。
Stubs的类型
在增量集成测试的自上而下方法中,Stubs分为四个基本部分,如下所示:
- 演示跟踪消息。
-
显示参数值。
-
返回由模块或组件处理的一致值。
-
返回测试组件或模块所使用的特定参数的值。
3. 什么是Drivers?
- Drivers建立测试环境并负责通信,估计结果并发送报告。
- 这些就像Stubs一样,被软件测试工程师用来完成缺失或不完整的模块/组件要求。
- 这些Drivers主要采用自下而上的增量集成测试方法开发。
- 通常,与Stubs相比,Drivers有点复杂。
- 当上层模块或代码未开发或缺失时,这些可以测试代码的较低级别。
- 换句话说,我们可以说Drivers作为伪代码执行,主要用于Stubs模块完成时;但是,初始模块/组件尚未准备好。
4. Stubs和Drivers的示例
让我们看一个Stubs和Drivers的示例,这有助于我们增强对Stubs和Drivers的了解。
假设我们有一个包含四个不同模块的 Web 应用程序,例如:
如前所述,所有模块都负责一些单独的活动或功能,如下表所示:
注意:模块 P、Q、R 和 S 包含每个模块相对于另一个模块的依赖关系。 |
等效地实现所有模块的测试或开发始终是一种更好的方法。每个被开发的那一刻,就可以根据它们与模块的相似依赖关系进行组合和测试。
一旦模块P开发完成,它将通过测试过程。但是,为了执行和验证有关模块P的测试方法,他们需要模块-Q,该模块尚未完全开发,仍处于开发过程中。
并且不可能在缺少模块 Q 的情况下测试模块 P。因此,在这种情况下,我们将在软件测试过程中借助Stubs和Drivers。
Stubs和Drivers将复制真实模块-Q显示的所有基本功能和特性。随后,它与模块-P相结合,以便有效地执行测试过程。
现在,我们可以验证模块 P 中的登录页面的估计功能,前提是它转到主页,这是模块 Q 根据正确和有效的输入的活动。
同样,Stubs和Drivers用于完成其他模块的要求,例如“注销”页,该页位于模块-S
下,需要在有效注销特定应用程序后定向到“登录”页 (Module-P)。
同样,如果它们不可用,我们也可以使用Stubs和Drivers而不是模块
R 和模块 S。
由于模块 P 不可访问,Stubs和Drivers将作为其执行模块
S 测试的替代方法。
但是在这里,出现了一个问题,Stubs和Drivers都具有相同的功能?
让我们找到上述问题的答案:
是的,我们可以说Stubs和Drivers都执行类似的功能和目标。它们都充当缺少或不存在模块的替代方法。但是,在整个集成测试过程中可以描绘它们之间的变化。
5. Stubs和Drivers之间的主要区别
以下事实解释了集成测试过程中Stubs和Drivers之间的关键差异。
- Stubs和Drivers设计为缺少或无法访问的模块或组件的虚拟人。
- 最常见的是,Stubs和Drivers用于增量集成测试,其中Stubs用于自上而下的方法,而Drivers用于自下而上的方法。
- 通常,开发人员和单元测试工程师包含在Stubs和Drivers的创建中。
- 尽管它可以轻松执行单独的组件或模块,而无需担心其他模块的可访问性,并导致它们进入一个耗时的过程,因为它涉及为所有缺少的模块开发副本。
- 准确地说,为每个模块开发了Stubs和Drivers,具有不同的用途。
6.Stubs VS Drivers
在这里,我们将在下表中讨论Stubs和Drivers之间的一些重要比较:
7. 结论
在本节中,我们已经看到了Stubs和Drivers之间的显着差异。
我们的结论是,软件测试过程不能用未完成和部分的模块和组件来实现。
因此,为了确保测试的正确性和效率,有必要开发满足未完成模块要求的Stubs和Drivers。
并作为模拟模块执行,用于测试主要模块或组件的功能。
最后,我们可以说Stubs和Drivers是软件测试过程的重要组成部分。
它们是作为替代方案的计算机程序,可以复制其他模块的功能,这有助于我们简化软件测试活动。
|