技术摘要:
本发明提出基于DSP的嵌入式软件测试方法与系统。测试系统包括数据计算中心、多个边缘计算节点、移动终端请求测试链以及移动终端请求测试链创建子系统。数据计算中心的测试性能数据分析引擎基于边缘计算节点反馈的所述测试性能数据计算边缘计算节点的测试性能值以及总体 全部
背景技术:
嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时 器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作 系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种 自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯 技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以此满足系统对功能、 成本、体积和功耗等要求。 嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件,它在产业中的关联关 系体现为:芯片设计制造→嵌入式系统软件→嵌入式电子设备开发、制造。 通常嵌入式系统对可靠性的要求比较高。嵌入式系统安全性的失效可能会导致灾 难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对 嵌入式系统,包括嵌入式软件进行严格的测试、确认和验证。随着越来越多的领域使用软件 和微处理器控制各种嵌入式设备,对日益复杂的嵌入式软件进行快速有效的测试愈加显得 重要。 嵌入式软件测试要根据软件的功能要求确定测试项目,主要包括:测试软件的快 速反应能力,确保软件在不受系统内部状态影响的情况下也能够快速应对事件;测试软件 异步并发事件处理能力和容错能力,确保嵌入式软件在死机或出错的情况下也可以恢复到 运行前的状态。 申请号为CN201911206258.6的中国发明专利申请提出一种基于资源共享的分布 式嵌入式软件测试系统,所述嵌入式软件测试系统包括:多个节点,其中每个节点内具有对 所述嵌入式软件进行仿真验证的仿真模块,所述节点对系统输入行为和输出行为的访问通 过资源管理模块提供的输入和输出的映射实现,以实现多个节点构建能够资源共享的网 络,以及资源管理模块,用于节点内应用对远程资源使用时进行调度,其中,所述远程资源 包括远程共享内存和远程程序调用。本申请提供的基于资源共享的分布式嵌入式软件测试 系统不仅能够满足嵌入式软件运行平台规模的扩展,也能够在分布式架构下实现软件运行 平台内部资源的共享。 申请号为CN201910599425.1的中国发明专利申请提出一种一种适用于嵌入式系 统的单元测试框架,用于解决当前嵌入式领域应用程序标准化测试的问题。所述单元测试 框架包括标准测试接口模块、测试用例导出模块、测试命令解析模块、测试单元执行模块、 日志模块和测试结果处理模块。其中测试用例导出模块将测试用例程序抽象为测试初始化 模块、测试清理模块和测试用例程序入口模块,并利用链接器特性将测试用例程序导出到 程序镜像中指定的代码段。所述单元测试框架使用标准C语言编写,实现了通用测试接口, 5 CN 111611167 A 说 明 书 2/6 页 降低了测试用例程序编写难度,提高了代码复用度,缩短了开发周期,适用于所有的嵌入式 操作系统,并可以移植到没有使用嵌入式系统的裸机系统中使用。 然而,上述技术方案都是针对特定的单一嵌入式软件进行,其测试数量以及测试 数据流量都比较小;然而,虽然一般来说嵌入式软件的开发规模小,但是嵌入式软件的开发 难度却相对较大,需要开发板级初始化程序、应用程序、驱动程序、测试程序等多样化的程 序,这些程序涉及到低层软件开发,需采用不同的开发技术手段,在桌面机上完成开发,并 在目标机上运行程序。在这种情况下,增加了嵌入式软件测试的难度,需要对不同的程序进 行测试。如果测试用例数量不够或者测试资源不足,则会极大的降低测试效率,并且无法保 证测试的准确和全面性。
技术实现要素:
为解决上述技术问题,本发明提出一种基于DSP的嵌入式软件测试方法与系统。测 试系统包括数据计算中心、多个边缘计算节点、移动终端请求测试链以及移动终端请求测 试链创建子系统。数据计算中心中的测试性能数据分析引擎基于边缘计算节点反馈的所述 测试性能数据计算边缘计算节点的测试性能值以及总体测试性能值;基于测试性能值,所 述数据计算中心将所述软件测试请求的第二部分分配给所述多个边缘计算节点;基于所述 总体测试性能值,所述数据计算中心将所述软件测试请求的第三部分发送至所述所述移动 终端请求测试链。本发明的技术方案能够基于数据服务提供商(Data Service Provider) 高效的实现嵌入式软件的分阶段集成化测试并且确保测试全面性。 具体来说,本申请的技术方案整体上概括如下: 在本发明的第一个方面,提供一种基于DSP(Data Service Provider)的嵌入式软 件测试系统,所述嵌入式软件测试系统包括数据计算中心; 作为本发明的第一个优点,所述测试系统包括移动终端请求测试链; 作为本发明的再一个优点,所述测试系统包括多个边缘计算节点。 作为体现上述优点的具体的关键技术手段,所述移动终端请求测试链包括多个用 户测试节点,每个用户测试节点对应一个用户终端设备; 所述数据计算中心用于接收嵌入式软件测试请求,并将所述软件测试请求的第一 部分发送至所述多个边缘计算节点; 所述多个边缘计算节点接收所述软件测试请求进行软件测试,并反馈测试性能数 据给所述数据计算中心; 作为本发明的再一个优点,所述数据计算中心包括测试性能数据分析引擎,所述 测试性能数据分析引擎基于所述边缘计算节点反馈的所述测试性能数据计算每一个所述 边缘计算节点的测试性能值以及总体测试性能值; 基于所述每一个所述边缘计算节点的测试性能值,所述数据计算中心将所述软件 测试请求的第二部分分配给所述多个边缘计算节点; 基于所述总体测试性能值,所述数据计算中心将所述软件测试请求的第三部分发 送至所述所述移动终端请求测试链。 更具体的,所述测试系统还包括移动终端请求测试链创建子系统;所述基于所述 总体测试性能值,所述数据计算中心将所述软件测试请求的第三部分发送至所述所述移动 6 CN 111611167 A 说 明 书 3/6 页 终端请求测试链,具体包括: 若所述总体测试性能值低于第一预定标准阈值,则所述移动终端请求测试链创建 子系统在所述DSP(Data Service Provider)网络中发布移动终端请求测试链创建合约,所 述创建合约包括所述嵌入式软件测试请求的测试要求、移动终端请求测试链包含的用户测 试节点数量范围; 将响应上述创建合约的用户终端设备作为用户测试节点加入到所述移动终端请 求测试链中。 在本发明的第二个方面,提出一种嵌入式软件测试方法,所述方法基于数据服务 提供商(DSP:data Service Provider)实现。 在本发明中,通过用户的社交网络连接的具备空余计算能力的用户终端设备(包 括数据请求端)共同构成了数据服务提供商(DSP:data Service Provider)。数据服务提供 商可以通过调用用户终端设备来数据请求用户(Date Request Users,简称DRU)辅助已有 的边缘计算服务。 在本发明中,所述方法包括如下步骤S700~S709: S700:接收数据请求用户提交的嵌入式软件测试请求; S701:对所述测试请求进行解析,得到测试请求的多个子部分; S702:将所述多个子部分的未处理的第一部分发送给多个边缘计算节点; S703:接收所述多个边缘计算反馈的软件测试性能数据,确定出每一个所述边缘 计算节点的测试性能值以及总体测试性能值; S704:基于所述边缘计算节点的测试性能值以及总体测试性能值,将所述测试请 求的多个子部分中的未处理的第二部分再次分配给所述多个边缘计算节点; S705:判断所述测试请求是否还包括其他未处理的子部分,如果是,则进入下一 步,否则,退出; S706:基于所述测试性能值以及总体测试性能值,确定出移动终端请求测试链包 含的用户测试节点的节点数; S707:基于所述确定出的移动终端请求测试链包含的用户测试节点的节点数,发 布移动终端请求测试链创建合约; S708:将所述测试请求的多个子部分中的未处理的第三部分发送至所述所述移动 终端请求测试链; S709:判断所述测试请求是否还包括其他未处理的子部分,如果是,则返回步骤 S702,否则,退出。 上述嵌入式软件测试方法可以通过所述的基于DSP的嵌入式软件测试系统实现。 本发明的上述方法可以通过计算机形式的程序代码自动化编程实现,因此,本发 明还提供一种计算机可读存储介质,其上存储有计算机可执行程序指令,利用软件测试系 统中的处理器和存储器执行所述可执行程序指令,用于实现所述的嵌入式软件测试方法。 本发明的进一步优点将结合说明书附图在具体实施例部分进一步详细体现。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 7 CN 111611167 A 说 明 书 4/6 页 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。 图1是本发明一个实施例的基于DSP的嵌入式软件测试系统的模块架构图; 图2是图1所述系统进行软件测试的流程步骤原理图; 图3-图4是利用所述系统或者方法执行软件测试时详细计算流程图。