一种嵌入式软件自动化测试方法和系统与流程

文档序号:35658747发布日期:2023-10-06 15:00阅读:28来源:国知局
一种嵌入式软件自动化测试方法和系统与流程

本发明涉及嵌入式软件测试,特别是涉及一种嵌入式软件自动化测试方法和系统。


背景技术:

1、在开发和发布sdk软件的过程中,需要设计大量的测试用例,以保证sdk提供的功能和服务是稳定可靠。另外,sdk本身也包含了大量的样例工程,以说明sdk中提供的api(应用程序开发接口)的用法,这些用例也必须要保证是运行无误。随着越来越多的mcu产品,那么sdk软件将会越来越庞大。

2、目前对于sdk软件采用集成测试的方法进行测试。开发者将sdk提供的源代码文件上传到git服务器。teamcity(持续集成工具)将会对当前的sdk软件库中的所有参考样例执行自动编译测试。在不同平台(armgcc、keil、iar)进行自动编译确保能够正确生成对应平台的嵌入式可执行文件。测试人员根据测试报告,在三个不同的平台逐个手动下载二进制文件到开发板中,手动启动开发板运行程序,观察运行结果并整理后发出测试报告。这种测试方法需要大量人工参与,需要手动的切换不同的板子以及手动运行参考样例需要大量时间,同时在不同板子测试时,可能会由于人为因素导致拿错板子等问题导致锁死芯片等情况,从而导致准确度低,测试周期长,为快速支持客户进行软件迭代的周期长。现有的自动编译测试过程中,仅能覆盖编译时错误,无法验证运行时错误。例如,这些错误可能来自于不合适的软件配置、电路变更等。需要在具体开发板上运行待测工程才能判定。现有的运行时测试手段,需要人工进行,人为地执行测试过程中各个环节的操作,并人工判定测试用例的运行情况是否符合预期,但人工测试周期长,成本高。同时,人工测试可能会引入大量人为操作的不确定性,不易复现,稳定性差。


技术实现思路

1、本发明的目的是提供一种嵌入式软件自动化测试方法,能够解决上述问题。

2、本发明提供的技术方案如下:

3、在一些实施方式中,本发明提供一种嵌入式软件自动化测试系统,包括上位机、目标嵌入式系统;所述上位机与所述目标嵌入式系统连接;

4、所述上位机,用于基于定时触发信号或测试完成信号,获取待测嵌入式软件的测试文件,并与所述目标嵌入式系统进行匹配连接,将所述测试文件下载至所述目标嵌入式系统;

5、所述目标嵌入式系统,用于下载所述测试文件,运行所述测试文件并反馈测试日志信息至所述上位机;所述测试日志信息包括在运行所述测试文件过程中通过打桩法标记的测试日志信息;

6、所述上位机,还用于通过分析所述测试日志信息中的关键字和所述关键字的输出顺序,判断所述待测嵌入式软件的测试流程是否符合理想运行结果。

7、在一些实施方式中,所述上位机,包括:数据库;

8、所述数据库,用于保存待测数据文件、接口映射表、所述测试日志文件、嵌入式软件的理想运行结果、所述嵌入式软件的运行结果分析报表。

9、在一些实施方式中,所述上位机,包括:脚本管理器;

10、所述脚本管理器,用于调用上层脚本,所述上层脚本用于调用底层脚本,调用所述底层脚本通过从所述数据库查询接口映射表与所述目标嵌入式系统接口进行驱动和通信。

11、在一些实施方式中,所述上位机,包括:数据管理器;

12、所述数据管理器,用于调用所述上层脚本和所述底层脚本提供所述待测数据文件,或,调用所述上层脚本和所述底层脚本解析所述待测数据文件,生成测试数据报表至所述数据文件中。

13、在一些实施方式中,所述上位机,还用于:将所述测试日志信息中的关键字和所述关键字的输出顺序与基准关键字进行对比,得出关键字测试结果,并将对比后的所有关键字测试结果进行整合得到所述待测嵌入式软件的最终测试结果。

14、在一些实施方式中,所述关键字包括:检测软件系统能否正确的启动;检测待测试的模块是否初始化完成;测试所有可选参数是否能够正确配置;在嵌入式软件的运行逻辑点设置具体的步骤标签;在嵌入式软件中,对中断的部分使用检测标签,判断中断是否正确执行;一次运行结束。

15、在一些实施方式中,还包括:

16、数据管理服务器,与所述上位机连接,用于接收版本控制系统的触发信号,自动生成所述嵌入式软件在不同测试平台的测试文件,所述测试文件为待测嵌入式软件在不同测试平台的二进制文件。

17、在一些实施方式中,本发明还提供一种嵌入式软件自动化测试方法,包括:

18、通过上位机基于定时触发信号或测试完成信号,获取待测嵌入式软件的测试文件,并与目标嵌入式系统进行匹配连接,将所述测试文件下载至所述目标嵌入式系统;

19、利用所述目标嵌入式系统下载所述测试文件,运行所述测试文件并反馈测试输出信息至所述上位机;所述测试输出信息包括在运行所述测试文件过程中通过打桩法标记的关键字测试输出信息;

20、所述上位机通过分析所述测试日志信息中的关键字和所述关键字的输出顺序,判断所述待测嵌入式软件的测试流程是否符合理想运行结果。

21、在一些实施方式中,所述通过分析所述测试日志信息中的关键字和所述关键字的输出顺序,判断所述待测嵌入式软件的测试流程是否符合理想运行结果,包括:

22、通过所述上位机将所述关键字测试输出信息与基准关键字测试输出信息进行对比,得出关键字测试结果,将对比后的所有关键字测试结果进行整合得到所述待测嵌入式软件的最终测试结果。

23、在一些实施方式中,还包括:

24、通过数据管理服务器接收版本控制系统的触发信号,自动生成所述嵌入式软件在不同测试平台的测试文件,所述测试文件为待测嵌入式软件在不同测试平台的二进制文件。

25、本发明提供的一种嵌入式软件自动化测试方法和系统至少具有以下至少一种有益效果:

26、本发明中,使用自动化编译过程作为完整自动化测试系统的一个必要环节,并使用自动化编译后的可执行文件参与到后续的自动化运行时测试环节,在自动化运行时测试环节中,将覆盖更多的异常情况,这些异常情况是仅通过编译过程无法判定的。

27、本发明中使用的自动化运行时测试过程,使用了一套订制的通信交互协议,由机器按照程序,自动判别目标测试工程的运行状态。

28、本发明所展现的自动化测试系统,由机器完成全部测试过程,几乎不受人为因素影响,可不断复现测试环境,可信度高。



技术特征:

1.一种嵌入式软件自动化测试系统,其特征在于,包括上位机、目标嵌入式系统;所述上位机与所述目标嵌入式系统连接;

2.根据权利要求1所述的一种嵌入式软件自动化测试系统,其特征在于,所述上位机,包括:数据库;

3.根据权利要求2所述的一种嵌入式软件自动化测试系统,其特征在于,所述上位机,包括:脚本管理器;

4.根据权利要求3所述的一种嵌入式软件自动化测试系统,其特征在于,所述上位机,包括:数据管理器;

5.根据权利要求1所述的一种嵌入式软件自动化测试系统,其特征在于,所述上位机,还用于:将所述测试日志信息中的关键字和所述关键字的输出顺序与基准关键字进行对比,得出关键字测试结果,并将对比后的所有关键字测试结果进行整合得到所述待测嵌入式软件的最终测试结果。

6.根据权利要求5所述的一种嵌入式软件自动化测试系统,其特征在于,所述关键字包括:检测软件系统能否正确的启动;检测待测试的模块是否初始化完成;测试所有可选参数是否能够正确配置;在嵌入式软件的运行逻辑点设置具体的步骤标签;在嵌入式软件中,对中断的部分使用检测标签,判断中断是否正确执行;一次运行结束。

7.根据权利要求1~6中任一项所述的一种嵌入式软件自动化测试系统,其特征在于,还包括:

8.一种嵌入式软件自动化测试方法,其特征在于,包括:

9.根据权利要求8所述的一种嵌入式软件自动化测试方法,其特征在于,所述通过分析所述测试日志信息中的关键字和所述关键字的输出顺序,判断所述待测嵌入式软件的测试流程是否符合理想运行结果,包括:

10.根据权利要求9所述的一种嵌入式软件自动化测试方法,其特征在于,还包括:


技术总结
本发明属于嵌入式软件测试技术领域,提供一种嵌入式软件自动化测试方法和系统,其系统包括上位机、目标嵌入式系统;上位机,用于基于定时触发信号或测试完成信号,获取待测嵌入式软件的测试文件,并与目标嵌入式系统进行匹配连接,将测试文件下载至目标嵌入式系统;目标嵌入式系统,用于下载测试文件,运行测试文件并反馈测试日志信息至上位机;测试日志信息包括在运行测试文件过程中通过打桩法标记的测试日志信息;上位机,还用于通过分析测试日志信息中的关键字和所述关键字的输出顺序,判断待测嵌入式软件的测试流程是否符合理想运行结果。本发明自动化、广泛的判别目标测试工程的运行状态。

技术研发人员:请求不公布姓名
受保护的技术使用者:上海灵动微电子股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1