系统模块 (SOM) 及其使用测试自动化框架的端到端验证
SOM 是一个完整的 CPU 架构,构建在一个小包中,大小像信用卡。它是一种集成系统功能的板级电路,在单个模块上提供嵌入式处理系统的核心组件——处理器内核、通信接口和内存块。与从头开始设计整个系统相比,基于 SOM 设计任何产品的过程要快得多。
全球市场上有多个 System on Module 制造商提供等量的开源自动化测试框架。如果您计划在您的产品中使用系统模块 (SOM),首先需要从市场上可用的测试自动化框架中确定测试自动化框架,并检查适合您需求的模块。
图像/视频密集型行业在设计和开发用于显式应用的定制硬件解决方案方面面临困难,同时减少了时间和成本。它与复杂性不断增加的快速发展的处理器相关联,要求产品公司在短时间内不断推出升级的变体。系统模块 (SOM) 可确保降低任何应用的开发和设计风险。SOM 是一个可重复使用的模块,具有最大的硬件/处理器复杂性,减少了运营商/主板上的工作,从而加快了上市时间。
System-on-Module 是一块小型 PCB 板,具有 CPU、RAM、Flash、电源和各种 IO(GPIOS、UART、USB、I2C、SPI 等)。在新时代的电子产品中,SOM 正在成为设计中非常常见的部分,特别是在工业、医疗电子产品中。它降低了对产品成功至关重要的设计复杂性和上市时间。这些系统级模块运行操作系统,主要用于需要以太网、文件系统、高分辨率显示器、USB、Internet 等的应用程序,并且应用程序需要较少的开发工作量来进行高计算。
如果您正在构建体积小于 20-25K 的产品,则使用现成的 SOM 进行产品开发是可行的。
SOM 的测试自动化框架
测试自动化框架是一组用于开发测试用例的指南。框架是工具和实践的结合,旨在支持质量保证专家更有效地进行测试。该指南涉及编码标准、处理测试数据的方法、对象存储库、存储测试结果的过程或有关访问外部资源的信息。测试框架是任何经过自动化测试的成功产品发布的重要组成部分。使用自动化测试框架将提高团队的测试效率、准确性,并减少时间和风险。
有不同类型的自动化测试框架,每个框架都有其架构和优点/缺点。选择正确的框架对于您的 SOM 应用程序测试非常关键。
下面介绍几个常用的框架:
线性自动化框架
基于模块化的测试框架
库架构测试框架
数据驱动框架
关键字驱动的框架
混合测试框架
综上所述,模块化和混合测试框架最适合 SOM 及其开发套件验证。测试的最终目标是确保软件按照规范运行并符合用户期望。整个过程涉及相当多的测试类型,根据应用程序和组织的性质,这些测试类型优先于其他测试类型。
让我们看看端到端测试过程中涉及的一些基本测试:
单元测试
完整的软件堆栈由许多小组件组成,因此不应直接测试完整的软件堆栈,而应首先进行单个模块级别的测试。在这里单元测试确保有模块/方法级别的输入/输出测试覆盖。单元测试为复杂的集成软件提供了基础,并提供了高质量的应用程序代码,加快了持续集成和开发过程。单元测试通常由开发人员通过测试自动化来执行。
烟雾测试
冒烟测试是为了验证部署的软件构建是否稳定。继续进行进一步测试取决于烟雾测试结果。它也称为构建验证测试,用于检查功能是否满足其目标。如果 SOM 不清除烟雾,仍然需要一些开发工作。
健全性测试
按预期工作的更改或提议的功能由健全性测试定义。假设我们修复了嵌入式产品启动流程中的一些问题,那么它应该交给验证团队进行健全性测试。一旦通过此测试,它不应影响其他基本功能。健全性测试是无脚本的,专门针对经历过代码更改的区域。
回归测试
每次修改/修改程序时,都应该重新测试以确保修改不会无意中“破坏”一些不相关的行为。这称为回归测试;这些测试通常通过测试脚本自动化。每次测试程序/设计时,它都应该给出一个平滑的结果。
功能测试
功能测试指定系统做什么。它也被称为黑盒测试,因为功能测试的测试用例是在不参考实际代码的情况下开发的,即没有查看“盒子内部”。
任何嵌入式系统都有输入、输出,并在它们之间实现一些驱动程序。黑盒测试是关于哪些输入应该是可接受的以及它们应该如何与输出相关联。测试人员不知道模块或源代码的内部结构。黑盒测试包括压力测试、边界值测试和性能测试。