[发明专利]一种基于源代码打桩的嵌入式软件动态测试方法有效
申请号: | 201910976889.X | 申请日: | 2019-10-15 |
公开(公告)号: | CN110837466B | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 唐文;廖蓉晖;许志强;龚萍;卿昱;李鉴;康敏 | 申请(专利权)人: | 中国电子科技集团公司第三十研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 邓世燕 |
地址: | 610000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 源代码 打桩 嵌入式 软件 动态 测试 方法 | ||
本发明公开了一种基于源代码打桩的嵌入式软件动态测试方法,在原嵌入式软件源代码的基础上,增加一个测试代理模块,由测试代理分布在原嵌入式软件源代码的底层数据收发接口的桩函数提供数据采集与控制机制,并提供与计算机测试服务器软件串口通信机制,实现计算机测试服务器软件控制嵌入式软件开展自动化测试功能,能够解决上述被测软件与实际运行环境差异大的问题,真实模拟用户行为,实现嵌入式软件的自动化动态测试。
技术领域
本发明涉及一种基于源代码打桩的嵌入式软件动态测试方法。
背景技术
随着嵌入式软硬件技术的发展,各种各样消费电子产品如智能手机、平板等使用该技术以实现各种复杂的功能,嵌入式软件代码规模越来越庞大,功能日益复杂。为了提高嵌入式软件的稳定性与可靠性,在软件开发和测试阶段,需要做大量的测试工作,寻找软件潜在的问题。测试工作在嵌入式设备研制过程中将占用大量的时间,为了提高测试工作效率,减少简单重复的人工测试操作,引入嵌入式自动测试工具,借助第三方测试平台或自行开发的配套测试措施对嵌入式软件进行测试。
目前通用的嵌入式软件自动化测试工具的工作原理如图1所示。自动化测试工具使用源程序编译环境提供的编译命令对代码进行预处理,对源代码的宏定义和注释等进行处理。在词法语法分析阶段,主要对源代码中的语法关键字进行识别,为插桩做准备。
根据用户的测试用例和覆盖率类型在源代码的某些地方插入桩点函数。插桩完成后,调用源代码项目所使用的集成开发环境提供的命令行编译指令,对插桩后的源代码文件进行编译,生成可执行的目标代码,下载到目标机或仿真器中运行。
插桩后的程序在运行到桩点位置,通过串口、网口、IO系统发送或记录桩点信息。测试工具所在的计算机收集这些桩点信息,程序执行完成后,对桩点信息进行分析,最终根据用户的文档格式要求生成测试报告。
因此,通用的嵌入式软件自动化测试工具存在以下问题:
1)纯软件的自动化测试工具,在插桩上和预处理上使待测系统的源代码量增大,在IO、内存、CPU资源比较缺乏的嵌入式系统中运行,这些额外的代码增加了系统的负担,甚至造成链接失败或运行失败,用户程序运行的环境与实际环境有所差别,不能做某个函数的性能分析,只能做基于模块或单元覆盖率测试。通过编译器的词法/语法分析产生的桩点信息较多,导致最后生成的嵌入式程序体积增大,系统性能降低,使得被测试软件与实际运行环境存在较大差异;
2)对于有用户操作界面的嵌入式软件,如何有效真实的模拟用户行为是通用嵌入式软件自动化测试工具实施的难点。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种基于源代码打桩的嵌入式软件动态测试方法,在原嵌入式软件源代码的基础上,增加一个测试代理模块,由测试代理分布在原嵌入式软件源代码的底层数据收发接口的桩函数提供数据采集与控制机制,并提供与计算机测试服务器软件串口通信机制,实现计算机测试服务器软件控制嵌入式软件开展自动化测试功能,能够解决上述被测软件与实际运行环境差异大的问题,真实模拟用户行为,实现嵌入式软件的自动化动态测试。
本发明解决其技术问题所采用的技术方案是:一种基于源代码打桩的嵌入式软件动态测试方法,在被测嵌入式终端设备的软件源代码中增加一个测试代理模块,所述测试代理模块在外设驱动的数据收发接口函数入口处设置参数采集函数和桩函数,用于修改硬件平台提供的数据或中断事件或采集应用程序发向硬件平台的数据及控制信号;所述测试代理模块通过硬件平台及外设驱动提供的串口通信方式实现与计算机测试服务器软件通信,接收测试服务器的用户行为仿真命令,发送测试数据给测试服务器;所述测试服务器根据被测嵌入式终端设备的功能与对外通信协议流程进行测试用例设计与开发,分析协议流程及终端界面显示是否正确,形成测试记录供用户查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十研究所,未经中国电子科技集团公司第三十研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910976889.X/2.html,转载请声明来源钻瓜专利网。