一种提取动态测试中函数运行时间的方法和系统与流程

文档序号:37171618发布日期:2024-03-01 12:18阅读:18来源:国知局
一种提取动态测试中函数运行时间的方法和系统与流程

本技术涉及嵌入式软件测试的领域,尤其是涉及一种提取动态测试中函数运行时间的方法和系统。


背景技术:

1、目前,嵌入式软件在测试阶段,大多是按照mil(model in the loop模型在环)、sil(software in the loop代码在环)、pil(processor in the loop控制器在环)、hil(hardware in the loop硬件在环)顺序进行的。

2、通常,mil、sil测试阶段采用嵌入式软件在电脑端模拟运行,其对于目标函数的运行时间实际为仿真时间,无法获取该嵌入式软件在处理器中目标函数的真实运行时间。而在pil测试阶段,则通常需要借助调试器和处理器进行通讯,以获取处理器中真实的嵌入式软件运行时间;期间需要人工采用专业得到性能测试工具,持续不断地观测pil测试阶段的电路板运行状况,该测试结果不仅仅依赖于观测经验,最终得出的运行时间也很难取证。


技术实现思路

1、为了在pil阶段自动统计在连续工况下软件运行时间,降低人工成本,本技术提供一种提取动态测试中函数运行时间的方法和系统。

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、确认所述测试用例数据执行完成,将所述测试用例数据对应的工况数据、运行时间在时间轴上自动化对齐;所述工况数据为所述目标板按照所述激励信号运行生成。

29、通过采用上述技术方案,测试用例数据对应的工况数据是由目标板按照测试用例数据的所有激励信号完全运行得到的,此时已经可以确认测试用例数据执行完成。随后将测试用例数据对应的工况数据整理成曲线,实际运行时间也在时间轴上显示出来,并且自动对齐,从而便于评估在各种测试用例数据下的所述实际运行时间。

30、可选的,整理所述测试用例数据和所述运行时间,还包括:

31、确认所述测试用例数据执行完成后,将所述测试用例数据、断点位置信息进行初始化。

32、通过采用上述技术方案,目标板按照测试用例数据的所有激励信号运行,确定测试用例数据执行完成。在测试用例数据执行完成后直接将所有数据进行初始化,避免方案下一个行的测试用例数据的执行。如此,通过不断的循环执行,可对不同工况(多条测试用例数据)进行动态测试并获取函数实际运行时间进行统计。

33、可选的,根据所述运行时间与预设的上限值的比较结果,生成测试报告,包括:

34、根据所述运行时间所对应的测试用例数据查找到对应的上限值;

35、比较所述测试用例数据对应的运行时间和所述上限值得到判定结果,在所述判定结果表征所述运行时间超出上限值时,生成告警信号,并生成测试报告;

36、其中,所述测试报告包括测试用例数据、测试用例数据对应的工况数据、测试用例数据中目标函数对应的所述运行时间、所述判定结果。

37、通过采用上述技术方案,上限值通常是由人工依据时间模型分配设定,测试用例数据对应的运行时间超出上限值则进行告警。而测试报告则会将测试用例数据、测试用例数据对应的工况数据、测试用例数据中目标函数对应的所述运行时间、所述判定结果这些相关数据填写到预设的报告模板中,从而生成测试报告。

38、本发明还提供一种提取动态测试中函数运行时间的系统,所述系统包括:

39、第一测试单元,用于基于预配置的激励参数生成测试用例数据;

40、断点模拟单元,用于在仿真环境下,在所述测试用例数据中目标函数的始端和末端分别设置第一断点和第二断点,生成断点位置信息;

41、断点配置单元,用于在仿真硬件环境下,根据所述断点位置信息,在目标板中已烧录的目标软件的对应位置设置断点;

42、第二测试单元,用于在仿真硬件环境下,将所述测试用例数据输入至调试电路以生成激励信号;

43、调试电路,用于将所述激励信号发送至所述目标板,以生成对应所述断点的运行时间;

44、评估单元,用于整理所述测试用例数据和所述运行时间,并根据所述运行时间与预设的上限值的比较结果,生成测试报告。

45、通过采用上述技术方案,针对每个工况对应的测试用例数据中目标函数均在测试运行时通过断点来进行记录,从而准确判定出目标函数的运行时间,期间无需工作人员持续进行观测以避免人力计时错乱的问题;并且本案对于目标函数运行时间的测试并不影响正常的嵌入式测试过程,在上一个工况测试完成后,依然可以迅速接入下一个工况对应的测试用例数据来进行测试,简单便捷。

46、综上所述,本技术包括以下至少一种有益技术效果:

47、1.每个工况对应的测试用例数据中目标函数均在测试运行时通过断点来进行记录,从而准确判定出目标函数的运行时间,期间无需工作人员持续进行观测以避免人力计时错乱的问题。

48、2.本案对于目标函数运行时间的测试并不影响正常的嵌入式测试过程,在上一个工况测试完成后,依然可以迅速接入下一个工况对应的测试用例数据来进行测试,从而测试出在各个工况(测试用例数据)下目标函数运行的时间,从而整体比较实际运行时间是否超限。

49、3.本案中采用绘图的方式,将测试用例数据对应的工况数据、目标函数对应的运行时间在时间轴上实现自动化对齐,以图表的形式展现,便于用户更直观的了解各个工况下目标函数的执行时长变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1