CN104199779A - 一种嵌入式模块组合测试的方法及系统 - Google Patents

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

Info

Publication number
CN104199779A
CN104199779A CN201410493198.1A CN201410493198A CN104199779A CN 104199779 A CN104199779 A CN 104199779A CN 201410493198 A CN201410493198 A CN 201410493198A CN 104199779 A CN104199779 A CN 104199779A
Authority
CN
China
Prior art keywords
module
combination
test
tested
trial function
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.)
Granted
Application number
CN201410493198.1A
Other languages
English (en)
Other versions
CN104199779B (zh
Inventor
林伟
林晋安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Landi Commercial Equipment Co Ltd
Original Assignee
Fujian Landi Commercial Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Landi Commercial Equipment Co Ltd filed Critical Fujian Landi Commercial Equipment Co Ltd
Priority to CN201410493198.1A priority Critical patent/CN104199779B/zh
Publication of CN104199779A publication Critical patent/CN104199779A/zh
Application granted granted Critical
Publication of CN104199779B publication Critical patent/CN104199779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

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 (10)

1.一种嵌入式模块组合测试的方法,其特征在于,包括:
S101、在测试框架设置一个存储错误信息的错误日志;
S102、对所有待测试模块进行全排列组合,获取所述全排列组合;
S103、对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
S104、依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至测试框架;
S105、所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
S106、判断所述测试函数执行所述步骤S105所得组合是否出现错误,若是,则进入步骤S107;若否,则进入步骤S108;
S107、将所述步骤S106所得出现错误的组合信息记录至所述设置的错误日志,进入步骤S109;
S108、判断所述所有全排列组合是否执行完毕,若是,则进入步骤S109;若否,则进入步骤S104;
S109、终止所述测试函数。
2.根据权利要求1所述的嵌入式模块组合测试的方法,其特征在于,所述步骤S103中“编号”采用从小到大或从大到小的方式进行依次编号。
3.根据权利要求1所述的嵌入式模块组合测试的方法,其特征在于,所述步骤S107还包括以下步骤:
依次选取所述步骤S105所得组合的一个待测试模块,将所述待测试模块信息发送至测试框架,并执行所述测试框架的测试函数指针所指向的测试函数;判断所述测试函数执行所述待测试模块是否出现错误,若是,将所述待测试模块信息记录至所述预设的错误日志,进入步骤S109;若否,重复此步骤,直至所得组合的每个待测试模块都执行完毕。
4.根据权利要求1所述的嵌入式模块组合测试的方法,其特征在于,在所述步骤S109之后还包括步骤S110:导出所述设置的错误日志。
5.根据权利要求4所述的嵌入式模块组合测试的方法,其特征在于,所述导出错误日志为通过串口通讯方式并配合PC端工具进行导出。
6.一种嵌入式模块组合测试的系统,其特征在于,包括依次连接的设置模块、全排列处理模块、编号模块、第一选取模块、第一测试框架模块、第一判断模块、第二判断模块、存储模块和终止测试模块;
所述设置模块,用于在第一测试框架模块设置一个存储错误信息的错误日志;
所述全排列处理模块,用于对所有待测试模块进行全排列组合,获取所述全排列组合;
所述编号模块,用于对所述全排列组合和每个组合中的所有待测试模块进行依次编号;
所述第一选取模块,用于依次从所述全排列组合中选取一个组合,并将所述组合的信息发送至第一测试框架模块;
所述第一测试框架模块,用于所述测试框架的测试函数指针所指向的测试函数对所述组合开始执行测试;
所述第一判断模块,用于判断所述测试函数执行选取模块所得组合是否出现错误;若是,进入存储模块;若否,进入第二判断模块;
所述第二判断模块,用于判断所述所有全排列组合是否执行完毕;若是,进入终止测试模块;若否,返回第一选取模块;
所述存储模块,用于将出现错误的组合信息记录至所述设置的错误日志;
所述终止测试模块,用于终止所述测试函数。
7.根据权利要求6所述的嵌入式模块组合测试的系统,其特征在于,所述编号模块为第一编号单元或第二编号单元;
所述第一编号单元,用于将所述全排列组合和每个组合中的所有待测试模块从小到大方式进行编号;
所述第二编号单元,用于将所述全排列组合和每个组合中的所有待测试模块从大到小方式进行编号。
8.根据权利要求6所述的嵌入式模块组合测试的系统,其特征在于,还包括依次连接的第二选取模块、第二测试框架模块和第三判断模块;
所述第二选取模块,用于依次选取第一选取模块所得组合的一个待测试模块,将所述待测试模块信息发送至第二测试框架模块;
所述第二测试框架模块,用于对第二选取模块选取的待测试模块执行所述测试框架的测试函数指针所指向的测试函数;
所述第三判断模块,用于判断所述测试函数执行所述待测试模块是否出现错误;若是,进入存储模块;若否,返回第二选取模块。
9.根据权利要求6所述的嵌入式模块组合测试的系统,其特征在于,还包括导出模块,用于导出设置的错误日志。
10.根据权利要求9所述的嵌入式模块组合测试的系统,其特征在于,所述导出模块包括串口单元,用于通过串口单元与PC端工具连接配合进行导出。
CN201410493198.1A 2014-09-24 2014-09-24 一种嵌入式模块组合测试的方法及系统 Active CN104199779B (zh)

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 true CN104199779A (zh) 2014-12-10
CN104199779B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572176A (zh) * 2014-12-18 2015-04-29 国云科技股份有限公司 一种大型软件启动部署检测框架及其运行方法
WO2019084861A1 (zh) * 2017-11-02 2019-05-09 深圳市汇顶科技股份有限公司 测试软件的方法和装置
CN110727551A (zh) * 2019-09-20 2020-01-24 苏州浪潮智能科技有限公司 一种随机发散式配置测试方法、系统及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052343A1 (en) * 2006-07-27 2008-02-28 Wood Charles B Usage-Based Prioritization
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应用程序的测试方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052343A1 (en) * 2006-07-27 2008-02-28 Wood Charles B Usage-Based Prioritization
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 福建联迪商用设备有限公司 嵌入式模块驱动功能测试系统及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572176A (zh) * 2014-12-18 2015-04-29 国云科技股份有限公司 一种大型软件启动部署检测框架及其运行方法
CN104572176B (zh) * 2014-12-18 2018-01-09 国云科技股份有限公司 一种大型软件启动部署检测框架的运行方法
WO2019084861A1 (zh) * 2017-11-02 2019-05-09 深圳市汇顶科技股份有限公司 测试软件的方法和装置
CN110727551A (zh) * 2019-09-20 2020-01-24 苏州浪潮智能科技有限公司 一种随机发散式配置测试方法、系统及存储介质
CN110727551B (zh) * 2019-09-20 2022-07-19 苏州浪潮智能科技有限公司 一种随机发散式配置测试方法、系统及存储介质

Also Published As

Publication number Publication date
CN104199779B (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
CN106294222A (zh) 一种确定pcie设备与插槽对应关系的方法及装置
CN105760268B (zh) 一种片上随机存取存储器内建自测试方法和装置
CN102662846A (zh) 一种自动化工具与测试用例结合的测试方法
US10354031B2 (en) Information processing by interpenetrating signal transmission channel in design for testability of chip
CN112732636B (zh) 基于多fpga的芯片原型验证系统的配置方法、装置和设备
CN103034575B (zh) 崩溃分析方法和装置
US20130263095A1 (en) Controlling asynchronous call return
CN105548790B (zh) 一种USB3.1 Type-C线缆自动测试方法及系统
CN104246521A (zh) 智能变电站继电保护功能自动测试的方法及装置
CN103412817B (zh) 自动化测试脚本脱机调试方法及系统
CN101727390A (zh) 一种性能测试脚本的调试方法和装置
CN102063355B (zh) 一种磁盘阵列的自动化测试服务器及系统
CN104199779A (zh) 一种嵌入式模块组合测试的方法及系统
CN102831058B (zh) 一种测试方法和装置
CN104216829B (zh) 一种嵌入式模块并发测试的方法及系统
CN102929755A (zh) 一种cpu模块地址和数据总线的故障检测方法
CN105448348A (zh) 一种芯片修复方法和装置
CN101303708A (zh) 一种芯片引脚复用的代码编码的方法及装置
CN102262582A (zh) 移动终端及其内存泄露检测方法
CN103809051B (zh) 开关矩阵、自动测试系统及其中的开关矩阵的检测方法
CN105446856A (zh) 电子设备接口的检测方法、装置
CN105117332A (zh) 一种栈溢出位置的检测方法
CN103294837B (zh) 一种集成电路的验证调试方法及系统
CN104834586A (zh) 安卓界面自动化测试方法、装置及系统
CN103425558B (zh) 一种基于测试配置表实现板卡io口测试的方法

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