CN101261600A - 一种软件测试装置及测试软件的设计方法 - Google Patents
一种软件测试装置及测试软件的设计方法 Download PDFInfo
- Publication number
- CN101261600A CN101261600A CNA2007100861759A CN200710086175A CN101261600A CN 101261600 A CN101261600 A CN 101261600A CN A2007100861759 A CNA2007100861759 A CN A2007100861759A CN 200710086175 A CN200710086175 A CN 200710086175A CN 101261600 A CN101261600 A CN 101261600A
- Authority
- CN
- China
- Prior art keywords
- test
- software
- application programming
- programming interfaces
- module
- 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
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软件测试装置,包括:硬件抽象模块,提供被测试设备与PC之间通信操作的API,且为控制模块和测试日志模块提供API;控制模块,提供对被测试设备输入输出信息控制的API,且为测试操作模块和测试日志模块提供API;测试操作模块,提供对被测试设备功能进行测试的API,且为测试日志模块提供API;测试日志模块,提供生成测试日志的API,创建和生成统一的测试日志。本发明还公开了一种测试软件的设计方法。利用本发明能够缩短测试软件的开发周期,提高软件设计的效率;且所得到的测试软件具有较好的移植性。
Description
技术领域
本发明涉及软件测试,特别地涉及一种软件测试装置以及测试软件的设计方法。
背景技术
随着通信技术、计算机技术与电子技术的不断发展,移动终端等各种嵌入式电子设备的功能集成度也越来越高,在上述电子设备中,大多数数据的处理过程、设备的操作以及控制都是由运行在所述设备中的软件来完成的。可见,在软件正式安装到上述设备之前,对软件进行相应的各项功能测试以保证其能够稳定正常的运行是非常重要的,也是必须的。
通常情况下,我们可以利用个人计算机(Personal Computer,PC)侧的应用程序来实现对嵌入式电子设备中软件的功能测试,从而在一定程度上减小测试人员的工作量,提高软件的测试效率。但是随着嵌入式电子设备中功能模块的不断增加、各项功能复杂程度的相应提高以及各种电子设备之间本身设计存在的差异,使得对电子设备中的某项功能进行测试还是较为困难的。
针对上述问题,现有技术中也提出了相应的解决办法,例如:一些商业软件已经能够提供针对软件的自动测试功能,例如,针对无线数字设备的软件进行测试的软件TestQuest,这些测试软件大多采用脚本语言,而不需要生成可执行程序,由此可以适应各种无线数字设备类型的变更,但是该方法使用过程中不能脱离所采用脚本语言对应的脚本解释环境,由此,该方法使用起来不够灵活和高效,不适合软件自动测试的普及应用。
此外,为解决上述问题,还提出了利用编译环境生成可执行文件形式测试软件的方法,该方法所生成的测试软件不需要特殊的运行环境,也便于广泛使用,但是其开发过程却较为繁琐,尤其需要编写大量和所测试设备配套的底层代码,研发人员研发工作量较大,研发周期也较长,因而目前市场上也没有采用此种方法的测试工具。
发明内容
本发明要解决的技术问题是提供一种软件测试装置及测试软件的设计方法,使得测试软件具有很好的可移植性,使用灵活。
本发明的一方面提供一种软件测试装置,包括:
硬件抽象模块,用于提供被测试设备与计算机之间通信操作的应用程序接口,实现上述两者之间数据与控制信息的交互,且还为控制模块和测试日志模块提供应用程序接口;
控制模块,用于提供被测试设备输入输出信息控制的应用程序接口,通过调用所述硬件抽象模块的应用程序接口实现对被测试设备输入输出信息的定义、操作以及数据采集,且还为所述测试操作模块和测试日志模块提供应用程序接口;
测试操作模块,用于提供对被测试设备功能进行测试的应用程序接口,调用所述控制模块中的应用程序接口对被测试设备中预定功能进行测试;且还为所述测试日志模块提供应用程序接口;
测试日志模块,用于提供生成测试日志的应用程序接口,调用所述硬件抽象模块、控制模块、测试操作模块的应用程序接口创建和生成测试日志。
进一步地,所述的硬件抽象模块中,用于提供被测试设备与计算机之间通信操作的应用程序接口是基于被测试设备软件运行平台的特性与计算机软件运行平台的特性而确定的。
本发明的另一方面还提供一种测试软件的设计方法,包括:
(a)设计具有应用程序接口、且满足被测试设备所需测试功能的测试用例;
(b)设计具有应用程序接口、且与被测试设备软件运行平台以及计算机软件运行平台均匹配的硬件抽象程序,所述的硬件抽象程序能够由所述测试用例通过相应的应用程序接口进行调用;
(c)将上述测试用例与硬件抽象程序整体编译为可执行程序软件,即得到所需的测试软件。
进一步地,所述的测试用例中,被测试设备所需测试的功能以序列形式表示。
进一步地,所述的测试用例进一步地包括:对被测试设备输入输出信息的定义、操作、数据采集以及对预定功能进行的操作测试。
进一步地,所述的硬件抽象程序是根据被测试设备软件运行平台的特性与计算机软件运行平台的特性进行设计。
与现有技术相比,本发明所提出的软件测试装置及测试软件的设计方法由于采用了标准的应用程序接口,所以能够缩短不同测试软件的开发周期,提高软件设计的效率;且所得到的测试软件结构清晰,具有较好的移植性。
附图说明
图1为本发明实施例的一种移动终端软件测试装置的结构示意图;
图2为本发明实施例的用于移动终端的测试软件设计方法的流程图。
具体实施方式
本发明的基本思想是:利用标准的应用程序接口(Application ProgrammingInterface,API)来进行测试软件的设计,从而无需编写大量的代码,且该软件的移植性也较好。
为了更好地对本发明进行说明,首先对API进行简单说明:API是软件系统不同组成部分衔接的约定,其是能够用来操作组件、应用程序或者操作系统的标准函数集,且函数集中的每个函数所包含的变量也具有确定的定义。
以下以移动终端作为被测试设备为例,并结合附图对本发明作进一步地介绍,但不作为对本发明的限定。
如图1所示,一种移动终端软件测试装置,包括硬件抽象模块、控制模块、测试操作模块以及测试日志模块,其中:
硬件抽象模块,提供移动终端与PC机之间通信操作的API,实现移动终端与PC机之间数据与控制信息的交互,包括打开、关闭与移动终端的数据通信,发送、接收、分析通信数据包,进行数据校验等;该模块是基于移动终端软件运行平台的特性与PC机软件运行平台的特性而设计的,其与移动终端软件运行平台的特性与PC机软件运行平台的特性相匹配;该模块同时还为控制模块和测试日志模块提供API;
控制模块,提供移动终端的键盘和显示屏控制的API,其调用硬件抽象模块的相应API实现对移动终端键盘定义与操作、显示屏的数据采集、以及图像验证等输入输出信息的控制操作,在该模块中,API根据需要可以为:KEY_DOWN(...)、KEY_UP(...)、GET_SCREEN(...)、SCREEN_VERIFY(...)等等;该模块同时还为测试日志模块提供API;
测试操作模块,提供对移动终端功能进行测试的API,例如,PHONE_CALL(...)、SMS_OPER(...)、MMS_OPER(...)、PHONE_SET(...)等等;其调用控制模块中的API进行移动终端中典型功能的操作动作测试;该模块同时还为测试日志模块提供API;
测试日志模块,提供生成测试日志API,例如,LOG_CREATE(...)、LOG_REPORT(...)、LOG_MESSAGE(...)等等;其调用硬件抽象模块、控制模块、测试操作模块提供的API,为用户创建和生成统一的测试日志,该测试日志作为软件测试过程与结果的记录提供给测试人员分析和使用。
如图2所示,一种用于移动终端的测试软件设计方法,包括如下步骤:
步骤101,利用移动终端的键盘和显示屏控制API与对移动终端功能进行测试的API等来设计能生成测试日志的测试用例,该测试用例中按键操作、模块操作等需要进行测试的移动终端各项功能以序列形式来编写,采用序列的形式是为了使各个功能的测试能够顺序进行,在其他的情况下,也可以按照其他的预定策略进行编写;
步骤102,利用PC机和移动终端通信操作的API来设计硬件抽象程序,用于实现移动终端与PC机之间数据与控制信息的交互,此时,硬件抽象程序与移动终端软件运行平台以及PC的软件运行平台匹配;同时该硬件抽象程序还被设计具有能被测试用例调用的API;
步骤103,利用编译器对上述测试用例和硬件抽象程序进行整体编译,从而生成可执行程序软件。
经过上述方法所得到的可执行程序软件即为对被测试移动终端进行测试的软件,该软件由于是可执行文件形式,因此可以在任何环境下直接运行,由此可以对上述软件进行复制,然后分发给不同的测试人员,以便于对更多的上述类型移动终端进行测试。
在利用上述方法完成测试软件的设计后,如果由于更换新的移动终端,而使得硬件抽象程序与被测试移动终端软件运行平台以及PC的软件运行平台不匹配,则只需按照上述方法中的步骤102来重新设计硬件抽象程序,然后将新的硬件抽象程序与上述步骤101中得到的测试用例整体进行编译,即执行步骤103,重新生成新的可执行程序软件即可,而不需要对已经存在的步骤101中的测试用例进行修改,大大降低了测试软件的设计工作量,提高了软件设计的效率,也缩短了研发周期。
需要说明的一点是,在上述装置和方法中提到的根据移动终端软件运行平台特性以及PC的软件运行平台特性进行硬件抽象模块的设计以及硬件抽象程序的设计是本领域技术人员所公知的技术,在此不在赘述。
还需要说明一点的是:上述实施例是介绍移动终端的软件测试装置和测试软件设计方法,但是上述实施例所提出的装置和方法可以类似地应用于其它的嵌入式电子设备的软件测试过程以及测试软件设计过程,其实现与上述类似,在此也不再赘述。
应当理解的是,对本发明技术所在领域的普通技术人员来说,可以根据本发明的技术方案及其构思进行相应的等同改变或者替换,而所有这些改变或者替换,都应属于本发明所附权利要求的保护范围。
Claims (6)
1. 一种软件测试装置,包括:
硬件抽象模块,用于提供被测试设备与计算机之间通信操作的应用程序接口,实现上述两者之间数据与控制信息的交互,且还为控制模块和测试日志模块提供应用程序接口;
控制模块,用于提供被测试设备输入输出信息控制的应用程序接口,通过调用所述硬件抽象模块的应用程序接口实现对被测试设备输入输出信息的定义、操作以及数据采集,且还为所述测试操作模块和测试日志模块提供应用程序接口;
测试操作模块,用于提供对被测试设备功能进行测试的应用程序接口,调用所述控制模块中的应用程序接口对被测试设备中预定功能进行测试;且还为所述测试日志模块提供应用程序接口;
测试日志模块,用于提供生成测试日志的应用程序接口,调用所述硬件抽象模块、控制模块、测试操作模块的应用程序接口创建和生成测试日志。
2. 如权利要求1所述的装置,其特征在于,所述的硬件抽象模块中,用于提供被测试设备与计算机之间通信操作的应用程序接口是基于被测试设备软件运行平台的特性与计算机软件运行平台的特性而确定的。
3. 一种测试软件的设计方法,包括:
(a)设计具有应用程序接口、且满足被测试设备所需测试功能的测试用例;
(b)设计具有应用程序接口、且与被测试设备软件运行平台以及计算机软件运行平台均匹配的硬件抽象程序,所述的硬件抽象程序能够由所述测试用例通过相应的应用程序接口进行调用;
(c)将上述测试用例与硬件抽象程序整体编译为可执行程序软件,即得到所需的测试软件。
4. 如权利要求3所述的方法,其特征在于,所述的测试用例中,被测试设备所需测试的功能以序列形式表示。
5. 如权利要求3或4所述的方法,其特征在于,所述的测试用例进一步地包括:对被测试设备输入输出信息的定义、操作、数据采集以及对预定功能进行的操作测试。
6. 如权利要求3所述的方法,其特征在于,所述的硬件抽象程序是根据被测试设备软件运行平台的特性与计算机软件运行平台的特性进行设计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100861759A CN101261600B (zh) | 2007-03-06 | 2007-03-06 | 一种软件测试装置及测试软件的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100861759A CN101261600B (zh) | 2007-03-06 | 2007-03-06 | 一种软件测试装置及测试软件的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101261600A true CN101261600A (zh) | 2008-09-10 |
CN101261600B CN101261600B (zh) | 2010-04-07 |
Family
ID=39962066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100861759A Active CN101261600B (zh) | 2007-03-06 | 2007-03-06 | 一种软件测试装置及测试软件的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101261600B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010048746A1 (en) * | 2008-10-31 | 2010-05-06 | Ebay Inc. | System and method to test executable instructions |
CN101630343B (zh) * | 2009-08-18 | 2011-07-13 | 中兴通讯股份有限公司 | 仿真方法及系统 |
CN102236592A (zh) * | 2010-05-07 | 2011-11-09 | 华为终端有限公司 | 计算机外设与计算机兼容性测试方法、装置和系统 |
CN103064789A (zh) * | 2013-01-11 | 2013-04-24 | 上海斐讯数据通信技术有限公司 | 一种软件控制的自动化测试方法 |
CN103514069A (zh) * | 2012-11-22 | 2014-01-15 | Tcl集团股份有限公司 | 测试Android系统HAL层API的方法及系统 |
CN104731566A (zh) * | 2013-12-19 | 2015-06-24 | 华为软件技术有限公司 | 集成开发环境测试装置、方法及系统 |
CN104834591A (zh) * | 2014-05-22 | 2015-08-12 | 北汽福田汽车股份有限公司 | 测试autosar软件组件的测试方法及系统 |
CN107608902A (zh) * | 2017-10-23 | 2018-01-19 | 中国联合网络通信集团有限公司 | 程序接口测试方法及装置 |
CN110347589A (zh) * | 2019-06-11 | 2019-10-18 | 烽火通信科技股份有限公司 | 一种软件单元测试自动化检测方法及系统 |
CN111813693A (zh) * | 2020-07-31 | 2020-10-23 | 南方科技大学 | 一种软件兼容性检测方法、智能终端及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641601A (zh) * | 2004-01-04 | 2005-07-20 | 华为技术有限公司 | 一种软件的单元测试方法 |
CN100337216C (zh) * | 2004-09-04 | 2007-09-12 | 华为技术有限公司 | 一种软件测试方法 |
CN1848092A (zh) * | 2005-04-14 | 2006-10-18 | 华为技术有限公司 | 测试装置及方法 |
-
2007
- 2007-03-06 CN CN2007100861759A patent/CN101261600B/zh active Active
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204167B (zh) * | 2008-10-31 | 2015-07-01 | 电子湾有限公司 | 测试应用编程接口(api)调用的方法、系统和响应仿真器 |
CN102204167A (zh) * | 2008-10-31 | 2011-09-28 | 电子湾有限公司 | 测试可执行指令的系统和方法 |
WO2010048746A1 (en) * | 2008-10-31 | 2010-05-06 | Ebay Inc. | System and method to test executable instructions |
US9015532B2 (en) | 2008-10-31 | 2015-04-21 | Ebay Inc. | System and method to test executable instructions |
US9477584B2 (en) | 2008-10-31 | 2016-10-25 | Paypal, Inc. | System and method to test executable instructions |
CN101630343B (zh) * | 2009-08-18 | 2011-07-13 | 中兴通讯股份有限公司 | 仿真方法及系统 |
CN102236592A (zh) * | 2010-05-07 | 2011-11-09 | 华为终端有限公司 | 计算机外设与计算机兼容性测试方法、装置和系统 |
CN103514069A (zh) * | 2012-11-22 | 2014-01-15 | Tcl集团股份有限公司 | 测试Android系统HAL层API的方法及系统 |
CN103064789A (zh) * | 2013-01-11 | 2013-04-24 | 上海斐讯数据通信技术有限公司 | 一种软件控制的自动化测试方法 |
CN103064789B (zh) * | 2013-01-11 | 2017-08-04 | 上海斐讯数据通信技术有限公司 | 一种软件控制的自动化测试方法 |
CN104731566A (zh) * | 2013-12-19 | 2015-06-24 | 华为软件技术有限公司 | 集成开发环境测试装置、方法及系统 |
CN104731566B (zh) * | 2013-12-19 | 2018-12-25 | 华为软件技术有限公司 | 集成开发环境测试装置、方法及系统 |
CN104834591A (zh) * | 2014-05-22 | 2015-08-12 | 北汽福田汽车股份有限公司 | 测试autosar软件组件的测试方法及系统 |
CN104834591B (zh) * | 2014-05-22 | 2017-12-08 | 北汽福田汽车股份有限公司 | 测试autosar软件组件的测试方法及系统 |
CN107608902A (zh) * | 2017-10-23 | 2018-01-19 | 中国联合网络通信集团有限公司 | 程序接口测试方法及装置 |
CN110347589A (zh) * | 2019-06-11 | 2019-10-18 | 烽火通信科技股份有限公司 | 一种软件单元测试自动化检测方法及系统 |
CN111813693A (zh) * | 2020-07-31 | 2020-10-23 | 南方科技大学 | 一种软件兼容性检测方法、智能终端及存储介质 |
CN111813693B (zh) * | 2020-07-31 | 2023-06-06 | 南方科技大学 | 一种软件兼容性检测方法、智能终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101261600B (zh) | 2010-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101261600B (zh) | 一种软件测试装置及测试软件的设计方法 | |
US7155381B2 (en) | Module for developing wireless device applications using an integrated emulator | |
JP4358738B2 (ja) | 移動体端末のための階層アーキテクチャ | |
CN101667134B (zh) | 一种构建编译系统的方法及编译系统构建装置 | |
US9086899B2 (en) | Loading and debugging method and debugging system thereof | |
CN104407980A (zh) | 移动应用自动化测试装置和方法 | |
US20030236657A1 (en) | Method of developing wireless device applications using an integrated emulator and an IDE | |
Sadjadi et al. | TRAP/J: Transparent generation of adaptable Java programs | |
CN105912473A (zh) | 基于bdd的移动app自动测试平台和测试方法 | |
CN106254436A (zh) | 一种远程调试的方法、相关设备及系统 | |
WO2010135875A1 (zh) | M2m业务平台及其工作方法 | |
CN107179903B (zh) | 用于使用模型驱动开发来开发基于移动的应用的系统和方法 | |
CN113127361B (zh) | 应用程序的开发方法、装置、电子设备和存储介质 | |
CN113268243B (zh) | 内存预测方法及装置、存储介质、电子设备 | |
CN102968371A (zh) | 测试java api单元组件的方法及装置 | |
Zhifang et al. | Test automation on mobile device | |
CN101980546B (zh) | 智能网平台、业务执行方法和分析业务异常的方法 | |
CN114610640A (zh) | 一种面向物联网可信执行环境的模糊测试方法和系统 | |
CN107704499A (zh) | 一种应用程序的页面跳转控制方法及装置 | |
Edwards et al. | Scenario-driven dynamic analysis of distributed architectures | |
Huang et al. | UI driven Android application reduction | |
CN101634965B (zh) | 一种Linux内核级单元测试的方法 | |
CN103391537B (zh) | 一种通过移动终端写入imei号的方法及装置 | |
CN115022312A (zh) | 多智能合约引擎的实现方法、装置、电子设备及存储介质 | |
Gandini et al. | A framework for automated detection of power-related software errors in industrial verification processes |
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 |