什么是软件测试中的互操作性测试?
互操作性测试概述
互操作性被定义为“互操作”和“可操作”这两个词的组合。
Inter的意思是“我们之间”、“我们内部”或“相互”。
可操作性是指一个人完成一项任务的能力。
结合这两个概念,互操作性是指两个(或多个)系统独立完成分配的任务,同时按预期相互通信而不损害其独特的分配能力的能力。
考虑进行航班预订的情况。考虑以下场景:您需要从新德里前往纽约。目前没有直飞航班。您必须从新德里飞往伦敦,然后在转机航班上从伦敦飞往纽约。由于时间限制,您使用“JetAirways”预订了从新德里到伦敦的机票,并使用“VirginAtlantic”预订了从伦敦到纽约的旅行。因此,您的所有个人信息都已从JetAirways转移到VirginAtlantic。
因此,JetAirways和VirginAtlantic都是独立的应用程序,当您购买航班时,您的预订信息将从JetAirways以有意义的方式发送到VirginAtlantic,而无需事先通知。
考虑医院管理系统,它涉及将患者信息从一个部门传输到另一个部门。因此,在这种情况下,可以将部门链接到应用程序。无需通知,患者的信息就会从一个应用程序传输到另一个应用程序。
那么,我们为什么要做物联网?
需要进行互操作性测试以保证
网络应用程序独立完成其预期行为,并且它们可以在没有警告的情况下交流信息。
信息/数据的传输不会干扰个人的预期行为。
传输的数据或信息不会以任何方式更新或更改。
进行互操作性测试的最佳方法是什么?
为了进行互操作性测试,我们可以使用推论轮(PDCA循环)。
#1)制定策略。
定义软件开发中几乎所有事情的方法的最重要方面是计划。在我们定义实施物联网的技术之前,我们必须首先了解已安装在网络中的每个应用程序或系统。
我们应该了解它为所有应用程序产生的功能、行为、输入和输出。在准备用于互操作性测试的应用程序之前,我还敦促对其进行彻底的功能测试,没有任何缺陷。因此,在规划时,不要简单地考虑一两个应用程序;将它们视为一个统一的单元。在规划这种测试方法时,您需要有一个鸟瞰的视角。不用说,您应该记录您的策略。
我们可能会采用我们的常规测试计划文档并对其进行一些调整,以满足记录物联网计划的需求。创建测试策略后,就可以创建测试条件了。测试条件的重点不应该放在单个应用程序上,而应该放在通过所有应用程序的数据流上。标准的设置方式应该能够遍历大多数(如果不是全部)网络应用程序。
定义测试标准后,您可以开始设计或编写测试用例(如果您想自动化它们)。您可以使用RTM(需求可追溯性矩阵)将您的测试用例映射到测试条件,将您的测试条件映射到验收测试条件/要求。在网络上工作时规划非功能测试至关重要。检查整个系统的非功能性方面是必要的,即使它没有在任何地方提及或记录。非功能域包括性能和安全性。
要执行功能和非功能测试,请提前计划。如有必要,可以为功能、性能和安全测试创建单独的计划,或者可以为这些测试类别中的每一个创建包含测试条件的单个计划和单独的文档。
#2)采取行动
做-是您实际执行计划所花费的时间。要执行功能和非功能测试,请提前计划。在这一步中,我们通过运行案例、记录缺陷、跟进开发团队解决这些问题、重新测试和回归测试整个系统、报告测试结果并关闭它来完成测试周期。
#3)仔细检查
检查在此阶段,我们会检查我们的测试结果并尝试将它们映射到RTM,确保满足所有要求的标准并探索所有应用程序。我们确保数据在应用程序/系统之间准确遍历和移动。
我们还需要确保被遍历的数据没有被改变
考虑对完整的互操作性测试过程进行回顾。确定哪些方面做得好,哪些方面做得不好,以及需要处理的任何行动项目。
4)采取行动
行动-是对过去的东西采取行动。继续执行被认为是“最佳实践”的点,并确定补救措施,并适当地采取行动。重要的是要记住,不能复制不能正常工作的区域或方法。毕竟,我们应该从错误中吸取教训,避免重蹈覆辙。
51/2步骤如下-
确定哪些应用程序连接到网络。
确定它们各自的功能。
确定它接受的输入以及它为每个应用程序产生的输出。
确定将通过所有或大部分应用程序发送哪些数据。
确定每个应用程序的预期响应和必须验证的日期组合1/2记下它。
为什么要进行互操作性测试?
进行互操作性测试是因为,
它保证跨来自不同供应商的两个或多个产品提供端到端服务。
没有任何兼容性问题,软件产品应该能够与其他组件或设备连接。
不进行互操作性测试的危险有很多。
信息丢失
不可预知的结果
不靠谱的操作
操作错误
维修能力低
互操作性测试示例测试用例
互操作性测试的测试策略包括以下步骤-
将来自不同制造商的两个或多个设备连接在一起。
验证小工具是否已连接。
检查设备是否可以相互传输和接收数据包或帧,以及数据是否在网络和设施级别得到适当处理。
验证您构建的算法是否正常工作。
如果结果令人满意,则进入下一步。
结果并不令人满意:使用监控工具检测问题的原因并将结果提交到测试报告工具中。
互操作性测试的缺点
互操作性测试有许多缺点。
确定问题的根源
精确的测量
测试可扩展性网络复杂性
设备经过测试
跟踪测试结果和学习
规格不足
移动互操作性测试
当一个新的应用程序(移动应用程序)发布时,我们会进行互操作性测试。在移动设备上计划此测试时,需要考虑许多因素-
市场上可用的移动设备种类繁多。您需要列出您正在考虑进行测试的所有设备。您需要将设备类型与其支持的操作系统相连接。
所有移动操作系统都是用一种独特的编程语言编写的。因此,必须在所有操作系统版本中测试该程序。
了解法律方面以及特定于该地点的合同。
不同的小工具有不同的尺寸和分辨率。
还必须解决内置应用程序对移动设备的影响。
因此,就像我们对基于计算机的应用程序测试所做的那样,您需要为移动设备上的IoT设计和开发RTM。
就手机而言,目标、策略、风险和执行都是相同的,但工具和方法会有所不同。
挑战
测试具有所有排列和组合的所有应用程序是困难的。
应用程序是使用各种硬件/软件组合创建的,并安装在各种设置中,因此如果其中一个环境出现故障,测试就会受到影响。
由于软件和设置众多,决定测试策略并将其付诸实施本身就是一个困难的过程。
很难创造一个刺激的环境来进行考试。
在发生故障时进行根本原因分析是一项艰巨的任务。
有时会因为应用程序在网络中而导致网络关闭。测试也因此受到损害。
概括
互操作性测试是一种软件工程,用于检查一个软件是否可以与另一个软件进行通信。
它保证软件产品可以与其他组件或设备连接而不会遇到任何兼容性问题。