串口自动化测试——场景一
  fbDrOVBLGCrP 2023年11月02日 62 0

调试工具很多,但串口自动化测试工具确很少见。下面基于以下测试场景为大家介绍一个串口自动化测试工具——宏控软件串口测试机器人。

场景描述

在设备研发过程中,某个串口模块依赖一个另一个串口模块,比如说模块A 与模块B相互依赖,如下图所示,模块A在某些操作下会发出串口命令给模块B,并接收模块B 给出的回复做出后续反应:

串口自动化测试——场景一_串口自动化测试


这种依赖的问题会导致原本的需求目的是要验证模块B,但由于所依赖的模块A不稳定或者未开发完成,导致工作无法正常开展。

串口自动化测试——场景一_串口自动化测试_02

解决方式

那作为测试工程师,面对这样的情形,我们该怎么办呢?解决这类问题的核心的思路:引入依赖串口模块替身,更通俗的叫法,引入Mock服务。

Mock是什么

可能还有些读者之前并没有接触过Mock,不清楚Mock是个啥。Mock简单来理解,就是模拟,在测试过程中,对于一些很难构造或者获取的对象,用一个虚拟的对象来创建以便测试。而这个虚拟的对象就是mock对象。

Mock对象就是真实对象在调试期间的代替品。

对于上面的问题,可以通过引入Mock服务来进行解决。将模块B用Mock替代,对模块A进行测试。

串口自动化测试——场景一_串口_03

串口测试的工具介绍

常见的串口调试工具

目前市面上有不少串口调试工具,功能大同小异,但都不能说是实现了自动化测试,而且串口调试工具进行少量数据传输,并且,对于有时间精度要求的测试(比如模块B需要在500ms内给模块A返回回复内容)很难把控。

比如下图的串口调试工具,可以MOCK模块B,在收到模块A发出的串口命令后自动进行回复,但是,当收到的命令少时还好,收到的命令多的情况下,要根据发来的命令做出不同的回复,人工操作很难做到准时精确。而且人工操作存在误差,当有命令需要得到快速回复,响应速度没有那么快。

串口自动化测试——场景一_设备测试_04


串口自动化测试工具(宏控软件串口测试机器人)

宏控软件串口测试机器人(下面用串口测试机器人代替)。串口测试机器人支持模拟模块B,自动配置对模块A的回复。当收到模块A发来的串口命令时,会自动进行回复。并且支持在这个过程中所有收发命令的检查。

下面是串口机器人配置自动回复的命令,无需编程,直接插入,然后根据实际的测试逻辑填写当收到模块A的命令“cmdA”时需要自动做出的回复“cmdB”,并且可以对回复的时间进行设置。

串口自动化测试——场景一_设备测试_05

通过事先以测试用例的形式配置好所有命令的回复,就可以实现对模块A的自动化测试。

同时串口测试机器人还提供了很多其他的命令,方便快捷的进行依稀串口命令检查,查看等操作。下面选取其中两条命令作为展示。

命令一:检查

检查模块B收到的模块A发来的消息是否符合预期。比如在正常的情况下,模块A发来的第三条命令应该是cmdxx,用下面的命令就可以进行检查确认,如果命令发送正常,则检查命令执行成功;如命令发送错误,则检查命令执行失败,并会明确在测试结果处写明失败原因(实际收到的命令是什么)

串口自动化测试——场景一_设备测试_06

命令二:查看

自动化测试最担心的是测试数据是否是真实正确的,人工测试时,可以实时进行查看,测试人员会“放心”。而用自动化测试工具,测试过程无需人工干预,对于测试过程中的命令究竟是什么,可能会“不放心”。苏州宏控串口测试机器人提供查看命令,用户可以查看实际测试过程中,模块A发来的什么命令,什么时候发生的,模块B给这个命令做出了怎样的回复,回复时间是什么,这些测试数据统统会留存。

串口自动化测试——场景一_自动化测试_07

更多的命令,可以通过苏州宏控串口测试机器人来进行探索和体验。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
fbDrOVBLGCrP
最新推荐 更多