CN104199779B - 一种嵌入式模块组合测试的方法及系统 - Google Patents
一种嵌入式模块组合测试的方法及系统 Download PDFInfo
- Publication number
- CN104199779B CN104199779B CN201410493198.1A CN201410493198A CN104199779B CN 104199779 B CN104199779 B CN 104199779B CN 201410493198 A CN201410493198 A CN 201410493198A CN 104199779 B CN104199779 B CN 104199779B
- Authority
- CN
- China
- Prior art keywords
- module
- test
- tested
- combination
- combined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明涉及软件测试领域,尤其是一种嵌入式模块组合测试的方法及系统。其方法最主要的构思是通过将已编号的待测试模块进行全排列组合,再对所有组合进行模块测试,实现以多种不同组合方式在系统高负荷的情况下进行测试,检测模块是否能够正常运行。测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日志。
Description
技术领域
本发明涉及软件测试领域,尤其是一种嵌入式模块组合测试的方法及系统。
背景技术
嵌入式系统由于系统资源存在限制和模块数量多,同时模块在使用系统资源(如串口、USB等)时由于系统资源释放不当等原因导致其他模块无法正常获取并使用系统资源,造成模块无法执行。
例如pinpad、串口及磁卡等模块由于在硬件及系统设计上可能存在共用资源的情况,因此在不同的顺序执行下可能由于前一个模块在处理上没有及时释放资源等问题导致后一个模块无法正常执行。因此测试嵌入式系统需要对各种模块在不同的组合下顺序执行时是否会对其他模块及系统造成影响进行覆盖测试。
发明内容
本发明所要解决的技术问题是:提供一种嵌入式模块组合测试的方法及系统,通过对模块与模块之间或模块与系统之间是否相互影响的检测,实现对模块的合理系统资源配置。
为了解决上述技术问题,本发明采用的技术方案为:
一种嵌入式模块组合测试的方法,包括:
S101、在测试框架设置一个存储错误信息的错误日志;
S102、对所有待测试模块进行全排列组合,获取所述全排列组合;
S103、对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
S104、依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至测试框架;
S105、所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
S106、判断所述测试函数执行所述步骤S105所得组合是否出现错误,若是,则进入步骤S107;若否,则进入步骤S108;
S107、将所述步骤S106所得出现错误的组合信息记录至所述设置的错误日志,进入步骤S109;
S108、判断所述所有全排列组合是否执行完毕,若是,则进入步骤S109;若否,则进入步骤S104;
S109、终止所述测试函数。
本发明采用的另一技术方案为:
一种嵌入式模块组合测试的系统,包括依次连接的设置模块、全排列处理模块、编号模块、第一选取模块、第一测试框架模块、第一判断模块、第二判断模块、存储模块和终止测试模块;
所述设置模块,用于在第一测试框架模块设置一个存储错误信息的错误日志;
所述全排列处理模块,用于对所有待测试模块进行全排列组合,获取所述全排列组合;
所述编号模块,用于对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
所述第一选取模块,用于依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至第一测试框架模块;
所述第一测试框架模块,用于所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
所述第一判断模块,用于判断所述测试函数执行选取模块所得组合是否出现错误;若是,进入存储模块;若否,进入第二判断模块;
所述第二判断模块,用于判断所述所有全排列组合是否执行完毕;若是,进入终止测试模块;若否,返回第一选取模块;
所述存储模块,用于将出现错误的组合信息记录至所述设置的错误日志;
所述终止测试模块,用于终止所述测试函数。
本发明的有益效果在于:测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日志。
附图说明
图1为本发明具体实施方式中嵌入式模块组合测试的方法的流程图;
图2为本发明具体实施方式中嵌入式模块组合测试的系统结构示意图;
标号说明:
10、设置模块;20、全排列处理模块;30、编号模块;40、第一选取模块;50、第一测试框架模块;60、第一判断模块;70、第二判断模块;80、存储模块;90、终止测试模块。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:通过将已编号的待测试模块进行全排列组合,再对所有组合进行模块测试,实现以多种不同组合方式在系统高负荷的情况下进行测试,从而达到测试不同模块的先后调用顺序对系统的影响性的目的。
请参照图1,为本发明具体实施方式中嵌入式模块组合测试的方法的流程图,具体如下:
一种嵌入式模块组合测试的方法,包括:
S101、在测试框架设置一个存储错误信息的错误日志;
S102、对所有待测试模块进行全排列组合,获取所述全排列组合;
S103、对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
S104、依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至测试框架;
S105、所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
S106、判断所述测试函数执行所述步骤S105所得组合是否出现错误,若是,则进入步骤S107;若否,则进入步骤S108;
S107、将所述步骤S106所得出现错误的组合信息记录至所述设置的错误日志,进入步骤S109;
S108、判断所述所有全排列组合是否执行完毕,若是,则进入步骤S109;若否,则进入步骤S104;
S109、终止所述测试函数。
从上述描述可知,本发明的有益效果在于:测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日志。
进一步的,所述测试函数指针是测试函数的编写者获取当前组合信息及进行相应处理的地方,测试框架每执行一种组合则会调用该函数一次。
进一步的,所述步骤S103中“编号”采用从小到大或从大到小的方式进行依次编号。编号可以为自然数0,1,2,……,N(N为待测试模块个数或全排列组合个数)。
由上述描述可知,所述每个待测试模块和所述全排列组合的每个组合的编号均不相同,便于区分。
进一步的,所述步骤S107还包括以下步骤:依次选取所述步骤S105所得组合的一个待测试模块,将所述待测试模块信息发送至测试框架,并执行所述测试框架的测试函数指针所指向的测试函数;判断所述测试函数执行所述待测试模块是否出现错误,若是,将所述待测试模块信息记录至所述预设的错误日志,进入步骤S109;若否,重复此步骤,直至所得组合的每个待测试模块都执行完毕。
由上述描述可知,通过对错误组合的每个待测试模块执行测试函数,可以更加准确的定位具体出现错误的待测试模块。
进一步的,在所述步骤S109之后还包括步骤S110:导出所述设置的错误日志。
进一步的,所述导出错误日志为通过串口通讯方式并配合PC端工具进行导出。
由上述描述可知,通过串口通讯方式并配合PC端工具进行导出错误日志文件,再通过错误日志信息,开发人员可以快速的定位出现错误时调用的底层驱动接口以及接口的返回值和对应的错误信息,节约了重现问题的时间开销,同时将错误日志导出到PC端并保存成文本文件,可以方便的将其作为一种BUG问题的依据提交到BUG管理系统中进行保存。
请参阅图2,为本发明具体实施方式中嵌入式模块组合测试的系统结构示意图,具体如下:
一种嵌入式模块组合测试的系统,包括依次连接的依次连接的设置模块10、全排列处理模块20、编号模块30、第一选取模块40、第一测试框架模块50、第一判断模块60、第二判断模块70、存储模块80和终止测试模块90;
所述设置模块10,用于在第一测试框架模块50设置一个存储错误信息的错误日志;
所述全排列处理模块20,用于对所有待测试模块进行全排列组合,获取所述全排列组合;
所述编号模块30,用于对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
所述第一选取模块40,用于依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至第一测试框架模块50;
所述第一测试框架模块50,用于所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
所述第一判断模块60,用于判断所述测试函数执行选取模块所得组合是否出现错误;若是,进入存储模块80;若否,进入第二判断模块70;
所述第二判断模块70,用于判断所述所有全排列组合是否执行完毕;若是,进入终止测试模块90;若否,返回第一选取模块40;
所述存储模块80,用于将出现错误的组合信息记录至所述设置的错误日志;
所述终止测试模块90,用于终止所述测试函数。
由上述描述可知,测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日志。
进一步的,所述编号模块30为第一编号单元或第二编号单元;
所述第一编号单元,用于将所述全排列组合和每个组合中的所有待测试模块从小到大方式进行编号;
所述第二编号单元,用于将所述全排列组合和每个组合中的所有待测试模块从大到小方式进行编号。
由上述描述可知,所述每个待测试模块和所述全排列组合的每个组合的编号均不相同,便于区分。
进一步的,还包括依次连接的第二选取模块、第二测试框架模块和第三判断模块;
所述第二选取模块,用于依次选取第一选取模块所得组合的一个待测试模块,将所述待测试模块信息发送至第二测试框架模块;
所述第二测试框架模块,用于对第二选取模块选取的待测试模块执行所述测试框架的测试函数指针所指向的测试函数;
所述第三判断模块,用于判断所述测试函数执行所述待测试模块是否出现错误;若是,进入存储模块;若否,返回第二选取模块。
由上述描述可知,通过对错误组合的每个待测试模块执行测试函数,可以更加准确的定位具体出现错误的待测试模块。
进一步的,还包括导出模块,用于导出设置的错误日志。
进一步的,所述导出模块包括串口单元,用于通过串口单元与PC端工具连接配合进行导出。
由上述描述可知,通过串口通讯方式并配合PC端工具进行导出错误日志文件,再通过错误日志信息,开发人员可以快速的定位出现错误时调用的底层驱动接口以及接口的返回值和对应的错误信息,节约了重现问题的时间开销,同时将错误日志导出到PC端并保存成文本文件,可以方便的将其作为一种BUG问题的依据提交到BUG管理系统中进行保存。
综上所述,本发明提供的一种嵌入式模块组合测试的方法及系统,通过将已编号的待测试模块进行全排列组合,再对所有组合进行模块测试,实现以多种不同组合方式在系统高负荷的情况下进行测试,检测模块是否能够正常运行。测试程序的编写者只需要通过简单的对所有待测试模块进行编号就可以完成全组合测试,并将注意力放在每个模块的测试函数的编写上,提高了测试程序的编写效率。通过测试框架可以方便的实现不同模块的全组合测试,可配置性和灵活性较高,并且测试框架会将出错的模块信息和出错时的组合顺序记录至预设的错误日志。所述每个待测试模块和所述全排列组合的每个组合的编号均不相同,便于区分。通过对错误组合的每个待测试模块执行测试函数,可以更加准确的定位具体出现错误的待测试模块。通过串口通讯方式并配合PC端工具进行导出错误日志文件,再通过错误日志信息,开发人员可以快速的定位出现错误时调用的底层驱动接口以及接口的返回值和对应的错误信息,节约了重现问题的时间开销,同时将错误日志导出到PC端并保存成文本文件,可以方便的将其作为一种BUG问题的依据提交到BUG管理系统中进行保存。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种嵌入式模块组合测试的方法,其特征在于,包括步骤:
S101、在测试框架设置一个存储错误信息的错误日志;
S102、对所有待测试模块进行全排列组合,获取所述全排列组合;
S103、对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
S104、依次从所述全排列组合中选取一个组合,并将选取的组合的信息发送至测试框架;
S105、所述测试框架的测试函数指针所指向的测试函数对选取的组合开始执行测试;
S106、判断所述测试函数执行步骤S105所得组合是否出现错误,若是,则进入步骤S107;若否,则进入步骤S108;
S107、将步骤S106所得出现错误的组合信息记录至所述错误日志,依次选取步骤S105所得组合的一个待测试模块,将所述待测试模块信息发送至测试框架,并执行所述测试框架的测试函数指针所指向的测试函数;判断所述测试函数执行所述待测试模块是否出现错误,若是,将所述待测试模块信息记录至所述错误日志,进入步骤S109;若否,重复此步骤,直至所得组合的每个待测试模块都执行完毕;
S108、判断所有全排列组合是否执行完毕,若是,则进入步骤S109;若否,则进入步骤S104;
S109、终止所述测试函数。
2.根据权利要求1所述的嵌入式模块组合测试的方法,其特征在于,步骤S103中编号采用从小到大或从大到小的方式进行依次编号。
3.根据权利要求1所述的嵌入式模块组合测试的方法,其特征在于,在步骤S109之后还包括步骤S110:导出所述错误日志。
4.根据权利要求3所述的嵌入式模块组合测试的方法,其特征在于,导出错误日志为通过串口通讯方式并配合PC端工具进行导出。
5.一种嵌入式模块组合测试的系统,其特征在于,包括依次连接的设置模块、全排列处理模块、编号模块、第一选取模块、第一测试框架模块、第一判断模块、第二判断模块、存储模块和终止测试模块;
所述设置模块,用于在第一测试框架模块设置一个存储错误信息的错误日志;
所述全排列处理模块,用于对所有待测试模块进行全排列组合,获取所述全排列组合;
所述编号模块,用于对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
所述第一选取模块,用于依次从所述全排列组合中选取一个组合,并将所述选取的组合的信息发送至第一测试框架模块;
所述第一测试框架模块,用于所述测试框架的测试函数指针所指向的测试函数对所述选取的组合开始执行测试;
所述第一判断模块,用于判断所述测试函数执行第一选取模块所得组合是否出现错误;若是,进入存储模块;若否,进入第二判断模块;
所述第二判断模块,用于判断所有全排列组合是否执行完毕;若是,进入终止测试模块;若否,返回第一选取模块;
所述存储模块,用于将出现错误的组合信息记录至所述错误日志;
所述终止测试模块,用于终止所述测试函数;
还包括第二选取模块、第二测试框架模块和第三判断模块;
所述第二选取模块,用于依次选取第一选取模块所得组合的一个待测试模块,将所述待测试模块信息发送至第二测试框架模块;
所述第二测试框架模块,用于对第二选取模块选取的待测试模块执行所述测试框架的测试函数指针所指向的测试函数;
所述第三判断模块,用于判断所述测试函数执行所述待测试模块是否出现错误;若是,进入存储模块;若否,返回第二选取模块。
6.根据权利要求5所述的嵌入式模块组合测试的系统,其特征在于,所述编号模块为第一编号单元或第二编号单元;
所述第一编号单元,用于将所述全排列组合和每个组合中的所有待测试模块采用从小到大方式进行编号;
所述第二编号单元,用于将所述全排列组合和每个组合中的所有待测试模块采用从大到小方式进行编号。
7.根据权利要求5所述的嵌入式模块组合测试的系统,其特征在于,还包括导出模块,用于导出设置的错误日志。
8.根据权利要求7所述的嵌入式模块组合测试的系统,其特征在于,所述导出模块包括串口单元,用于通过串口单元与PC端工具连接配合进行导出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410493198.1A CN104199779B (zh) | 2014-09-24 | 2014-09-24 | 一种嵌入式模块组合测试的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410493198.1A CN104199779B (zh) | 2014-09-24 | 2014-09-24 | 一种嵌入式模块组合测试的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104199779A CN104199779A (zh) | 2014-12-10 |
CN104199779B true CN104199779B (zh) | 2017-08-01 |
Family
ID=52085075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410493198.1A Active CN104199779B (zh) | 2014-09-24 | 2014-09-24 | 一种嵌入式模块组合测试的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199779B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572176B (zh) * | 2014-12-18 | 2018-01-09 | 国云科技股份有限公司 | 一种大型软件启动部署检测框架的运行方法 |
WO2019084861A1 (zh) * | 2017-11-02 | 2019-05-09 | 深圳市汇顶科技股份有限公司 | 测试软件的方法和装置 |
CN110727551B (zh) * | 2019-09-20 | 2022-07-19 | 苏州浪潮智能科技有限公司 | 一种随机发散式配置测试方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984416A (zh) * | 2010-11-02 | 2011-03-09 | 中兴通讯股份有限公司 | 一种测试用例的生成方法及装置 |
CN102831061A (zh) * | 2012-08-28 | 2012-12-19 | 盛科网络(苏州)有限公司 | 基于散点的系统测试方法 |
CN103559114A (zh) * | 2013-11-12 | 2014-02-05 | 福建联迪商用设备有限公司 | 嵌入式模块驱动功能测试系统及方法 |
CN104050075A (zh) * | 2013-03-11 | 2014-09-17 | 百度国际科技(深圳)有限公司 | Andriod应用程序的测试方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080052343A1 (en) * | 2006-07-27 | 2008-02-28 | Wood Charles B | Usage-Based Prioritization |
-
2014
- 2014-09-24 CN CN201410493198.1A patent/CN104199779B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984416A (zh) * | 2010-11-02 | 2011-03-09 | 中兴通讯股份有限公司 | 一种测试用例的生成方法及装置 |
CN102831061A (zh) * | 2012-08-28 | 2012-12-19 | 盛科网络(苏州)有限公司 | 基于散点的系统测试方法 |
CN104050075A (zh) * | 2013-03-11 | 2014-09-17 | 百度国际科技(深圳)有限公司 | Andriod应用程序的测试方法和装置 |
CN103559114A (zh) * | 2013-11-12 | 2014-02-05 | 福建联迪商用设备有限公司 | 嵌入式模块驱动功能测试系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104199779A (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105760268B (zh) | 一种片上随机存取存储器内建自测试方法和装置 | |
CN106531654B (zh) | 一种芯片输入引脚测试方法和装置 | |
CN104199779B (zh) | 一种嵌入式模块组合测试的方法及系统 | |
CN104569794B (zh) | 一种基于边界扫描结构的fpga在线测试仪及测试方法 | |
CN103021469A (zh) | 一种存储器电路的通用单粒子效应检测方法 | |
CN104081465A (zh) | 用于存储器电路测试引擎的通用地址加扰器 | |
CN103544122B (zh) | 一种接口自适应匹配的协同系统及其协同方法 | |
CN107515716B (zh) | 看板卡片管理方法、装置、计算机设备和存储介质 | |
CN104216829B (zh) | 一种嵌入式模块并发测试的方法及系统 | |
CN107290650A (zh) | Bist逻辑电路、低功耗芯片、存储器的测试方法及电子设备 | |
CN102592679B (zh) | 一种闪存芯片的测试方法和闪存芯片 | |
CN102024504A (zh) | 一种适于反应堆保护系统的逻辑测试方法及装置 | |
US20130339638A1 (en) | Status polling of memory devices using an independent status bus | |
CN101458758A (zh) | 芯片测试系统及方法 | |
CN101196553A (zh) | 提高soc芯片测试效率的方法 | |
CN107290654A (zh) | 一种fpga逻辑测试结构及方法 | |
CN103809051B (zh) | 开关矩阵、自动测试系统及其中的开关矩阵的检测方法 | |
CN103021467B (zh) | 故障诊断电路 | |
CN115510804A (zh) | 全芯片管脚复用自动化验证方法、装置、设备及存储介质 | |
CN103530166B (zh) | 一种基于虚拟ram的面向多通道芯片的验证平台和验证方法 | |
CN105302679B (zh) | 一种智能终端存储稳定性的检测方法及系统 | |
CN106971757A (zh) | 一种检验Nand Flash质量的方法及系统 | |
CN110413531A (zh) | 实现iomt自动测试方法、装置、计算机设备及存储介质 | |
CN106920577A (zh) | 存储器芯片的检测方法、检测装置和检测系统 | |
CN106251907A (zh) | 内建自测系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |