一种嵌入式模块组合测试的方法及系统的制作方法

文档序号:6628080阅读:146来源:国知局
一种嵌入式模块组合测试的方法及系统的制作方法
【专利摘要】本发明涉及软件测试领域,尤其是一种嵌入式模块组合测试的方法及系统。其方法最主要的构思是通过将已编号的待测试模块进行全排列组合,再对所有组合进行模块测试,实现以多种不同组合方式在系统高负荷的情况下进行测试,检测模块是否能够正常运行。测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日志。
【专利说明】一种嵌入式模块组合测试的方法及系统

【技术领域】
[0001]本发明涉及软件测试领域,尤其是一种嵌入式模块组合测试的方法及系统。

【背景技术】
[0002]嵌入式系统由于系统资源存在限制和模块数量多,同时模块在使用系统资源(如串口、USB等)时由于系统资源释放不当等原因导致其他模块无法正常获取并使用系统资源,造成模块无法执行。
[0003]例如pinpad、串口及磁卡等模块由于在硬件及系统设计上可能存在共用资源的情况,因此在不同的顺序执行下可能由于前一个模块在处理上没有及时释放资源等问题导致后一个模块无法正常执行。因此测试嵌入式系统需要对各种模块在不同的组合下顺序执行时是否会对其他模块及系统造成影响进行覆盖测试。


【发明内容】

[0004]本发明所要解决的技术问题是:提供一种嵌入式模块组合测试的方法及系统,通过对模块与模块之间或模块与系统之间是否相互影响的检测,实现对模块的合理系统资源配置。
[0005]为了解决上述技术问题,本发明采用的技术方案为:
[0006]—种嵌入式模块组合测试的方法,包括:
[0007]S101、在测试框架设置一个存储错误信息的错误日志;
[0008]S102、对所有待测试模块进行全排列组合,获取所述全排列组合;
[0009]S103、对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
[0010]S104、依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至测试框架;
[0011]S105、所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
[0012]S106、判断所述测试函数执行所述步骤S105所得组合是否出现错误,若是,则进入步骤S107 ;若否,则进入步骤S108 ;
[0013]S107、将所述步骤S106所得出现错误的组合信息记录至所述设置的错误日志,进入步骤S109 ;
[0014]S108、判断所述所有全排列组合是否执行完毕,若是,则进入步骤S109 ;若否,则进入步骤S104 ;
[0015]S109、终止所述测试函数。
[0016]本发明米用的另一技术方案为:
[0017]一种嵌入式模块组合测试的系统,包括依次连接的设置模块、全排列处理模块、编号模块、第一选取模块、第一测试框架模块、第一判断模块、第二判断模块、存储模块和终止测试模块;
[0018]所述设置模块,用于在第一测试框架模块设置一个存储错误信息的错误日志;
[0019]所述全排列处理模块,用于对所有待测试模块进行全排列组合,获取所述全排列组合;
[0020]所述编号模块,用于对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
[0021]所述第一选取模块,用于依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至第一测试框架模块;
[0022]所述第一测试框架模块,用于所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
[0023]所述第一判断模块,用于判断所述测试函数执行选取模块所得组合是否出现错误;若是,进入存储模块;若否,进入第二判断模块;
[0024]所述第二判断模块,用于判断所述所有全排列组合是否执行完毕;若是,进入终止测试模块;若否,返回第一选取模块;
[0025]所述存储模块,用于将出现错误的组合信息记录至所述设置的错误日志;
[0026]所述终止测试模块,用于终止所述测试函数。
[0027]本发明的有益效果在于:测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日
O

【专利附图】

【附图说明】
[0028]图1为本发明【具体实施方式】中嵌入式模块组合测试的方法的流程图;
[0029]图2为本发明【具体实施方式】中嵌入式模块组合测试的系统结构示意图;
[0030]标号说明:
[0031]10、设置模块;20、全排列处理模块;30、编号模块;40、第一选取模块;50、第一测试框架模块;60、第一判断模块;70、第二判断模块;80、存储模块;90、终止测试模块。

【具体实施方式】
[0032]为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0033]本发明最关键的构思在于:通过将已编号的待测试模块进行全排列组合,再对所有组合进行模块测试,实现以多种不同组合方式在系统高负荷的情况下进行测试,从而达到测试不同模块的先后调用顺序对系统的影响性的目的。
[0034]请参照图1,为本发明【具体实施方式】中嵌入式模块组合测试的方法的流程图,具体如下:
[0035]一种嵌入式模块组合测试的方法,包括:
[0036]S101、在测试框架设置一个存储错误信息的错误日志;
[0037]S102、对所有待测试模块进行全排列组合,获取所述全排列组合;
[0038]S103、对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
[0039]S104、依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至测试框架;
[0040]S105、所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
[0041]S106、判断所述测试函数执行所述步骤S105所得组合是否出现错误,若是,则进入步骤S107 ;若否,则进入步骤S108 ;
[0042]S107、将所述步骤S106所得出现错误的组合信息记录至所述设置的错误日志,进入步骤S109 ;
[0043]S108、判断所述所有全排列组合是否执行完毕,若是,则进入步骤S109 ;若否,则进入步骤S104 ;
[0044]S109、终止所述测试函数。
[0045]从上述描述可知,本发明的有益效果在于:测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日志。
[0046]进一步的,所述测试函数指针是测试函数的编写者获取当前组合信息及进行相应处理的地方,测试框架每执行一种组合则会调用该函数一次。
[0047]进一步的,所述步骤S103中“编号”采用从小到大或从大到小的方式进行依次编号。编号可以为自然数0,1,2,……,N (N为待测试模块个数或全排列组合个数)。
[0048]由上述描述可知,所述每个待测试模块和所述全排列组合的每个组合的编号均不相同,便于区分。
[0049]进一步的,所述步骤S107还包括以下步骤:依次选取所述步骤S105所得组合的一个待测试模块,将所述待测试模块信息发送至测试框架,并执行所述测试框架的测试函数指针所指向的测试函数;判断所述测试函数执行所述待测试模块是否出现错误,若是,将所述待测试模块信息记录至所述预设的错误日志,进入步骤S109 ;若否,重复此步骤,直至所得组合的每个待测试模块都执行完毕。
[0050]由上述描述可知,通过对错误组合的每个待测试模块执行测试函数,可以更加准确的定位具体出现错误的待测试模块。
[0051]进一步的,在所述步骤S109之后还包括步骤SllO:导出所述设置的错误日志。
[0052]进一步的,所述导出错误日志为通过串口通讯方式并配合PC端工具进行导出。
[0053]由上述描述可知,通过串口通讯方式并配合PC端工具进行导出错误日志文件,再通过错误日志信息,开发人员可以快速的定位出现错误时调用的底层驱动接口以及接口的返回值和对应的错误信息,节约了重现问题的时间开销,同时将错误日志导出到PC端并保存成文本文件,可以方便的将其作为一种BUG问题的依据提交到BUG管理系统中进行保存。
[0054]请参阅图2,为本发明【具体实施方式】中嵌入式模块组合测试的系统结构示意图,具体如下:
[0055]一种嵌入式模块组合测试的系统,包括依次连接的依次连接的设置模块10、全排列处理模块20、编号模块30、第一选取模块40、第一测试框架模块50、第一判断模块60、第二判断模块70、存储模块80和终止测试模块90 ;
[0056]所述设置模块10,用于在第一测试框架模块50设置一个存储错误信息的错误日志;
[0057]所述全排列处理模块20,用于对所有待测试模块进行全排列组合,获取所述全排列组合;
[0058]所述编号模块30,用于对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
[0059]所述第一选取模块40,用于依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至第一测试框架模块50 ;
[0060]所述第一测试框架模块50,用于所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
[0061]所述第一判断模块60,用于判断所述测试函数执行选取模块所得组合是否出现错误;若是,进入存储模块80 ;若否,进入第二判断模块70 ;
[0062]所述第二判断模块70,用于判断所述所有全排列组合是否执行完毕;若是,进入终止测试模块90 ;若否,返回第一选取模块40 ;
[0063]所述存储模块80,用于将出现错误的组合信息记录至所述设置的错误日志;
[0064]所述终止测试模块90,用于终止所述测试函数。
[0065]由上述描述可知,测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日志。
[0066]进一步的,所述编号模块30为第一编号单元或第二编号单元;
[0067]所述第一编号单元,用于将所述全排列组合和每个组合中的所有待测试模块从小到大方式进行编号;
[0068]所述第二编号单元,用于将所述全排列组合和每个组合中的所有待测试模块从大到小方式进行编号。
[0069]由上述描述可知,所述每个待测试模块和所述全排列组合的每个组合的编号均不相同,便于区分。
[0070]进一步的,还包括依次连接的第二选取模块、第二测试框架模块和第三判断模块;
[0071]所述第二选取模块,用于依次选取第一选取模块所得组合的一个待测试模块,将所述待测试模块信息发送至第二测试框架模块;
[0072]所述第二测试框架模块,用于对第二选取模块选取的待测试模块执行所述测试框架的测试函数指针所指向的测试函数;
[0073]所述第三判断模块,用于判断所述测试函数执行所述待测试模块是否出现错误;若是,进入存储模块;若否,返回第二选取模块。
[0074]由上述描述可知,通过对错误组合的每个待测试模块执行测试函数,可以更加准确的定位具体出现错误的待测试模块。
[0075]进一步的,还包括导出模块,用于导出设置的错误日志。
[0076]进一步的,所述导出模块包括串口单元,用于通过串口单元与PC端工具连接配合进行导出。
[0077]由上述描述可知,通过串口通讯方式并配合PC端工具进行导出错误日志文件,再通过错误日志信息,开发人员可以快速的定位出现错误时调用的底层驱动接口以及接口的返回值和对应的错误信息,节约了重现问题的时间开销,同时将错误日志导出到PC端并保存成文本文件,可以方便的将其作为一种BUG问题的依据提交到BUG管理系统中进行保存。
[0078]综上所述,本发明提供的一种嵌入式模块组合测试的方法及系统,通过将已编号的待测试模块进行全排列组合,再对所有组合进行模块测试,实现以多种不同组合方式在系统高负荷的情况下进行测试,检测模块是否能够正常运行。测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日志。所述每个待测试模块和所述全排列组合的每个组合的编号均不相同,便于区分。通过对错误组合的每个待测试模块执行测试函数,可以更加准确的定位具体出现错误的待测试模块。通过串口通讯方式并配合PC端工具进行导出错误日志文件,再通过错误日志信息,开发人员可以快速的定位出现错误时调用的底层驱动接口以及接口的返回值和对应的错误信息,节约了重现问题的时间开销,同时将错误日志导出到PC端并保存成文本文件,可以方便的将其作为一种BUG问题的依据提交到BUG管理系统中进行保存。
[0079]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种嵌入式模块组合测试的方法,其特征在于,包括: 5101、在测试框架设置一个存储错误信息的错误日志; 5102、对所有待测试模块进行全排列组合,获取所述全排列组合; 5103、对所述全排列组合和每个组合中的所有待测试模块进行依次编号; 5104、依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至测试框架; 5105、所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试; 5106、判断所述测试函数执行所述步骤S105所得组合是否出现错误,若是,则进入步骤S107 ;若否,则进入步骤S108 ; 5107、将所述步骤S106所得出现错误的组合信息记录至所述设置的错误日志,进入步骤 S109 ; 5108、判断所述所有全排列组合是否执行完毕,若是,则进入步骤S109;若否,则进入步骤S104 ; 5109、终止所述测试函数。
2.根据权利要求1所述的嵌入式模块组合测试的方法,其特征在于,所述步骤S103中“编号”采用从小到大或从大到小的方式进行依次编号。
3.根据权利要求1所述的嵌入式模块组合测试的方法,其特征在于,所述步骤S107还包括以下步骤: 依次选取所述步骤S105所得组合的一个待测试模块,将所述待测试模块信息发送至测试框架,并执行所述测试框架的测试函数指针所指向的测试函数;判断所述测试函数执行所述待测试模块是否出现错误,若是,将所述待测试模块信息记录至所述预设的错误日志,进入步骤S109 ;若否,重复此步骤,直至所得组合的每个待测试模块都执行完毕。
4.根据权利要求1所述的嵌入式模块组合测试的方法,其特征在于,在所述步骤S109之后还包括步骤SllO:导出所述设置的错误日志。
5.根据权利要求4所述的嵌入式模块组合测试的方法,其特征在于,所述导出错误日志为通过串口通讯方式并配合PC端工具进行导出。
6.一种嵌入式模块组合测试的系统,其特征在于,包括依次连接的设置模块、全排列处理模块、编号模块、第一选取模块、第一测试框架模块、第一判断模块、第二判断模块、存储模块和终止测试模块; 所述设置模块,用于在第一测试框架模块设置一个存储错误信息的错误日志; 所述全排列处理模块,用于对所有待测试模块进行全排列组合,获取所述全排列组合; 所述编号模块,用于对所述全排列组合和每个组合中的所有待测试模块进行依次编号; 所述第一选取模块,用于依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至第一测试框架模块; 所述第一测试框架模块,用于所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试; 所述第一判断模块,用于判断所述测试函数执行选取模块所得组合是否出现错误;若是,进入存储模块;若否,进入第二判断模块; 所述第二判断模块,用于判断所述所有全排列组合是否执行完毕;若是,进入终止测试模块;若否,返回第一选取模块; 所述存储模块,用于将出现错误的组合信息记录至所述设置的错误日志; 所述终止测试模块,用于终止所述测试函数。
7.根据权利要求6所述的嵌入式模块组合测试的系统,其特征在于,所述编号模块为第一编号单元或第二编号单元; 所述第一编号单元,用于将所述全排列组合和每个组合中的所有待测试模块从小到大方式进行编号; 所述第二编号单元,用于将所述全排列组合和每个组合中的所有待测试模块从大到小方式进行编号。
8.根据权利要求6所述的嵌入式模块组合测试的系统,其特征在于,还包括依次连接的第二选取模块、第二测试框架模块和第三判断模块; 所述第二选取模块,用于依次选取第一选取模块所得组合的一个待测试模块,将所述待测试模块信息发送至第二测试框架模块; 所述第二测试框架模块,用于对第二选取模块选取的待测试模块执行所述测试框架的测试函数指针所指向的测试函数; 所述第三判断模块,用于判断所述测试函数执行所述待测试模块是否出现错误;若是,进入存储模块;若否,返回第二选取模块。
9.根据权利要求6所述的嵌入式模块组合测试的系统,其特征在于,还包括导出模块,用于导出设置的错误日志。
10.根据权利要求9所述的嵌入式模块组合测试的系统,其特征在于,所述导出模块包括串口单元,用于通过串口单元与PC端工具连接配合进行导出。
【文档编号】G06F11/36GK104199779SQ201410493198
【公开日】2014年12月10日 申请日期:2014年9月24日 优先权日:2014年9月24日
【发明者】林伟, 林晋安 申请人:福建联迪商用设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1