嵌入式系统测试思路
嵌入式测试也好,游戏测试也好,软件测试也好,在大方向上来说,没有特别大的区别。
但是需要注意的是,嵌入式系统比纯粹的软件系统链路会长很多,尤其是他终端最终总是会控制机械,而我们都知道机械并不总是会受操作系统的控制,会有失灵的时候,机械受外部环境的影响也要复杂得多。
我为什么要强调链路过长这个问题呢?因为不管是任何的系统,链路越长,引发缺陷的风险会越高。
首先,嵌入式系统一定会受到某种程度的监控。它可能是以数字屏幕或者是控制台的形式表现出来,也有可能是以外部网页的形式表现出来。
如果是以网页形式展现,那么你肯定需要用到web自动化测试的框架。
其次,一个嵌入式系统往往会发生非常多的数据通信,尤其是现在很多的设备都是采用无线方式接入的智能终端。
在这个过程当中一定会有网络接口测试,当然这种接口不一定是软件当中的HTTP接口,有可能是其他协议的,但是大体上来说他们和软件当中的接口自动化测试是类似的。
关于远程调度,除了像以HTTP这种协议进行数据传输,还有可能会涉及到 WiFi或者是蓝牙数据的发送。
像现在比较火的真蓝牙无线耳机以及智能音箱,在开始的时候通常会要求蓝牙配对,在通信的过程当中也需要看语音数据传播的质量。
因此你可能需要对WiFi或者是蓝牙这些技术进行一定程度的研究。
说到远程调度,还有一种协议,在嵌入式系统当中用的比较多,那就是MQTT。本质上来说它也是一种消息队列的传输机制,就和我们在软件测试当中接触到的rabbitMQ差不多,它同样支持发布订阅模式,因此你可以向测试rabbitmq一样去测试mqTT。
除了远程调度,还有有线方面的串口通信。这方面用的比较多的协议是modbus,主要用于PLC,工业上的逻辑控制单元。这个协议发布已经很久了,标准也比较成熟,会有比较多的资料和工具。
所以你会发现这里面,涉及到的协议是比较多的。有网络协议也有串行协议,因此我会更愿意说嵌入式系统的重点在于协议测试和接口测试。
至于你说的web自动化测试框架,它是属于UI层面。我觉得在嵌入式系统当中,除非你们的产品非常看重可视化的功能,否则这应该不是一个重点。
我是九柄,希望我说的对你有一丝丝启发,一起学习,一起进步。
本文完,感谢你的耐心阅读,如有需要可加我微信,备注「博客」并说明原因,我们一起进步,下次见。