存根和驱动程序


存根和驱动程序之间的区别

在本节中,我们将讨论Stubs 和 Drivers 之间区别;并查看它们的简要介绍。

存根和驱动程序是两种类型的测试工具,它们是软件和测试的集合,这意味着它们被设计在一起,通过加速情况的变化来测试程序的一个单元,同时定期检查其性能和结果。

在软件测试过程中,存根和驱动程序是用作模块的短期替代品的那些组件。

软件测试生命周期中有几个元素,它们在测试过程中发挥着至关重要的作用,可以使测试过程更加精确和无故障。

与测试相关的所有组件并尝试提高其质量,帮助我们提供准确和可预测的结果,并促进实现指定的规格。

描述软件测试中的存根和驱动程序?

在软件测试中,存根和驱动程序这两个词被描述为模块的复制品,这些模块可以替代新的或缺失的模块。要用于自顶向下的集成测试;另一方面,驱动程序主要用于自下而上的单独集成测试,并设计增强测试过程。

为了维持难以访问的模块或组件的基本要求,我们精确地建立了存根和驱动器。并且非常有利于获得预期的结果。

存根与驱动程序

存根和驱动程序都是基本软件开发和软件测试过程的重要组成部分。因此,为了帮助我们理解软件测试中存根和驱动程序的实质,我们将看到详尽的讨论。

什么是存根?

  • 存根是收集数据并开发许多可能数据的模块的副本。但是,它像实际模块一样执行,主要用于测试模块。
  • 通常,存根由软件开发人员创建,以便在特定模块丢失或尚未开发时使用它们而不是模块。
  • 通过使用这些测试存根,测试工程师可以模拟尚未加入软件的低级模块的性能。此外,它可以帮助我们加速缺失模块的活动。

存根的类型

增量集成测试的自顶向下方法中,存根分为四个基本部分,如下所示:

  • 演示跟踪消息。
  • 显示参数值。
  • 返回由模块或组件处理的一致值。
  • 返回测试组件或模块使用的特定参数的值。

什么是驱动程序?

  • 驱动程序建立测试环境,并采取沟通的照顾,估计结果,还发送报告。
  • 这些就像存根一样,被软件测试工程师用来完成缺失或不完整的模块/组件需求。
  • 驱动程序主要是在增量集成测试的底向上方法中开发的
  • 通常,与存根相比,驱动程序有点复杂。
  • 当没有开发或缺少上层模块或代码时,这些可以测试代码的下层。
  • 换句话说,我们可以说驱动程序作为伪代码执行,主要在存根模块完成时使用;但是,未准备初始模块/组件。

存根和驱动程序示例

让我们看一个存根和驱动程序的例子,这有助于我们增强我们对存根和驱动程序的了解。

假设我们有一个包含四个不同模块的Web 应用程序,例如:

  • 模块-P
  • 模块-Q
  • 模块-R
  • 模块-S

如前所述,所有模块都负责一些单独的活动或功能,如下表所示:

不同的模块 个人活动
模块-P Web 应用程序的登录页面
模块-Q Web 应用程序的主页
模块-R 打印设置
模块-S 登出页面

注意:模块 P、Q、R 和 S 包含每个模块之间的依赖关系。

等效地实施所有模块的测试或开发总是更好的方法。每个被开发出来的那一刻,它们可以根据它们与模块的相似依赖关系进行组合和测试。

一旦模块-P发达,它会经过测试的过程。但是,为了执行和验证有关Module-P的测试方法,他们需要Module-Q,它尚未完全开发并且仍在开发过程中。

并且不可能在缺少Module-Q 的情况下测试Module-P。因此,在这种情况下,我们将在软件测试过程中借助Stubs 和 Drivers

存根和驱动程序将复制真实Module-Q显示的所有基本功能和特性。随后,它与Module-P结合以有效地执行测试过程。

现在,我们可以验证在Module-P中的Login page的估计功能,只有当它转到Home Page 时,这是Module-Q的活动,根据正确和有效的输入。

同理,stubs和drivers用来完成其他模块的需求,比如Sign-out页面,属于Module-S下,需要在有效登录后指向Login页面Module-P)从特定的应用程序。

同样,如果模块-R模块-S不可用,我们也可以使用存根或驱动程序代替模块-R模块-S

由于Module-P不可访问,存根和驱动程序将作为它的替代品来执行Module-S的测试

但在这里,问题是驱动程序和存根都提供相同的功能?

让我们找到上面问题的答案:

是的,我们可以说存根和驱动程序都执行相似的功能和目标。它们都可以作为缺失或缺失模块的替代方案。但是,它们之间的变化可以在整个集成测试过程中描绘出来。

存根和驱动程序之间的主要区别

以下事实解释了集成测试过程中存根和驱动程序之间的关键差异。

存根与驱动程序

  • 存根和驱动程序设计为缺失或无法访问的模块或组件的虚拟对象。
  • 最常见的是,存根和驱动程序用于增量集成**测试,存根用于自上而下的方法,而驱动程序用于自下而上的方法**。
  • 通常,开发人员和单元测试工程师会参与到存根和驱动程序的创建中。
  • 尽管它可以轻松地执行单独的组件或模块,而无需担心其他模块的可访问性,并导致它们进入一个耗时的过程,因为它涉及为所有丢失的模块开发副本。
  • 准确地说,存根和驱动程序是为每个具有不同目的的模块开发的。

存根 VS 驱动程序

在这里,我们正在讨论下表中存根和驱动程序之间的一些重要比较:

存根与驱动程序

编号 存根 驱动程序
1. 模仿被调用函数的一段代码称为存根。 模仿调用函数的一段代码称为驱动程序。
2. 它用于测试模块和测试模块的功能,并复制尚未合并的低级模块的性能,以及缺失模块/组件的活动。 当主模块准备好或准备就绪时,我们将借助驱动程序。通常,与存根相比,驱动程序要复杂一些。
3. 存根是在增量集成测试的自顶向下方法期间开发的。 驱动程序是在增量集成测试的自下而上方法中开发的。
4. 存根复制未开发和缺失的模块或组件的活动。 驱动程序将测试用例授权给另一个系统,并引用被测模块。
5. 存根由测试工程师团队创建。 大多数情况下,驱动程序是由开发人员和单元测试工程师创建的。
6. 在测试高级模块时开发存根,而不形成低级模块。 驱动程序是在测试低级模块时获取的,高级模块尚未开发。
7. 这些与正在开发过程中的软件模块平行。 另一方面,驱动程序用于提醒需要测试的组件。
8. 存根表示低级模块。 驱动程序表示高级模块。
9. 从根本上讲,存根也称为被调用程序,最初用于自顶向下集成测试。 驱动程序也称为调用程序,主要用于自底向上的集成测试。
10. 这些保留用于测试模块的特性和功能。 如果软件的核心模块没有建立用于测试,则使用驱动程序。

结论

在本节中,我们已经看到了存根和驱动程序之间的显着差异。

我们得出结论,软件测试过程不能用未完成的和部分的模块和组件来实现。

因此,为了保证测试的正确性和效率,有必要开发满足未完成模块要求的存根和驱动程序

并作为测试主要模块或组件功能所需的模拟模块执行。

最后,我们可以说存根和驱动程序是软件测试过程的重要组成部分。

它们是计算机程序,可替代并复制其他模块的功能,帮助我们简化软件测试活动。