CN103324569A - 嵌入式系统应用程序代码的测试方法 - Google Patents
嵌入式系统应用程序代码的测试方法 Download PDFInfo
- Publication number
- CN103324569A CN103324569A CN2013102284323A CN201310228432A CN103324569A CN 103324569 A CN103324569 A CN 103324569A CN 2013102284323 A CN2013102284323 A CN 2013102284323A CN 201310228432 A CN201310228432 A CN 201310228432A CN 103324569 A CN103324569 A CN 103324569A
- Authority
- CN
- China
- Prior art keywords
- test
- instruction
- software
- testing
- steps
- 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
Links
Images
Landscapes
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种测试技术。本发明所要解决的技术问题是克服现有技术中智能电视中间件跨平台移植质量差且效率低的缺点,提供一种嵌入式系统应用程序代码的测试方法。采用的技术方案包括以下步骤:a.在测试软件中设置用于接收测试指令的串口,输入测试指令并创建串口数据接收线程,提供测试软件的注册函数;b.待测试软件通过注册方式将相关参数及测试接口函数传递给测试软件;c.启动串口数据接收线程,接收测试指令;d.解析测试指令,并根据解析结果调用相关软件测试接口函数,输出测试结果。利用通用串口实现嵌入式系统应用程序代码的测试,提高智能电视中间件跨平台移植质量和效率;适用于智能电视。
Description
技术领域
本发明涉及一种测试技术,尤其是涉及一种可通过通用串口进行嵌入式系统应用程序代码的测试方法。
背景技术
在智能电视软件开发过程中,为了缩短开发周期,并提高软件的健壮性和跨平台可移植性,一般采用中间件(MW,Middle Ware)的方式来实现软件与硬件的隔离,然后在开发产品时将中间件与硬件层(HAL,Hard Abstraction Layer)进行对接,即将中间件与各平台(硬件方案)提供的HAL层接口进行适配。在适配过程中,需要提供一种方法,该方法能够检测并验证平台提供的HAL层接口是否符合系统要求,而且该部分功能要能根据需要进行裁剪,在软件发布时能从系统中剥离开,即需要中间件提供一种可以跨平台使用的HAL层接口测试功能,该功能需要给使用者提供测试界面,并将测试结果相关信息反馈给测试者,给使用者提供帮助信息,同时能根据硬件平台和系统功能的不同,对待测试功能进行定制,即添加和删除待测试接口而不需要修改测试软件。而目前的嵌入式软件的测试软件是专门的商品软件,独立于嵌入式软件之外的,使用比较复杂,需要安装,价格也很贵,且不能根据需要对特定接口函数测试,跨平台移植效率较低。
发明内容
本发明所要解决的技术问题是克服现有技术中智能电视中间件跨平台移植质量差且效率低的缺点,提供一种嵌入式系统应用程序代码的测试方法。
本发明解决其技术问题所采用的技术方案是:嵌入式系统应用程序代码的测试方法,包括以下步骤:
a.在测试程序中设置用于接收测试指令的串口,输入测试指令并创建串口数据接收线程,提供测试程序的注册函数;
b.待测试软件通过注册方式将相关参数及测试接口函数传递给测试程序;
c.启动串口数据接收线程,接收测试指令;
d.解析测试指令,并根据解析结果调用相关软件测试接口函数,输出测试结果。
其中,相关参数是指运行待测试软件所需要的参数,不是本方案所特有的。相关软件即包含测试接口的软件,非特有。
具体的,步骤a中还包括设置串口属性及串口工作模式。
进一步的,步骤b具体为待测试软件通过注册函数向测试程序注册测试接口函数,并向测试程序传递相关参数。
进一步的,步骤d具体为测试程序根据对测试指令的解析结果和待测试软件的注册情况,调用相关接口完成接口测试并输出测试结果或输出帮助信息。
优选的,步骤d具体包括以下步骤:
d1.判断测试指令是否工作在中间件串口模式,是则进入步骤d2,否则将串口数据交由Linux系统处理;
d2.判断串口是否处于测试模式,若是进入步骤d3,否则由中间件其他模块软件处理;
d3.处理并解析测试指令,若测试指令具有注册函数,则根据注册函数调用已注册的测试接口函数,并将指令中输入的参数传递给测试接口函数,并输出调用的接口测试函数执行结果;否则,直接输出帮助信息。
直接输出帮助信息的条件为测试指令不正确或是测试指令未注册。
作为上述技术方案的优选方案,步骤d3具体为
d31.分析测试指令的头指令是否正确,若正确,进入步骤d33;若不正确,则进入步骤d32;
d32.输出帮助信息,完成测试;
d33.解析并转换测试指令的数据,依据解析结果调用测试接口函数,并输出调用结果。
所述帮助信息能够实现对测试指令格式、测试指令执行的动作描述。
本发明的有益效果是:本发明利用通用串口实现嵌入式系统应用程序代码的测试,使得智能电视中间件跨平台移植时能够充分利用测试手段,测试出与硬件驱动适配是否符合要求,为智能电视软件开发提供一种诊断手段,提高智能电视中间件跨平台移植质量和效率。本发明适用于智能电视。
附图说明
图1是本发明实施例的方法流程图。
具体实施方式
下面结合附图及实施例,详细描述本发明的技术方案。
本发明解决其技术问题所采用的技术方案是:嵌入式系统应用程序代码的测试方法,具体包括:首先在测试程序中设置用于接收测试指令的串口,输入测试指令并创建串口数据接收线程,提供测试程序的注册函数;其次待测试软件通过注册方式将相关参数及测试接口函数传递给测试程序;之后启动串口数据接收线程,接收测试指令;进而解析测试指令,并根据解析结果调用相关软件测试接口函数,输出测试结果。
实施例
如图1所示,本例方法的具体步骤如下:
A.在测试程序中设置用于接收测试指令的串口,输入测试指令并创建串口数据接收线程,提供测试程序的注册函数;
用于接收测试指令的串口与系统信息和命令输入输出相互独立,并且可以切换,即可通过命令输入或菜单操作实现串口工作模式在测试模式和系统模式之间的切换。
B.待测试软件通过注册方式将相关参数及测试接口函数传递给测试程序;
该步骤能够实现测试接口函数的在测试程序中的动态链接。
C.启动串口数据接收线程,接收测试指令;
D.判断测试指令是否工作在中间件串口模式,是则进入步骤E,否则将串口数据交由Linux系统处理;
E.判断串口是否处于测试模式,若是进入步骤F,否则由中间件其他模块软件处理;
F.分析测试指令的头指令是否正确,若正确,则解析并转换测试指令的数据解析,依据解析结果调用测试接口函数,并输出调用结果;否则,输出帮助信息。
本例中的测试指令即串口输入指令或串口指令,一般的,测试指令包括头指令和数据两部分,头指令是指串口输入指令中开始的一串字符串,也叫指令头,其目的是给测试程序提供并指明要测试的接口函数,后面的数据是通过测试程序传给要测试的接口函数的参数,串口指令构成示例:eeprom.g.m r/w_index18中eeprom.g.m即为头指令(指令头)。
该方法不需要修改智能电视操作系统,只需另外建立一个UART(异步接收/发送装置,Universal Asynchronous Receiver/Transmitter,并行输入成为串行输出的芯片)数据接收和输出通道,以注册的方式实现对要测试接口函数的测试,同时通过指令控制该部分是否编译到系统中,以实现对交互测试的指令接收、解析、测试接口调用和测试结果输出。用普通电脑作为测试控制终端,通过串口发送指令给智能电视,由智能电视内置的HAL层测试程序实现对HAL层接口的测试,并将测试结果通过串口输出到测试控制终端,实现中间件与HAL层接口对接测试。
本方法中涉及的测试程序是嵌入式软件本身的一部分,只需要在编译的时候将其编译进去即可;能根据需要对特定接口函数测试,是为中间件和方案商的驱动层对接验证时使用的,针对性强,开发人员只需要编写待测试接口函数并注册即可通过通用串口进行测试,具有快速直观等特点。
Claims (6)
1.嵌入式系统应用程序代码的测试方法,其特征在于,包括以下步骤:
a.在测试程序中设置用于接收测试指令的串口,输入测试指令并创建串口数据接收线程,提供测试程序的注册函数;
b.待测试软件通过注册方式将相关参数及测试接口函数传递给测试程序;
c.启动串口数据接收线程,接收测试指令;
d.解析测试指令,并根据解析结果调用相关软件测试接口函数,输出测试结果。
2.如权利要求1所述的嵌入式系统应用程序代码的测试方法,其特征在于,步骤a中还包括设置串口属性及串口工作模式。
3.如权利要求1所述的嵌入式系统应用程序代码的测试方法,其特征在于,步骤b具体为待测试软件通过注册函数向测试程序注册测试接口函数,并向测试程序传递相关参数。
4.根据权利要求1至3中任意一项所述的嵌入式系统应用程序代码的测试方法,其特征在于,步骤d具体为测试程序根据对测试指令的解析结果和待测试软件的注册情况,调用相关接口完成接口测试并输出测试结果或输出帮助信息。
5.如权利要求1所述的嵌入式系统应用程序代码的测试方法,其特征在于,步骤d具体包括以下步骤:
d1.判断测试指令是否工作在中间件串口模式,是则进入步骤d2,否则将串口数据交由Linux系统处理;
d2.判断串口是否处于测试模式,若是进入步骤d3,否则由中间件其他模块软件处理;
d3.处理并解析测试指令,若测试指令具有注册函数,则根据注册函数调用已注册的测试接口函数,并将指令中输入的参数传递给测试接口函数,并输出调用的接口测试函数执行结果;否则,直接输出帮助信息。
6.如权利要求5所述的嵌入式系统应用程序代码的测试方法,其特征在于,步骤d3具体为
d31.分析测试指令的头指令是否正确,若正确,进入步骤d33;若不正确,则进入步骤d32;
d32.输出帮助信息,完成测试;
d33.解析并转换测试指令的数据,依据解析结果调用测试接口函数,并输出调用结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310228432.3A CN103324569B (zh) | 2013-06-08 | 2013-06-08 | 嵌入式系统应用程序代码的测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310228432.3A CN103324569B (zh) | 2013-06-08 | 2013-06-08 | 嵌入式系统应用程序代码的测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324569A true CN103324569A (zh) | 2013-09-25 |
CN103324569B CN103324569B (zh) | 2016-06-15 |
Family
ID=49193328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310228432.3A Active CN103324569B (zh) | 2013-06-08 | 2013-06-08 | 嵌入式系统应用程序代码的测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324569B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391404A (zh) * | 2016-05-16 | 2017-11-24 | 深圳市中兴微电子技术有限公司 | 一种基于硬件端口的数据传输方法及装置 |
CN111611161A (zh) * | 2020-05-20 | 2020-09-01 | 中电科航空电子有限公司 | 一种应用于航空电子软件的轻量级调试工具的实现方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359025B (zh) * | 2018-08-14 | 2022-08-02 | 中国电子科技集团公司第二十九研究所 | 一种电子信息装备自动测试系统及测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182246B1 (en) * | 1999-01-21 | 2001-01-30 | Bsquare Corporation | Protocol acknowledgment between homogeneous system |
CN101609428A (zh) * | 2009-05-08 | 2009-12-23 | 刘志方 | 数字终端应用软件基于开放接口代理的测试方法 |
CN101853203A (zh) * | 2010-05-31 | 2010-10-06 | 浙江大学 | 一种嵌入式软件在线测试系统 |
CN102033806A (zh) * | 2010-12-14 | 2011-04-27 | 北京航空航天大学 | 一种实时嵌入式软件可靠性测试数据生成方法 |
-
2013
- 2013-06-08 CN CN201310228432.3A patent/CN103324569B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182246B1 (en) * | 1999-01-21 | 2001-01-30 | Bsquare Corporation | Protocol acknowledgment between homogeneous system |
CN101609428A (zh) * | 2009-05-08 | 2009-12-23 | 刘志方 | 数字终端应用软件基于开放接口代理的测试方法 |
CN101853203A (zh) * | 2010-05-31 | 2010-10-06 | 浙江大学 | 一种嵌入式软件在线测试系统 |
CN102033806A (zh) * | 2010-12-14 | 2011-04-27 | 北京航空航天大学 | 一种实时嵌入式软件可靠性测试数据生成方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391404A (zh) * | 2016-05-16 | 2017-11-24 | 深圳市中兴微电子技术有限公司 | 一种基于硬件端口的数据传输方法及装置 |
CN111611161A (zh) * | 2020-05-20 | 2020-09-01 | 中电科航空电子有限公司 | 一种应用于航空电子软件的轻量级调试工具的实现方法 |
CN111611161B (zh) * | 2020-05-20 | 2023-08-08 | 中电科航空电子有限公司 | 一种应用于航空电子软件的轻量级调试工具的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103324569B (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11741455B2 (en) | Systems and methods for providing near field communications | |
US8549491B2 (en) | Apparatus and method for application testing of embedded system | |
CN104899046B (zh) | 一种多功能脚本运行方法和系统 | |
CN105335285B (zh) | 兼容多测试平台的双界面智能卡测试系统实现方法 | |
US9690888B2 (en) | Method and apparatus for system design verification | |
US9372770B2 (en) | Hardware platform validation | |
CN104915297B (zh) | 一种android设备的APP耗电量的自动化测试方法 | |
CN101976187A (zh) | 反编译过程中的堆栈跟踪方法、装置及反编译器 | |
CN101262681A (zh) | 自动测试的移动终端及实现方法 | |
CN103324569A (zh) | 嵌入式系统应用程序代码的测试方法 | |
CN104503898A (zh) | 一种嵌入式软件调试参数实时查看的方法及系统 | |
CN206523872U (zh) | 一种usb设备测试系统 | |
CN104090751A (zh) | 一种在Android系统上获取root权限的方法 | |
CN104808521A (zh) | 智能设备的控制方法和装置 | |
CN109358839A (zh) | 一种嵌入式单片机软件开发的方法及存储介质 | |
US7469359B2 (en) | Method and apparatus for testing communication software | |
CN109885905A (zh) | 一种提高数字电路功能验证效率的验证系统 | |
CN104199770B (zh) | 一种手机音乐apk的自动化测试方法 | |
CN101266543A (zh) | 一种图形界面处理装置和方法 | |
CN203069749U (zh) | 一种rfid读写器芯片中测系统 | |
US20030208542A1 (en) | Software test agents | |
KR20050034661A (ko) | 이동 통신 단말기 응용 프로그램 및 부가 서비스 기능 시험자동화 시스템 | |
CN103546342B (zh) | 一种终端一致性测试方法及用于该方法的api接口通用适配器 | |
CN103064011A (zh) | 一种rfid读写器芯片中测系统及方法 | |
WO2004036420A1 (ja) | プログラム開発支援装置、プログラム実行装置、コンパイル方法およびデバッグ方法 |
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 |