应对移动机器人软件自动化测试所面临的挑战

王林
王林 转载
2023-08-31 10:33:05 1018浏览

我们将探索自动化移动家庭机器人的复杂性,并重点关注设置过程中的独特挑战,以克服各种限制,以确保用户能够顺利地开始使用

应对移动机器人软件自动化测试所面临的挑战

在之前的文章中,我解释了如何利用April Tag技术来实现家庭机器人的自动化。在家庭机器人或其他机器人的自动化过程中,存在一个巨大的挑战,那就是设备的设置。在设备、手机和移动应用程序的世界中,设备通常通过USB连接到主机设备,并且设备始终连接到电源。然而,对于测试机器人来说,出现了一个独特的挑战,即当机器人在移动时如何进行测试。因为它无法通过物理有线连接与主机设备相连。那么,我们应该如何验证开箱体验呢?不要担心,我将在本文中解释这个问题

复杂性和挑战

在我向您简要介绍了机器人自动化测试中设置阶段的各种挑战之后,让我进一步深入研究更多的挑战

机器人正在移动,无法通过物理有线连接到主机设备。对于一些组件级别的测试可能是可行的,但对于端到端(E2E)测试来说是不可能的

开箱体验是指设备未连接到WiFi。当设备全新时,主机设备如何与设备交互?这是日常机器人测试中非常常见的情况

当机器人发生任何错误或异常时,需要进行恢复操作。自动化测试的主要目标是发现机器人潜在的软件和硬件问题。如果遇到问题,我们应该如何报告并恢复设备呢?

机器人的电池即将用尽,我们需要一个可靠的电源来为机器人充电

将相同的设置扩展到多个实验室和家庭环境是非常重要的。这是因为我们不能仅仅在一个环境中对机器人进行签署或测试

让我们按照时间顺序来解决这些问题。可以改写为:让我们依照时间的先后顺序来解决这些问题

使用树莓派预设机器人

重要的是解决这个问题。考虑一个位于测试自动化实验室的机器人的情况。有一台主机设备连接到公司内部网络,用于发送和接收命令,访问各种源代码、内部工具和基础设施。我们将在设备上连接一个树莓派,并在树莓派上运行一个REST服务,以便与主机设备和设备进行通信。下面是一个图示,展示了这个设置

使用树莓派预设机器人

应对移动机器人软件自动化测试所面临的挑战

解决开箱体验用例

现在,我们来看一下如何通过树莓派来预先设置测试环境。接下来,我们将探讨如何解决设备在开箱时无法连接到Wifi的问题

树莓派上的RESTful服务的作用是什么?RESTful服务应该包含哪些端点?

  • 刷写设备
  • 完成OOBE
  • 设置wifi等
  • 获取DUT IP地址

现在,对于我们来说,通过无线连接设备变得非常容易,设备已经为我们的测试做好了充分的准备

在发生任何错误或异常时恢复机器人

这是一个非常常见的情况。不要被这类问题所压倒或沮丧。这时候,我们必须使用设备的低级组件将设备驱动回到其原始位置。例如,正如我在之前的文章中提到的各种软件堆栈,我们需要访问平台或移动性层来将机器人驱动回到其原始位置。这是最棘手和最具挑战性的事情,因此使用其他技术,如April Tag或其他外部系统来将设备驱动回来。这使我想到了下一个问题,即将设备放回充电座为下一次测试运行做准备

扩展到多个测试环境

将设备放回充电座时,使用低级命令可以提高可靠性。相较于使用顶层的移动或导航命令以及平台或移动性层驱动,故障率更低而效率更高

多个测试环境的扩展设置提示:

  • 保持设置简单。不要过于复杂或过度工程化解决方案。
  • 具有可部署的树莓派映像,以便可以轻松加载任何新的树莓派。
  • 将测试代码放在远程存储库中。将它们移到本地无法扩展。

机器人自动化并非简单之事,最终需经过大量设计工作,并考虑市场上其他选项。没有一种解决方案适用于所有情况。在采用最终方案前,我建议进行概念验证

备选方案

鉴于我们所面临的问题的性质和复杂性,一个常见的问题是是否存在其他替代方案。简而言之,答案是肯定的。我们可以通过使用模拟器/仿真器来进行有效的测试,以覆盖我们所描述的大部分用例,但是真实设备测试是无法替代的

以上就是应对移动机器人软件自动化测试所面临的挑战的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:51CTO.COM,如有侵犯,请联系admin@php.cn删除