[发明专利]一种嵌入式系统软件的动态测试方法无效
申请号: | 200910256475.6 | 申请日: | 2009-12-29 |
公开(公告)号: | CN101727393A | 公开(公告)日: | 2010-06-09 |
发明(设计)人: | 曹正武 | 申请(专利权)人: | 青岛海信宽带多媒体技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 青岛联智专利商标事务所有限公司 37101 | 代理人: | 李升娟 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统软件 动态 测试 方法 | ||
技术领域
本发明涉及一种软件的测试方法,具体地说,是涉及一种对嵌入式系统软件进行动态测试的方法,属于软件测试技术领域。
背景技术
目前,嵌入式设计已经成为工业现代化、智能化的必经之路,嵌入式产品已经深入到各行各业。由于嵌入式系统的专用程度较高,系统的整体继承性相对较小,为了保证系统的稳定性,嵌入式系统软件的测试成为嵌入式开发的一个重要环节,也是软件从开发过程到应用过程的关键环节。软件测试方法根据是否需要运行目标代码,可分为静态测试和动态测试两种。静态测试不运行目标程序代码,主要包括代码检查、静态结构分析、代码质量度量及文档测试等。动态测试是通过运行被测程序,检查运行结果与预期结果的差异,并分析软件运行效率及健壮性等性能。
随着嵌入式平台软硬件的高速发展,嵌入式平台的测试工具和测试方法也越来越先进,越来越完善。但由于嵌入式系统的特殊性,无法应用在PC平台上比较成熟的“录制-回放”的自动化测试方法对嵌入式系统软件进行动态测试。目前,嵌入式系统软件的动态测试主要采用两种方法:
第一,采用PC软件和配套的硬件平台(如仿真器)与目标平台进行交互,实现对嵌入式系统软件的动态测试。采用仿真器等硬件平台进行测试,可以单步执行被测程序,不仅效率较高,且自动化程度也较高。但其缺点是:一方面,需要购买专用的测试硬件平台,价格昂贵,成本较高;另一方面,测试硬件平台是针对特定目标平台开发设计的,其通用性较差。有些目标嵌入式平台未开发专用测试硬件平台,则无法采用该方法进行软件的动态测试。
第二,采用纯黑盒测试方法,由测试人员手动操作进行测试。该方法本身不存在软件测试模块,完全由人工进行操作,因此,对软件的健壮性能测试效果较差,也不能快速确定软件的稳定性,导致测试速度慢、效率低、且不能实现自动测试。
发明内容
本发明针对现有技术中嵌入式系统软件动态测试存在的上述缺点和不足,提供了一种嵌入式系统软件的动态测试方法,通过在被测程序中嵌入测试模块,在被测程序运行过程中自动调用测试模块对被测程序进行动态测试,在不需要专用硬件测试平台的情况下实现了软件的自动化动态测试。
为解决上述技术问题,本发明采用以下技术方案予以实现:
一种嵌入式系统软件的动态测试方法,包括需进行动态测试的被测程序;在所述被测程序中设置有对被测程序进行动态测试的测试模块,在被测程序运行过程中调用所述测试模块,实现对所述被测程序的动态测试。
根据本发明,所述测试模块可实现对被测程序执行速度方面的性能测试,具体实现方法为:所述测试模块设置有测试用例执行单元和测试用例存储单元;在被测程序运行过程中调用所述测试用例执行单元时,所述测试用例执行单元首先从所述测试用例存储单元中获取测试用例,然后获取被测程序的当前活动窗口,并将所获取的测试用例输出至所述被测程序的当前活动窗口中。
根据本发明,为提高测试用例的通用性,所述测试用例存储单元中的测试用例为格式化测试用例;所述测试用例执行单元从所述测试用例存储单元中获取测试用例后,先对测试用例进行解析,然后再将解析后的测试用例输出至所述被测程序的当前活动窗口中。
根据本发明,所述测试用例执行单元可采用下述方法获取被测程序的当前活动窗口:通过调用所述被测程序的相关模块入口函数,获取与测试用例相对应的被测程序界面,并将所获取的被测程序界面设置为当前活动窗口。
根据本发明,所述测试模块可实现对被测程序健壮性能的测试,具体实现方法为:所述测试模块设置有模拟按键执行单元及模拟按键存储单元;在被测程序运行过程中调用所述模拟按键执行单元时,所述模拟按键执行单元从所述模拟按键存储单元中获取模拟按键值,并将所获取的模拟按键值输出至嵌入式系统的底层按键处理模块,以供所述被测程序调用。
根据本发明,为实现对被测程序的随机操作测试,所述模拟按键执行单元按照下述方法从所述模拟按键存储单元中获取模拟按键值:
模拟按键执行单元产生随机数;
计算所述随机数对所述模拟按键存储单元中存储的模拟按键总数的模值;
根据所述模值从所述模拟按键存储单元中获取相应的模拟按键值。
根据本发明,所述测试模块以楔子的形式嵌入在所述被测程序中,便于被测程序对测试模块的调用。
与现有技术相比,本发明的优点和积极效果是:
1、通过在被测程序中设置测试模块,可以在被测程序执行过程中自动调用所述测试模块对被测程序进行自动测试,提高了嵌入式系统软件动态测试的自动化程度,提高了测试效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信宽带多媒体技术有限公司,未经青岛海信宽带多媒体技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910256475.6/2.html,转载请声明来源钻瓜专利网。