什么是软件测试中的互操作性测试?


互操作性测试的快速概述

互操作性定义为 inter 和 operable 两个词的组合。

  • Inter 意为“在我们之间”、“在我们内部”或“相互的”。

  • Operability 指的是一个人完成任务的能力。

结合这两个概念,互操作性是指两个(或多个)系统能够独立地完成其分配的任务,同时根据预期相互通信,而不会影响其独特的分配功能。

考虑预订航班的情况。考虑以下场景:您需要从新德里前往纽约。目前没有直达航班。您必须从新德里飞往伦敦,然后从伦敦搭乘联运航班飞往纽约。由于时间限制,您使用“捷特航空”预订了从新德里到伦敦的机票,并使用“维珍航空”预订了从伦敦到纽约的行程。因此,您的所有个人信息都已从捷特航空传输到维珍航空。

因此,捷特航空和维珍航空都是独立的应用程序,当您购买航班时,您的预订信息以有意义的方式从捷特航空发送到维珍航空,无需事先通知。

考虑医院管理系统,其中涉及将患者信息从一个部门传输到下一个部门。因此,在这种情况下,一个部门可以链接到一个应用程序。在没有通知的情况下,患者的信息会从一个应用程序传输到另一个应用程序。

那么,我们为什么要进行物联网呢?

需要进行互操作性测试以确保

网络的应用程序独立地满足其预期行为,并且它们可以无需警告地通信信息。

信息/数据在传输过程中不会干扰个体的预期行为。

传输的数据或信息不会以任何方式更新或更改。

如何最佳地进行互操作性测试?

要进行互操作性测试,我们可以使用 PDCA 循环(戴明环)。

1) 制定策略。

在定义几乎所有软件开发内容的方法时,计划是最重要的方面。在定义进行物联网测试的方法之前,我们必须首先了解已安装在网络中的每个应用程序或系统。

我们应该了解所有应用程序的功能、行为、它接受的输入以及它产生的输出。在准备应用程序进行互操作性测试之前,我还建议对其进行彻底的功能测试,确保没有缺陷。因此,在计划时,不要只考虑一两个应用程序;将它们都视为一个统一的单元。在计划这种测试方法时,您需要拥有全局视角。不用说,您应该记录您的策略。

我们可以采用我们常规的测试计划文档并对其进行一些调整,以满足记录 IOT 计划的需求。创建测试策略后,就可以开始创建测试条件了。您的测试条件的重点不应放在单个应用程序上,而应放在数据流经所有应用程序的过程上。应以大多数(如果不是全部)网络应用程序都经过的方式设置条件。

定义测试条件后,就可以开始设计或编写测试用例(如果要自动化)。您可以使用 RTM(需求跟踪矩阵)将测试用例映射到测试条件,并将测试条件映射到验收测试条件/需求。在处理网络时,规划非功能测试至关重要。即使在任何地方都没有提及或记录,也必须检查整个系统的非功能方面。非功能领域包括性能和安全性。

提前计划执行功能和非功能测试。如有必要,可以为功能、性能和安全测试创建单独的计划,或者为每个测试类别创建单个计划和包含测试条件的单独文档。

2) 采取行动

执行 – 是您实际执行计划所花费的时间。提前计划执行功能和非功能测试。在此步骤中,我们通过运行用例、记录缺陷、与开发团队跟进以解决缺陷、重新测试和回归测试整个系统、报告测试结果并关闭测试来完成测试周期。

3) 复查

检查 – 在此阶段,我们检查测试结果并尝试将其映射到 RTM,确保已满足所有必要条件并且所有应用程序都已探索。我们确保数据被准确地遍历并在应用程序/系统之间移动。

我们还需要确保正在遍历的数据不会被更改

考虑对整个互操作性测试过程进行回顾。确定哪些方面进展顺利,哪些方面没有进展顺利,以及需要处理的任何行动项目。

4) 行动

行动 - 是对过去的事情采取行动。继续执行被认定为“最佳实践”的要点,并确定改进可能改进的要点的措施并采取适当的行动。重要的是要记住,不应重复那些效果不佳的区域或方法。毕竟,我们应该从错误中吸取教训,避免重复犯错。

5 1/2 个步骤如下所示 -

  • 确定哪些应用程序连接到网络。

  • 确定它们各自的功能。

  • 确定每个应用程序接受的输入和产生的输出。

  • 确定哪些数据将通过所有或大多数应用程序发送。

  • 确定每个应用程序和日期组合的预期响应,该响应必须经过验证 1/2 记录下来。

为什么要进行互操作性测试?

进行互操作性测试是因为,

它保证了跨越来自不同供应商的两个或多个产品的端到端服务。

软件产品应该能够在没有任何兼容性问题的情况下与其他组件或设备连接。

不进行互操作性测试的风险很多。

  • 信息丢失

  • 不可预测的结果

  • 不可靠的操作

  • 操作错误

  • 维护能力低

互操作性测试示例测试用例

互操作性测试的测试策略包括以下步骤 -

  • 将来自不同制造商的两个或多个设备连接在一起。

  • 验证设备是否已连接。

  • 检查设备是否可以彼此传输和接收数据包或帧,以及数据在网络和设施级别是否得到正确处理。

  • 验证您构建的算法是否正常工作。

  • 如果结果令人满意,请转到下一步。

  • 结果不令人满意:使用监控工具检测问题的原因,并在测试报告工具中提交结果。

互操作性测试的缺点

互操作性测试有许多缺点。

  • 识别问题根源

  • 精确测量

  • 测试可扩展性 网络复杂性

  • 设备测试

  • 跟踪测试结果和经验教训

  • 规范不足

移动互操作性测试

当发布新的应用程序(移动应用程序)时,我们会进行互操作性测试。在计划对移动设备进行此测试时,需要考虑许多因素 -

市场上可用的移动设备种类繁多。您需要列出所有正在考虑用于测试的设备。您需要将设备类型与它支持的操作系统关联起来。

所有移动操作系统都使用不同的编程语言编写。因此,必须在所有操作系统版本中测试该程序。

了解特定于该位置的法律方面以及合同。

不同的设备具有不同的尺寸和分辨率。

还必须解决内置应用程序对移动设备的影响。

因此,就像我们为基于计算机的应用程序测试所做的那样,您需要为移动设备上的 IOT 设计和开发 RTM。

在移动设备的情况下,目标、策略、风险和执行都将相同,但工具和方法将有所不同。

挑战

测试所有应用程序的所有排列和组合都很困难。

应用程序使用各种硬件/软件组合创建并在各种环境中安装,因此如果其中一个环境出现故障,测试就会受到影响。

由于软件和环境众多,决定测试策略并将其付诸实施本身就是一个复杂的过程。

很难创建一个模拟环境来进行考试。

在发生故障时进行根本原因分析是一项艰巨的任务。

由于应用程序位于网络中,因此网络将有时会宕机。这也损害了测试。

总结

互操作性测试是一种软件工程类型,它检查软件是否可以与另一块软件通信。

它保证软件产品能够与其他组件或设备连接,而不会遇到任何兼容性问题。

更新于: 2021年11月30日

692 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告