CN100549976C - 嵌入式软件自动测试系统及其测试方法 - Google Patents

嵌入式软件自动测试系统及其测试方法 Download PDF

Info

Publication number
CN100549976C
CN100549976C CNB2006101269665A CN200610126966A CN100549976C CN 100549976 C CN100549976 C CN 100549976C CN B2006101269665 A CNB2006101269665 A CN B2006101269665A CN 200610126966 A CN200610126966 A CN 200610126966A CN 100549976 C CN100549976 C CN 100549976C
Authority
CN
China
Prior art keywords
rule
file
software
register
address
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
Application number
CNB2006101269665A
Other languages
English (en)
Other versions
CN101145126A (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.)
State Grid Shanghai Electric Power Co Ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB2006101269665A priority Critical patent/CN100549976C/zh
Publication of CN101145126A publication Critical patent/CN101145126A/zh
Application granted granted Critical
Publication of CN100549976C publication Critical patent/CN100549976C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种嵌入式软件自动测试系统,包括:待测试软件模块,用于存放待测试软件;打桩文件模块,用于存放打桩文件,所述打桩文件记录了CPU操作了的寄存器的值;规则生成组件,用于生成对寄存器操作的规则文件,并将该规则文件存放在规则文件模块中,规则文件包含有至少一条规则,规则是对寄存器的独立的子操作;监控组件,在待测软件运行之前,先解析出打桩文件中的值与地址的对应关系,待测软件在运行的过程中,监控组件实时载入规则文件,并进行解析,判断打桩文件里面的信息是否通过了规则,并输出是否通过的信息。本发明还公开了一种嵌入式软件自动测试方法。

Description

嵌入式软件自动测试系统及其测试方法
技术领域
本发明涉及一种嵌入式软件测试技术,具体说,涉及一种嵌入式软件自动测试系统及其测试方法。
背景技术
在嵌入式开发领域,大量的软件的开发与硬件的联系是很紧密的,在通常的开发模式下,只有等硬件的设计完成之后,软件架于硬件之上,才能对它进行功能以及可靠性的测试。怎样使软件脱离硬件进行功能的测试,变得日益重要。
嵌入式软件的组成结构一般都是CPU加外围电路及芯片的方式,而对这些硬件的操作,体现为对整个CPU地址空间内的一些寄存器的操作。现有方法是通常是将这些操作写入了桩文件,对功能的验证要人工去查看桩文件进行验证,这样是繁琐且不可记录的。
发明内容
本发明所解决的技术问题是提供一种嵌入式软件自动测试系统,将嵌入式软件的功能转化为寄存器的操作,以文件的形式管理起来,通过监控组件对桩文件实时监控,实现待测软件的功能验证。
技术方案如下:
嵌入式软件自动测试系统包括:
待测试软件模块,用于存放待测试软件;
打桩文件模块,用于存放桩文件,所述桩文件记录了CPU操作了的寄存器的值;
规则生成组件,用于生成对寄存器操作的规则文件,并将该规则文件存放在规则文件模块中,每一个规则文件描述了嵌入式软件的单个功能要求,所述规则文件包含有至少一条规则,所述规则是对寄存器的独立的子操作;
监控组件,在待测软件运行之前,先解析出桩文件中的值与地址的对应关系,待测软件在运行的过程中,监控组件实时载入规则文件,并进行解析,判断桩文件里面的信息是否通过规则,并输出是否通过的信息。
优选的,所述规则的内容包括:对寄存器进行值的设置、对寄存器的特定位进行设置或者对寄存器的连续位进行模式变化。
优选的,所述监控组件中,如果桩文件里面的信息没有通过规则,输出相关的寄存器的值在初始与当前的变化情况。
优选的,规则的存储方式为:子操作类型+起始地址+终止地址+[是否进行位操作]+[起始位]+[终止位]+操作模式;其中,子操作类型用于设置规则的类型,多地址的操作与单地址在格式上保持统一,操作模式包含位移、反转以及自定义的操作,起始位和终止位字段在进行位操作时存在。
本发明所解决的另外一个技术问题是提供一种嵌入式软件自动测试方法,通过监控组件对桩文件实时的监控,实现待测软件的功能验证。
技术方案如下:
嵌入式软件自动测试方法步骤如下:
(1)分析待测试软件的功能,规则生成组件将功能生成规则,并保存为规则文件,每一个规则文件描述了嵌入式软件的单个功能要求,所述规则文件包含有至少一条规则,所述规则是对寄存器的独立的子操作;监控组件在待测软件运行之前,先解析出桩文件中的值与地址的对应关系;
(2)运行待测试的软件,实时操作桩文件;
(3)打开监控组件,指定桩文件;
(4)所述待测软件在运行的过程中,所述监控组件依次载入相应的规则文件,并进行解析,判断桩文件里面的信息是否通过规则,对待测试软件的程序进行实时的监控,并输出是否通过的信息。
进一步,步骤(2)中,所述桩文件中记录有操作了的所有寄存器的值,格式是以“地址=值”的方式。
进一步,步骤(4)中,根据监控组件反馈的未通过的规则的信息,对待测试软件的代码进行的修改,直到最后通过所有的规则。
进一步,步骤(4)具体为:
(41)指定一条新的规则文件;
(42)监控组件监控指定的规则文件;
(43)当指定的规则文件通过,则监控组件指定下一条规则文件进行监控,直到待测试软件中的规则文件全部通过测试;当指定的规则文件中的规则没有通过,则停止监控,修改待测试程序,并对修改后的规则文件继续进行监控。
进一步,步骤(43)具体为:
(431)监控组件判断指定规则文件中的规则是否全部通过;通过,执行步骤(432),否则,停止监控,修改待测试程序,执行步骤(42)。
(432)当指定的规则文件中的规则全部通过,判断待测试软件的规则文件是否全部通过,当全部通过,测试完毕;当规则文件没有全部通过,执行步骤(41)。
进一步,规则的存储方式为:子操作类型+起始地址+终止地址+[是否进行位操作]+[起始位]+[终止位]+操作模式;其中,子操作类型用于设置规则的类型,多地址的操作与单地址在格式上保持统一,操作模式包含位移、反转以及自定义的操作,起始位和终止位字段在进行位操作时存在。
有益效果如下:
1、将待测人员对桩文件的验证工作用监控组件完全替代,减少了工作量。
2、本方法将独立的功能分解为多条规则,并存为一个规则文件,可实现软件的每个功能的独立测试。
3、本方法由于保存了所有的规则文件,可与需求一一对应起来,所以在软件做出更改之后,方便回归测试。
附图说明
图1是嵌入式软件自动测试系统的结构示意图;
图2是嵌入式软件自动测试方法的流程图。
具体实施方式
整个方案的实施的前提是嵌入式软件对底层的操作已经作用在桩文件之上。规则生成组件能生成出一系列对寄存器操作的规则文件,其中每一个规则文件描述了嵌入式软件的单个功能要求。而每一个规则文件又包含了多条规则,每一条规则是对寄存器的独立的子操作。
规则(Rule)的分类有如下几种:
(1)对一定范围内的寄存器进行值的设置。
(2)对一定范围内寄存器的特定位进行设置。
(3)对一定寄存器的连续位进行模式变化,比如,向左或向右的位移、位反转以及特定的模式操作等。
所有类型的寄存器操作都可分解为上述的子操作。
监控组件在待测软件运行之前,先解析出桩文件中的值与地址的对应关系,待测软件在运行的过程中,监控组件实时载入规则文件,并进行解析,判断桩文件里面的信息是否通过了这些规则。每隔一段时间对每一条规则进行判断,并输出是否通过的信息,如果没有通过,还需输出相关的寄存器的值在初始与现在的变化情况,用户更改待测软件的功能,直到最终完全通过规则。
在做传输设备的过程中,单板上运行的都是MPC的嵌入式软件。我们实现了将嵌入式软件的代码移植到PC上,并在PC上进行功能测试与调试。
将驱动层对寄存器的读写操作的信息替换为对桩文件的操作。该桩文件中记录了操作了的所有寄存器的值,格式是以“地址=值”的方式。
在windows的环境下,实现规则生成组件,这个组件提供了UI接口,可让用户编辑出一系列规则,并将它们生成规则文件。
为了方便监控组件能方便地解析规则文件的信息,每一条规则采用如下的方式存储:
子操作类型+起始地址+终止地址+[是否进行位操作]+[起始位]+[终止位]+设置值(或操作模式)。
这样设计有如下特点:
(1)其中“子操作类型”的格式用来解析规则文件,简化了处理。
(2)多地址的操作与单地址在格式上保持统一。
(3)操作模式包含了位移、反转以及自定义的操作。
(4)“起始位”和“终止位”字段只有在进行位操作时才存在。
例如,可以有如下的规则:
SETVALUE 0x19be-0x19be=0xff
SETVALUE 0x19e7-0x19e8=0xe
OPERBIT 0x19e7-0x19e8BIT 0x1-0x3=SET
SETBIT 0x19e7-0x19e8BIT 0x1-0x3=0x7
OPERBIT 0x19e7-0x19e8BIT 0x0-0x0=CLR
OPERBIT 0x1002-0x1003BIT 0x0-0x7=REV
在windows环境下实现运行监控组件,使得待测软件在运行的过程中,能载入规则文件,并利用它对桩文件进行实时监控,并打印出每一个规则是否通过的信息,如果没有通过,要打印出与这条规则相关寄存器的信息。
如图1所示,结合附图对嵌入式软件自动测试系统作详细描述。
嵌入式软件自动测试系统包括待测试软件模块11、监控组件12、规则生成组件13、桩文件模块14、规则文件模块15。
其中,待测试软件模块11用于存放待测试软件;桩文件模块14用于存放桩文件,桩文件记录了CPU操作了的寄存器的值;规则生成组件13用于生成对寄存器操作的规则文件,并将该规则文件存放在规则文件模块15中,该规则文件包含有多条规则,该规则是对寄存器的独立的子操作;监控组件12在待测软件运行之前,先解析出桩文件中的值与地址的对应关系,待测软件在运行的过程中,监控组件12实时载入规则文件,并进行解析,判断桩文件里面的信息是否通过了规则,如果没有通过,输出相关的寄存器的值在初始与变化情况。每隔一段时间,依次对每一条规则进行判断,并输出是否通过的信息。
如图2所示,结合附图对待测软件的测试作详细描述。
嵌入式软件自动测试方法的步骤如下:
步骤S201:将待测试软件的功能分解为多条规则。
步骤S202:在规则生成组件13中,生成多条规则,并保存为规则文件。
步骤S203:运行待测试软件,实时操作桩文件。
步骤S204:打开监控组件,指定桩文件。
做完上述工作后,接下来,依次载入相应的规则文件,对在待测试软件的程序进行实时的监控,具体如下:
步骤S205:监控组件12指定一条新的规则文件。
步骤S206:监控组件12对指定的规则文件进行监控。
步骤S207:监控组件12判断指定的规则文件中的规则是否通过。
如果指定的规则文件中的规则全部通过,执行步骤S210;如果指定的规则文件中的某条规则没有通过测试,执行步骤S208。
步骤S208:监控组件12暂时停止对指定的规则文件的监控。
步骤S209:根据监控组件12反馈的未通过的规则的信息,对待测代码进行修改,直到最后通过所有的规则。
步骤S210:判断待测软件中的规则文件是否全部通过检测。
当规则文件没有全部测试完毕,执行步骤S205;当规则文件全部通过,即待测软件中的所有规则文件中通过检测,则测试完毕,结束检测。
规则文件可保存下来,如果以后待测代码进行了更改,可以再次使用保存的规则文件进行测试。

Claims (10)

1、一种嵌入式软件自动测试系统,包括:
待测试软件模块,用于存放待测试软件;
桩文件模块,用于存放桩文件,所述桩文件记录了CPU操作了的寄存器的值;
其特征在于,还包括:
规则生成组件,用于生成对寄存器操作的规则文件,并将该规则文件存放在规则文件模块中,每一个规则文件描述了嵌入式软件的单个功能要求,所述规则文件包含有至少一条规则,所述规则是对寄存器的独立的子操作;
监控组件,在待测软件运行之前,先解析出桩文件中的值与地址的对应关系,待测软件在运行的过程中,监控组件实时载入规则文件,并进行解析,判断桩文件里面的信息是否通过规则,并输出是否通过的信息。
2、根据权利要求1所述的嵌入式软件自动测试系统,其特征在于,所述规则的内容包括:对寄存器进行值的设置、对寄存器的特定位进行设置或者对寄存器的连续位进行模式变化。
3、根据权利要求1或者2任一项所述的嵌入式软件自动测试系统,其特征在于,所述监控组件中,如果桩文件里面的信息没有通过规则,输出相关的寄存器的值在初始与当前的变化情况。
4、根据权利要求3所述的嵌入式软件自动测试系统,其特征在于,规则的存储方式为:子操作类型+起始地址+终止地址+[是否进行位操作]+[起始位]+[终止位]+操作模式;其中,子操作类型用于设置规则的类型,多地址的操作与单地址在格式上保持统一,操作模式包含位移、反转以及自定义的操作,起始位和终止位字段在进行位操作时存在。
5、一种嵌入式软件自动测试方法,步骤如下:
(1)分析待测试软件的功能,规则生成组件将功能生成规则,并保存为规则文件,每一个规则文件描述了嵌入式软件的单个功能要求,所述规则文件包含有至少一条规则,所述规则是对寄存器的独立的子操作;监控组件在待测软件运行之前,先解析出桩文件中的值与地址的对应关系;
(2)运行待测试软件,实时操作桩文件;
(3)打开监控组件,指定桩文件;
(4)所述待测软件在运行的过程中,所述监控组件依次载入相应的规则文件,并进行解析,判断桩文件里面的信息是否通过规则,对待测试软件的程序进行实时的监控,并输出是否通过的信息。
6、根据权利要求5所述的嵌入式软件自动测试方法,其特征在于,步骤(2)中,所述桩文件中记录有操作了的所有寄存器的值,格式是以“地址=值”的方式。
7、根据权利要求5所述的嵌入式软件自动测试方法,其特征在于,步骤(4)中,根据监控组件反馈的未通过的规则的信息,对待测试软件的代码进行的修改,直到最后通过所有的规则。
8、根据权利要求5所述的嵌入式软件自动测试方法,其特征在于,步骤(4)具体为:
(41)指定一条新的规则文件;
(42)监控组件监控指定的规则文件;
(43)当指定的规则文件通过,则监控组件指定下一条规则文件进行监控,直到待测试软件中的规则文件全部通过测试;当指定的规则文件中的规则没有通过,则停止监控,修改待测试程序,并对修改后的规则文件继续进行监控。
9、根据权利要求8所述的嵌入式软件自动测试方法,其特征在于,步骤(43)具体为:
(431)监控组件判断指定规则文件中的规则是否全部通过;通过,执行步骤(432),否则,停止监控,修改待测试程序,执行步骤(42)。
(432)当指定的规则文件中的规则全部通过,判断待测试软件的规则文件是否全部通过,当全部通过,测试完毕;当规则文件没有全部通过,执行步骤(41)。
10、据权利要求5至9任一项所述的嵌入式软件自动测试方法,其特征在于,规则的存储方式为:子操作类型+起始地址+终止地址+[是否进行位操作]+[起始位]+[终止位]+操作模式;其中,子操作类型用于设置规则的类型,多地址的操作与单地址在格式上保持统一,操作模式包含位移、反转以及自定义的操作,起始位和终止位字段在进行位操作时存在。
CNB2006101269665A 2006-09-11 2006-09-11 嵌入式软件自动测试系统及其测试方法 Active CN100549976C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101269665A CN100549976C (zh) 2006-09-11 2006-09-11 嵌入式软件自动测试系统及其测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101269665A CN100549976C (zh) 2006-09-11 2006-09-11 嵌入式软件自动测试系统及其测试方法

Publications (2)

Publication Number Publication Date
CN101145126A CN101145126A (zh) 2008-03-19
CN100549976C true CN100549976C (zh) 2009-10-14

Family

ID=39207663

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101269665A Active CN100549976C (zh) 2006-09-11 2006-09-11 嵌入式软件自动测试系统及其测试方法

Country Status (1)

Country Link
CN (1) CN100549976C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571830B (zh) * 2009-06-19 2011-03-30 北京航空航天大学 一种实时嵌入式软件自动化闭环测试系统
CN102546271A (zh) * 2010-12-15 2012-07-04 北京航天长峰科技工业集团有限公司 一种设备运行状态监测方法
CN102650966B (zh) * 2011-02-24 2016-01-27 王轶辰 一种面向复用的嵌入式软件测试方法及其测试系统
CN102346235A (zh) * 2011-07-11 2012-02-08 北京北大众志微系统科技有限责任公司 一种面向硬件设备功能的自动测试系统及方法
CN104407971B (zh) * 2014-11-18 2017-04-12 中国电子科技集团公司第十研究所 自动化测试嵌入式软件的方法

Also Published As

Publication number Publication date
CN101145126A (zh) 2008-03-19

Similar Documents

Publication Publication Date Title
EP1130518B1 (en) Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
Moha et al. Automatic generation of detection algorithms for design defects
CN102789419B (zh) 一种使用多样本差异比对的软件故障分析方法
US8171001B2 (en) Using a data mining algorithm to generate rules used to validate a selected region of a predicted column
CN100549976C (zh) 嵌入式软件自动测试系统及其测试方法
WO2008083892A2 (en) Code path tracking
Bischofberger et al. Sotograph–a pragmatic approach to source code architecture conformance checking
CN101473283A (zh) 对操作程序的多变量监视
CN111756575A (zh) 存储服务器的性能分析方法及装置、电子设备
US20050167486A1 (en) System, method, and program for generating transaction profile for measuring and analyzing computer system performance
CN101141319A (zh) 基于功能操作封装的自动化测试脚本实现方法及装置
CN106681923B (zh) 一种软件测评方法及装置
CN106646315A (zh) 一种数字测量仪器的自动测试系统及其测试方法
Liu et al. Vulnerability analysis for x86 executables using genetic algorithm and fuzzing
Androutsopoulos et al. A theoretical and empirical study of EFSM dependence
US7451358B2 (en) Test executive system with automatic expression logging and parameter logging
CN101373506B (zh) 一种基于漏洞模型的软件漏洞模型检测方法
CN105027089B (zh) 内核功能性检查器
KR102275635B1 (ko) 함수 호출 패턴 분석을 통한 이상 검출 장치 및 방법
KR100924519B1 (ko) 소프트웨어 보안 테스팅을 수행하기 위한 알려지지 않은파일 포맷 분석 시스템 및 방법
CN106685970A (zh) 反向连接后门的检测方法及装置
Khanam Barriers to Refactoring: Issues and Solutions
CN101369239A (zh) 系统分析装置及程序
CN117112398B (zh) 增量代码覆盖率检测方法、装置、电子设备及存储介质
Briand Empirical investigations of quality factors in object-oriented software

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: GUANGDONG HUABO ENTERPRISE MANAGEMENT CONSULTING C

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20141008

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 510640 GUANGZHOU, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20141008

Address after: 510640 Guangdong city of Guangzhou province Tianhe District gold Yinglu No. 1 was 1106 room two

Patentee after: Guangdong Huabo Enterprise Management Consulting Co., Ltd.

Address before: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department

Patentee before: ZTE Corporation

ASS Succession or assignment of patent right

Owner name: STATE GRID SHANGHAI ELECTRIC POWER COMPANY

Free format text: FORMER OWNER: GUANGDONG HUABO ENTERPRISE MANAGEMENT CONSULTING CO., LTD.

Effective date: 20141127

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 510640 GUANGZHOU, GUANGDONG PROVINCE TO: 200002 PUDONG NEW AREA, SHANGHAI

TR01 Transfer of patent right

Effective date of registration: 20141127

Address after: 200002 Shanghai City, Pudong New Area source deep road, No. 1122

Patentee after: State Grid Shanghai Municipal Electric Power Company

Address before: 510640 Guangdong city of Guangzhou province Tianhe District gold Yinglu No. 1 was 1106 room two

Patentee before: Guangdong Huabo Enterprise Management Consulting Co., Ltd.