CN201392526Y - 用于移动应用程序的机上测试系统 - Google Patents

用于移动应用程序的机上测试系统 Download PDF

Info

Publication number
CN201392526Y
CN201392526Y CN200920012476U CN200920012476U CN201392526Y CN 201392526 Y CN201392526 Y CN 201392526Y CN 200920012476 U CN200920012476 U CN 200920012476U CN 200920012476 U CN200920012476 U CN 200920012476U CN 201392526 Y CN201392526 Y CN 201392526Y
Authority
CN
China
Prior art keywords
test
unit
machine
test case
case
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.)
Expired - Lifetime
Application number
CN200920012476U
Other languages
English (en)
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.)
Dalian Maritime University
Original Assignee
Dalian Maritime University
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 Dalian Maritime University filed Critical Dalian Maritime University
Priority to CN200920012476U priority Critical patent/CN201392526Y/zh
Application granted granted Critical
Publication of CN201392526Y publication Critical patent/CN201392526Y/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本实用新型涉及一种计算机软件测试系统,更具体地说是涉及移动应用软件的机上测试系统。包括服务器端和客户端;服务器端创建测试用例集并交由测试集管理单元运行测试集,与通信服务单元建立通信连接等待客户端请求,客户端下载测试包并执行测试。本装置支持在移动电话真实的硬件环境和Java运行环境上的机上测试,获得更真实的运行状况;本装置可以自动生成测试用例包括测试驱动程序或桩调用等代码,可以提高测试覆盖率和错误检测的能力。

Description

用于移动应用程序的机上测试系统
技术领域
本发明涉及一种计算机软件测试系统,更具体地说是涉及移动应用软件的机上测试系统。
背景技术
在过去的几年里,第三代移动通信的迅猛发展,蜂窝电话和手持计算设备的使用量呈指数级增长,企业应用、多媒体应用和联网游戏逐渐成为了移动开发领域关注的热点。在这个领域内,Java ME的应用越来越广,用其开发的软件业越来越多,经过多年的领跑,Java ME技术几乎成为了移动应用程序开发的标准。
移动应用程序是一类嵌入式软件,其特点在于与底层硬件耦合,代码执行效率高。不过由于移动电话软件设计是一定的目标硬件平台为基础的,其上运行的软件也存在着嵌入式软件可移植性差的通病。这个特点决定了移动应用软件的继承性较差,升级时系统的测试时间长,测试成本高。
为了兼容不同的设备,Java ME由多种配置、简表和可选包组成。配置包含Java虚拟机(也被称为KVM)和一系列基础API,目前有两个配置层规范,分别是CDC(连接设备配置)和CLDC(连接受限设备配置)。简表为运行环境提供高级的API,如采用最广泛的MIDP(移动信息设备简表)。然而现实中厂商的实现和Java ME规范存在不少差别,这些都导致移动应用程序的测试是困难的。
由于受到当时移动电话硬件的限制,MIDP 1.0提供的功能并不强大,如不支持多媒体内容处理,不能对图形像素操作。为此知名厂商分别实现了自己的私有API来弥补MIDP 1.0的不足,比较典型的例子就是Nokia提供的Nokia UIAPI,借助它可以实现声音播放、图像旋转和全屏等特性。然而,这种私有的API不可能得到普及。通常,Nokia之外的移动电话制造商不会在自己的产品中实现Nokia UI API,这样就给程序的移植带来了负面影响。考虑到设备的多样性,JCP专家组在制定规范时,有些是强制要求的,有些是明确禁止的,而还有些细节没有做严格的规定,是可选的。这样移动电话制造商在自己的产品上实现JavaME就有所不同。比较典型的就是MIDlet的生命周期,规范中的定义比较笼统,导致移动电话制造商在实现MIDlet生命周期时采取了不同的做法,这也给程序移植带来的困难。
为了方便调试程序,厂商都提供了自己的设备模拟器。这样开发者可以首先在目标机型的模拟器上运行应用程序,经过测试无误后再将MIDlet套件安装在移动电话上。然而,设备模拟器只是对移动电话软件运行环境的近似模拟,无法模拟移动电话真实的硬件环境和Java运行时环境。因此,有些应用程序在模拟器上运行良好,但是安装到移动电话后出现速度慢、非正常关闭等问题。设备模拟器永远都是应用程序运行状况的参考,移动电话才是检验应用程序正确与否的标准。
市面上移动开发平台混杂,造成软件在某设备上可以顺利安装执行,而到了其它设备,有可能无法执行,甚至连安装都可能有问题。市场竞争激烈,商品急于上市,导致移动电话软件开发周期短、软件版本多更新快。为此开发者不得不开发好几种版本的应用程序供各种厂商、各种型号的嵌入式设备使用。因此在测试任务中,测试不完全的现象时有发生。此外,移动电话型号多,淘汰快,为了保证充分地测试移动应用程序,测试人员不得不在不同移动电话设备上的进行着单调繁杂的重复性工作。而在版本更新过程中经常会临时添加新功能,由于测试方案缺少测试的度量数据,因此很难量化移动应用程序的测试充分性、测试覆盖率和软件的质量。这些现状说明,移动电话软件这种嵌入式软件的测试工作量太大,成本很高。
近年来发展起来的测试自动化比传统的手工测试具有明显的优势,即提高测试的效率、降低测试的成本。目前,商品化的测试工具,如MI公司的Winrunner、Rational公司的Purify、Parasoft公司的JTest等,都能够实现可编程测试,即可以根据用户对被测软件的具体需求,在一定程度上能够满足大多数软件自动化测试的需求。然而,它们并不支持像移动应用程序这类的嵌入式软件。这类运行在特定目标系统上的嵌入式软件,其硬件平台和操作系统往往专用的,把现有的成熟技术移植到嵌入式软件中来是实现难度极大的一项工作。例如:我们熟悉的JUnit就是一种被软件业界普遍认可的单元测试工具,它为PC桌面软件的自动化单元测试提供了理想的测试框架。为了测试移动应用程序,出现了易学易用的J2MEUnit和JMUnit,它们也被称为Java ME版本的JUnit,能支持编写模拟器环境下的Java ME单元测试。遗憾地,它们不支持机上测试。
我们知道模拟器只是应用程序运行状况的参考,移动电话才是检验应用程序正确与否的标准。然而现阶段支持移动应用程序机上测试的装置或系统并不多,美国Parasoft公司的C++testTM支持嵌入式C/C++开发测试。C++testTM可以帮助开发人员在主机环境中生成测试用例,然后将生成的测试用例连同用户的源码交叉编译生成目标机的可执行程序,在目标机直接进行测试,测试完成后,将测试报告文件传回主机进行分析。C++testTM本质是一个C/C++自动单元测试工具,不支持Java ME这种移动应用程序,而本发明是一个支持Java ME的自动化的集成测试/功能性测试装置。为支持移动应用程序的机上测试,有些厂商如SonyEricsson专门针对它们生产的移动电话,提供了能够运行在其产品上运行的单元测试库。与本发明相比,这类单元测试工具功能单一,缺乏测试管理功能,不能处理大量的测试,不能测MIDlet本身,不能测私有方法。
发明内容
本发明克服现有技术中的不足之处,提供一种支持移动电话机上测试JavaME程序的自动化测试装置。本装置支持在移动电话真实的硬件环境和Java运行环境上的机上测试,获得更真实的运行状况;本装置可以自动生成测试用例(包括测试驱动程序或桩调用等代码),可以提高测试覆盖率和错误检测的能力。
本发明提供的用于移动应用程序的机上测试系统,包括服务器端和客户端;服务器端具有:被测项目管理单元,用于导入被测程序,判断被测项目的合法性以及通信方式参数的配置工作;测试用例生成单元,用于生成测试用例序列、优化测试用例序列以及测试用例的划分等工作;测试描述单元,用于描述测试用例的信息;测试配置单元,用于输入测试用例的信息;测试集创建单元,用于创建测试用例集,每个测试集都包含一个机上代理程序、若干个测试用例及其相关辅助文档;测试集管理单元,用于操作以及管理测试集在机上的运行;测试结果收集单元,用于在完成测试集上的所有测试用例后,收集全部测试结果;测试报告生成单元,用于统计汇总,并生成测试报告;显示单元,用于显示统计结果;通信服务单元,用于在客户端和服务器端之间提供API级的消息服务;客户端具有:机上应用程序管理单元,用于管理Java ME移动应用程序的下载、解压、安装、删除、运行;机上代理单元,用于配置并执行测试用例及间接调用被测应用程序,并将执行结果与期望结果进行比较验证,并上报测试结果;所述被测项目管理单元导入被测程序,测试人员根据被测程序的功能说明,通过测试用例生成单元生成测试用例中的测试代码,测试集创建单元调用所述测试描述单元获取的测试用例的描述信息及测试用例生成单元生成的测试代码,再根据所述测试配置单元的运行环境配置信息完成测试用例集的创建,并交由所述测试集管理单元运行测试集,所述测试集管理单元与通信服务单元建立通信连接等待客户端请求,机上应用程序管理单元通过所述通信服务单元向所述测试集管理单元请求下发测试包,所述机上应用程序管理单元解包处理下发来的测试包并交与所述机上代理单元,所述机上代理单元获得代理程序代码和测试用例,并启动所述机上代理单元执行代理程序;上述执行结果通过通信服务单元交与测试集管理单元后,由所述测试结果收集单元汇总,所述测试报告生成单元生成测试报告,并交由所述显示单元显示。
本发明所述的测试用例生成单元能够根据在服务器端编写的程序规约说明文件生成相应的有限状态机,通过搜索状态机的迁移路径生成测试用例。
本发明所述的服务器端调用所述测试集创建单元,间接调用所述测试描述单元获取测试用例的描述信息,定位被测程序,发现测试用例,读取配置文件,完成测试用例集的创建。
本发明所述的服务器端调用所述测试集管理单元运行测试集,间接调用所述通信服务单元建立通信连接等待客户端请求。
本发明所述的所述机上代理单元的代理程序请求下一个待执行的测试用例名称,并依次执行该测试用例,并通过所述通信服务单元上报执行结果。
本发明通过所述测试配置单元还可以进行测试用例的选择条件和运行环境信息,包括包含条件、排除条件、运行平台。
本发明所述的测试结果收集单元收集完测试结果后,所述显示单元可以显示出图形化的测试统计报告。
本发明具有下述有益效果:
(1)支持移动电话上的软件测试。区别于设备模拟器上进行的模拟测试,本发明支持在移动电话真实的硬件环境和Java运行环境上的机上测试,获得更真实的运行状况,为了调试移动应用程序提供一种更加真实的测试手段,更早地发现移动应用程序中不容易模拟的软件错误和性能瓶颈。
(2)有效支持自动化的移植测试。测试人员在选定型号移动电话上进行软件测试,通过该型号移动电话所提供的人机接口人为地制造各种输入状态,运行在服务器端(后台计算机)上的测试程序记录被测软件触发的事件,并创建可运行于其它型号移动电话上的测试用例集。在其它型号移动电话执行同样测试时,测试人员只需观察被测软件运行情况,与预期结果比较给出测试通过与否的结论。这种测试方法对于实际运行中可能出现的情况在不同型号移动电话上进行比较全面的模拟,测试人员“一次输入,多次重复测试”,大大降低了在不同移动电话设备上移植应用程序所带来的大量的重复性工作。
(3)由于本测试方法的测试用例由后台计算机的测试程序定制或生成,测试用例在满足用户要求的情况下可以随意组合,从而为覆盖各种测试情况,这丰富了测试的控制和定制,极大地提高了测试覆盖率。
附图说明
图1是本发明用于移动应用程序机上的测试系统的结构示意图;
图2是本发明用于移动应用程序机上的测试系统的工作流程图。
具体实施方式
本发明提供了一种用于移动应用程序机上测试的实施系统。物理上,该系统可划分为服务器端(后台计算机)和客户端(被测移动电话)两部分,两者通过串行电缆、蓝牙或者USB连接在一起,其中后台计算机上运行着本发明的测试工具,移动电话上运行被测的移动应用程序。测试工具运行于普通PC上,可以选择通过TCP/IP协议或者HTTP协议同移动电话上的被测应用程序进行通讯。
图1给出了本发明的结构示意图,包括:被测项目管理单元200,用于选择被测项目,判断被测项目的合法性以及通信方式等参数的配置工作,由PanelManager、SpecificationFileFilter类组成;测试用例生成单元201,用于生成测试用例序列、优化测试用例序列以及测试用例的划分等工作,由TestingTree、WMethod、WpMethod、OptimizationMethod、GenericMethod、PartitionMethod、EndStatePartitionMethod类组成;测试描述单元202,用于描述测试用例的名称、说明、关键字、源代码文件名、执行类名、运行脚本及参数等信息,由TestDescriptor、TestProvider、MidTestProvider、DistributedScript、MidScript、TestFinder、ExcludeListFilter类组成;测试配置单元203,用于测试人员输入测试名称、说明、运行平台信息、通信方式及参数、日志选项等内容,由QuickStartWizard、ConfigurableTestFilter、ConfigHandler、ConfigEditor、ParameterFilter、TestFormHandler、TestLoger、EnvParameter类组成;测试集创建单元204,用于测试人员创建测试用例集,每个测试集都包含一个机上代理程序、若干个测试用例及其相关辅助文档等,由SuiteHandler、TestSuiteCreater、TestsGenerator、TestsGeneratorWithSourceElement、AppDescriptor、TestsGeneratorWithStream类组成;测试集管理单元205,用于打开、关闭、修改、导入/导出以及运行测试集,由RunTestsHandler、TestBundle、MidBundler、PermissionHandler、JKSSigner类组成;通信服务单元206,用于在客户端和服务器端之间提供API级的消息服务,由HttpServer、SocketServer、ServerManager、StartServer、CommPacketHandler、CommClient、SerialPortConnection、BluetoothConnection、USBConnection、SocketConnection类组成;机上应用程序管理单元207,移动电话厂商提供,用于管理Java Me移动应用程序的下载、解压、安装、删除、运行等;机上代理单元208,用于配置并执行机上测试用例单元的测试用例及间接调用被测应用程序,被执行时它会将执行结果与期望结果进行比较验证,并上报测试结果,由MIDletBaseAgent、MIDletAgent、MIDletGUIAgent,DistributedTest、AutoTest、TestCases、MultiTest类组成;测试结果收集单元209,用于在完成测试集上的所有测试用例后,收集全部测试结果,由Status、StatusFilter、TestResult、TestResultTable类组成;测试报告生成单元210,用于统计汇总,将统计结果在后台计算机上显示出来,并生成文本、HTML或XML等格式的测试报告,由TestReporter、TxtReporter、XMLReporter、HTMLReporter、ReportViewer类组成;显示单元211,用于显示文字、图形化的测试统计报告。
结合图2说明本发明用于移动应用程序机上的测试系统的工作流程。
首先,测试人员在服务器端(后台计算机)通过测试项目管理单元200创建一个被测项目,获得被测移动应用程序的源代码和构造脚本等(步骤S101);
测试人员将导入的被测项目在服务器端编写程序的规约说明文件并通过测试用例生成单元201根据程序规约说明文件生成相应的有限状态机,并通过搜索状态机的迁移路径生成测试用例(步骤S102);
测试人员继续在服务器端编写测试用例描述信息并通过测试配置单元203输入测试用例配置信息,如测试名称、测试用例选择条件、运行平台、通信端口等,生成配置文件(步骤S103);
服务器端调用测试集创建单元204,间接调用测试描述单元202获取测试用例的描述信息,定位被测程序,发现测试用例,读取配置文件,完成测试用例集(简称测试集)的创建;服务器端调用测试集管理单元205运行测试集,间接调用通信服务单元206建立通信连接等待客户端请求(步骤S104);
客户端(被测设备/移动电话)通过机上应用程序管理单元207向服务器端请求下发一个测试包(步骤S105);
服务器端上的测试集管理单元204动态地将测试用例集封装打包并通过已建立的通信连接发送给客户端(步骤S106);
被测设备上的应用程序管理单元207解包处理下发来的测试包并交与机上代理单元208,机上代理单元208获得代理程序代码和测试用例,并启动机上代理单元208执行代理程序(步骤S107);
服务器端上的测试集管理单元205根据测试人员的选择条件决定测试用例的先后执行次序,并等待客户端请求(步骤S108);
机上代理单元208的代理程序请求下一个待执行的测试用例名称,并依次执行该测试用例,并通过通信服务单元206上报执行结果(步骤S109);
服务器端上的测试集管理单元205调用测试结果收集单元209汇总全部测试用例的执行结果(步骤S110);
服务器端上的测试结果收集单元209间接调用测试报告生成单元210生成测试报告,显示单元211显示统计结果(步骤S111)。
[第一实施方式]
本发明的第一优选实施例以复合表达式求值程序(简称求值程序)为例。求值程序的功能与移动电话提供的计算器是一致的,它的特别之处在于用户像编辑短信那样输入复合表达式,它直接计算该表达式的值。例如,用户输入“14*(152-37)”,求值程序回答1610。该程序主要有Parser、Calculator、Expression、Grammar、Terminal、NonTerminal、Number、Negation、NDFA、State、Transition和Operation等类组成,本实例测试的主要目的是检查在目标机型SonyEricsson K700C上表达式求值的解析和求值是否正确。在本发明的机上测试系统上测试该程序时,测试人员自己设计测试用例,没有使用测试用例生成单元201,主要包括步骤:
1、测试人员手工设计测试用例并编写相关的测试用例描述。我们设计“合法的”和“不合法的”两类测试,每类测试下又细分为简单情况和复杂情况,例如,只有加、减、乘、除运算但不包含括号的表达式视为简单情况,复杂情况就包含括号、指数运算等;不合法的情况包括表达式输入的不完整,还有就是括号不匹配,或是被除数是0等等。按照这种划分,测试人员共设计了30个测试用例。
2、创建被测项目:测试人员在被测项目管理单元200的向导面板帮助下导入被测的求值程序,创建一个被测项目。
3、创建测试集:测试人员使用测试用例描述单元202描述所有的测试用例的名称、说明、关键字、源代码文件名、执行类名、运行脚本及参数;使用测试配置单元203输入测试名称、说明、运行平台信息、通信方式及参数、日志选项等内容。然后测试人员就可以使用测试集创建单元204完成测试集的创建,这间接地会调用测试配置单元203检查运行环境参数等,间接调用测试描述单元202查找测试用例。
4、执行测试集:测试人员使用测试集管理单元205执行创建好的测试集,调用通信服务单元206等待来自移动电话的测试请求。
5、移动电话请求测试包。移动电话建立与后台计算机的网络连接,请求下发一个测试包。后台计算机上的测试集管理单元205检查是否存在创建好的测试集,若没有系统就显示一个空的测试报告;否则就根据当前的测试集动态地生成一个测试包,将它发送给请求的移动电话(机上应用程序管理单元207),并根据测试人员的有选择地建立测试包中测试用例的执行次序。
6、机上应用程序管理单元207首先判断测试包是否为空,若为空就表明完成测试;否则就装载处理该测试包,得到机上代理单元208,启动机上代理单元208,通过通信服务单元206请求后台计算机的测试集管理单元205下一个要执行的测试用例名称。
7、测试集管理单元205获得该请求后,判断是否存在一个待执行的测试用例,若没有就返回等待被测移动电话请求下一个测试包;否则就将下一个测试用例名发送给被测移动电话。
8、移动电话上的代理单元208判断获得测试用例名是否为空,若为空就返回请求下发下一个测试包;否则执行选择的测试用例,隐含地调用被测移动应用程序,上报测试集管理单元205该测试用例的执行结果,并请求下发下一个测试包。在本实施例中,发现对于像人工设计的测试用例“11.2-3.1*2”以及括号不匹配的测试用例时,测试用例执行失败。
9、后台计算机上测试集管理单元205调用测试结果收集单元209收集本次测试的详细执行记录。
10、若不再有其它的测试包了,后台计算机上的测试结果收集单元209统计汇总所有的测试结果及其相关说明,并间接调用测试报告生成单元210生成文本、HTML或XML等格式的测试报告。
[第二实施方式]
本发明的第二优选实施例以开源的移动电话多媒体音乐播放器软件(简称音乐播放器)为例。音乐播放器要播放的音频数据流可以从网络获取,也可以通过打开已经录制保存的音频文件获得。获得数据流后进行缓冲、解码,即把音频数据流转化为PCM编码格式,然后送扬声器播放。网络播放时根据用户点击播放列表获得文件URL,然后与普通PC上的网络服务器建立链接下载数据流,转换为PCM编码格式后播放数据流,与此同时频谱线程启动,显示数据流频谱。
本实例测试的主要目的是检查在目标机型Nokia 7610上完成本机播放和网络播放功能是否符合设计要求。本实例主要是对该软件的AudioPlayer类进行界面测试。AudioPlayer类主要负责初始化音乐播放器列表、音乐播放器的控制、音乐文件的获取以及音乐播放器背景的绘制等功能。本实例进行的界面测试不同于单体测试,而是一种功能测试。由于界面测试的复杂性,目前主流的测试工具无法直接应用到界面测试中。目前,最常见的界面测试工具是记录/回放工具。但是,记录/回放工具的记录部分工作需要人工来完成,费时费力。而且,测试效率很低,记录/回放的功能仅仅是全部功能的很小一部分。使用本发明所提供的方法,可以不需要用户去执行记录操作,自动生成测试用例。这样,不但可以减轻测试人员的工作强度,同时也会大大提高界面测试的测试效率和错误覆盖率。测试步骤如下:
1、创建被测项目:测试人员在被测项目管理单元200的向导面板帮助下导入音乐播放器程序,创建一个被测项目。
2、创建测试用例序列。测试人员根据被测程序的功能说明,通过测试用例生成单元201的向导面板,输入一些相关参数,指定生成测试用例的生成方式以及一些与真实运行环境相关的参数,向导面板生成程序的规约说明文件。测试用例生成单元201会根据该规约说明文件生成相应的有限状态机,检查该有限状态机是否满足完备性、强连通性以及精简性,不满足提示并请测试人员重新定义规约说明文件,满足时就通过搜索状态机的迁移路径生成测试用例序列,序列中每个测试用例包括某次操作的输入及相应的输出。
3、创建测试用例集。测试人员使用测试用例描述单元202描述所有的测试用例的名称、说明、关键字、源代码文件名、执行类名、运行脚本及参数;使用测试配置单元203输入测试名称、说明、运行平台信息、通信方式及参数、日志选项等内容。然后测试人员就可以使用测试集创建单元204完成测试集的创建,这间接地使用生成的测试用例序列生成测试源代码及其依赖文件等,同时会调用测试配置单元203检查运行环境参数等,间接调用测试描述单元202查找测试用例。
4、执行测试集:测试人员使用测试集管理单元205执行创建好的测试集,调用通信服务单元206等待来自移动电话的测试请求。
5、移动电话请求测试包。移动电话建立与后台计算机的网络连接,请求下发一个测试包。后台计算机上的测试集管理单元205检查是否存在创建好的测试集,若没有系统就显示一个空的测试报告;否则就根据当前的测试集动态地生成一个测试包,将它发送给请求的移动电话(机上应用程序管理单元207),并根据测试人员的有选择地建立测试包中测试用例的执行次序。
6、机上应用程序管理单元207首先判断测试包是否为空,若为空就表明完成测试;否则就装载处理该测试包,得到机上代理单元208,启动机上代理单元208,通过通信服务单元206请求后台计算机的测试集管理单元205下一个要执行的测试用例名称。
7、测试集管理单元205获得该请求后,判断是否存在一个待执行的测试用例,若没有就返回等待被测移动电话请求下一个测试包;否则就将下一个测试用例名发送给被测移动电话。
8、移动电话上的代理单元208判断获得测试用例名是否为空,若为空就返回请求下发下一个测试包;否则执行选择的测试用例,隐含地调用被测移动应用程序,上报测试集管理单元205该测试用例的执行结果,并请求下发下一个测试包。在本实施例中,测试人员在一旁观察界面的变化,包括界面的外形、布局、风格等是否符合设计要求,界面输出是否正确,是否出现异常等。然后测试人员回答系统对测试用例是否通过的提问。
9、后台计算机上测试集管理单元205调用测试结果收集单元209收集本次测试的详细执行记录。
10、若不再有其它的测试包了,后台计算机上的测试结果收集单元209统计汇总所有的测试结果及其相关说明,并间接调用测试报告生成单元210生成文本、HTML或XML等格式的测试报告。
运用本发明所提供的方法,测试人员的主要工作是生成被测程序规约说明文件和观察被测软件的界面变化,能够做到“一次生成规约文件,多次测试”,测试所需的按键输入显著减少,这样重复利用测试数据可以显著降低测试成本。并且,通过搜索状态机的迁移路径生成的测试用例可以达到很高的错误覆盖率,这使得本发明的测试效率可以达到较高的水平。
综上,对本发明的实施例进行了说明。但本发明并不限于上述实施例所记述的范围,任何熟悉本技术领域的技术人员在本发明所披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (7)

1、一种用于移动应用程序的机上测试系统,其特征在于,包括服务器端和客户端;
服务器端具有:被测项目管理单元,用于导入被测程序,判断被测项目的合法性以及通信方式参数的配置工作;测试用例生成单元,用于生成测试用例序列、优化测试用例序列以及测试用例的划分等工作;
测试描述单元,用于描述测试用例的信息;
测试配置单元,用于输入测试用例的运行方面的配置信息;
测试集创建单元,用于创建测试用例集,每个测试集都包含一个机上代理程序、若干个测试用例及其相关辅助文档;
测试集管理单元,用于操作以及管理测试集在机上的运行;
测试结果收集单元,用于在完成测试集上的所有测试用例后,收集全部测试结果;
测试报告生成单元,用于统计汇总,并生成测试报告;
显示单元,用于显示统计结果;
通信服务单元,用于在客户端和服务器端之间提供API级的消息服务;
客户端具有:机上应用程序管理单元,用于管理Java Me移动应用程序的下载、解压、安装、删除、运行;
机上代理单元,用于配置并执行测试用例及间接调用被测应用程序,并将执行结果与期望结果进行比较验证,并上报测试结果;
所述被测项目管理单元导入被测程序,测试人员根据被测程序的功能说明,通过测试用例生成单元生成测试用例中的测试代码,测试集创建单元调用所述测试描述单元获取的测试用例的描述信息及测试用例生成单元生成的测试代码,再根据所述测试配置单元的运行环境配置信息完成测试用例集的创建,并交由所述测试集管理单元运行测试集,所述测试集管理单元与通信服务单元建立通信连接等待客户端请求,机上应用程序管理单元通过所述通信服务单元向所述测试集管理单元请求下发测试包,所述机上应用程序管理单元解包处理下发来的测试包并交与所述机上代理单元,所述机上代理单元获得代理程序代码和测试用例,并启动所述机上代理单元执行代理程序;上述执行结果通过通信服务单元交与测试集管理单元后,由所述测试结果收集单元汇总,所述测试报告生成单元生成测试报告,并交由所述显示单元显示。
2、根据权利要求1所述的用于移动应用程序的机上测试系统,其特征在于:所述测试用例生成单元能够根据在服务器端编写的程序规约说明文件生成相应的有限状态机,通过搜索状态机的迁移路径生成测试用例。
3、根据权利要求1所述的用于移动应用程序的机上测试系统,其特征在于:服务器端调用所述测试集创建单元,间接调用所述测试描述单元获取测试用例的描述信息,定位被测程序,发现测试用例,读取配置文件,完成测试用例集的创建。
4、根据权利要求1所述的用于移动应用程序的机上测试系统,其特征在于:服务器端调用所述测试集管理单元运行测试集,间接调用所述通信服务单元建立通信连接等待客户端请求。
5、根据权利要求1所述的用于移动应用程序机上的测试系统,其特征在于:所述机上代理单元的代理程序请求下一个待执行的测试用例名称,并依次执行该测试用例,并通过所述通信服务单元上报执行结果。
6、根据权利要求1所述的用于移动应用程序机上的测试系统,其特征在于:通过所述测试配置单元还可以进行测试用例的选择条件和运行环境信息,包括包含条件、排除条件、运行平台。
7、根据权利要求1所述的用于移动应用程序机上的测试系统,其特征在于:所述测试结果收集单元收集完测试结果后,所述显示单元可以显示出图形化的测试统计报告。
CN200920012476U 2009-03-25 2009-03-25 用于移动应用程序的机上测试系统 Expired - Lifetime CN201392526Y (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200920012476U CN201392526Y (zh) 2009-03-25 2009-03-25 用于移动应用程序的机上测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200920012476U CN201392526Y (zh) 2009-03-25 2009-03-25 用于移动应用程序的机上测试系统

Publications (1)

Publication Number Publication Date
CN201392526Y true CN201392526Y (zh) 2010-01-27

Family

ID=41599345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200920012476U Expired - Lifetime CN201392526Y (zh) 2009-03-25 2009-03-25 用于移动应用程序的机上测试系统

Country Status (1)

Country Link
CN (1) CN201392526Y (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521899B (zh) * 2009-03-31 2010-11-17 大连海事大学 用于移动应用程序的机上测试系统和方法
CN102479152A (zh) * 2010-11-26 2012-05-30 腾讯科技(深圳)有限公司 基于Android平台获取工具自动测试结果的方法及装置
CN102880535A (zh) * 2012-07-24 2013-01-16 北京播思软件技术有限公司 一种用于移动设备的无线自动化测试装置及方法
CN103207828A (zh) * 2012-01-12 2013-07-17 上海盛霄云计算技术有限公司 一种代码测试方法及系统
CN103365661A (zh) * 2013-07-11 2013-10-23 盛科网络(苏州)有限公司 自动化测试脚本的开发方法和系统
CN104156311A (zh) * 2014-08-05 2014-11-19 北京控制工程研究所 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法
CN104618955A (zh) * 2015-03-04 2015-05-13 上海华东电信研究院 一种移动通信终端一致性测试项目集生成方法及其生成系统
CN104699616A (zh) * 2015-03-31 2015-06-10 北京奇虎科技有限公司 一种应用测试的方法、装置及系统
CN106940648A (zh) * 2016-01-04 2017-07-11 苏州普源精电科技有限公司 一种自动加载测试项的方法、设备以及测试系统
CN107577600A (zh) * 2017-08-23 2018-01-12 国家新闻出版广电总局广播科学研究院 一种设备的测试方法、装置和计算机设备
CN110928760A (zh) * 2018-09-20 2020-03-27 杭州海康汽车技术有限公司 一种嵌入式系统中的单元测试方法与装置
CN112527616A (zh) * 2020-12-14 2021-03-19 北京达佳互联信息技术有限公司 数据处理方法及其装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521899B (zh) * 2009-03-31 2010-11-17 大连海事大学 用于移动应用程序的机上测试系统和方法
CN102479152A (zh) * 2010-11-26 2012-05-30 腾讯科技(深圳)有限公司 基于Android平台获取工具自动测试结果的方法及装置
CN102479152B (zh) * 2010-11-26 2015-04-22 腾讯科技(深圳)有限公司 基于Android平台获取工具自动测试结果的方法及装置
CN103207828A (zh) * 2012-01-12 2013-07-17 上海盛霄云计算技术有限公司 一种代码测试方法及系统
CN102880535B (zh) * 2012-07-24 2015-10-28 播思通讯技术(北京)有限公司 一种用于移动设备的无线自动化测试装置及方法
CN102880535A (zh) * 2012-07-24 2013-01-16 北京播思软件技术有限公司 一种用于移动设备的无线自动化测试装置及方法
CN103365661A (zh) * 2013-07-11 2013-10-23 盛科网络(苏州)有限公司 自动化测试脚本的开发方法和系统
CN104156311B (zh) * 2014-08-05 2017-09-29 北京控制工程研究所 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法
CN104156311A (zh) * 2014-08-05 2014-11-19 北京控制工程研究所 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法
CN104618955A (zh) * 2015-03-04 2015-05-13 上海华东电信研究院 一种移动通信终端一致性测试项目集生成方法及其生成系统
CN104618955B (zh) * 2015-03-04 2017-12-05 上海华东电信研究院 一种移动通信终端一致性测试项目集生成方法及其生成系统
CN104699616A (zh) * 2015-03-31 2015-06-10 北京奇虎科技有限公司 一种应用测试的方法、装置及系统
CN104699616B (zh) * 2015-03-31 2016-12-07 北京奇虎科技有限公司 一种应用测试的方法、装置及系统
CN106940648A (zh) * 2016-01-04 2017-07-11 苏州普源精电科技有限公司 一种自动加载测试项的方法、设备以及测试系统
CN107577600A (zh) * 2017-08-23 2018-01-12 国家新闻出版广电总局广播科学研究院 一种设备的测试方法、装置和计算机设备
CN110928760A (zh) * 2018-09-20 2020-03-27 杭州海康汽车技术有限公司 一种嵌入式系统中的单元测试方法与装置
CN112527616A (zh) * 2020-12-14 2021-03-19 北京达佳互联信息技术有限公司 数据处理方法及其装置

Similar Documents

Publication Publication Date Title
CN201392526Y (zh) 用于移动应用程序的机上测试系统
CN101521899B (zh) 用于移动应用程序的机上测试系统和方法
CN103198009B (zh) 一种通用测试方法、系统及相应装置
Lu et al. Unlocking the power of OPNET modeler
US20080037452A1 (en) Method Supplying Content to a Device
CN105094783A (zh) 安卓应用稳定性测试的方法及装置
CN110716853A (zh) 一种测试脚本录制方法、应用程序测试方法和相关装置
CN110362490B (zh) 融合iOS与Android移动应用的自动化测试方法及系统
CN103329108A (zh) 测试装置
CA2698066A1 (en) System and method for remotely compiling multi-platform native applications for mobile devices
CN110013672B (zh) 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质
CN1248116C (zh) 一种基于主机平台的嵌入式模块和子系统的通用测试装置
CN105912473A (zh) 基于bdd的移动app自动测试平台和测试方法
CN108536451A (zh) 应用程序的埋点注入方法和装置
CN103544100A (zh) 便携数据处理设备应用程序的测试方法、系统和客户端
CN109800135A (zh) 一种信息处理方法及终端
WO2007061241A1 (en) Error test method for mobile communication terminals
US20040138970A1 (en) Scripting designer for a billing mediation system
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
CN109857637A (zh) 一种基于注解的Java语言方法覆盖率和方法输入输出统计方法及装置
CN202795345U (zh) 应用软件测试系统
KR20150003651A (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 제어방법
CN113064816B (zh) 一种可编程逻辑器件软件的测试装置及测试方法
CN114356704A (zh) 一种面向云网端流式数据的软件定义方法和系统
CN101141767A (zh) 一种网络管理平台测试系统及方法

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
AV01 Patent right actively abandoned

Granted publication date: 20100127

Effective date of abandoning: 20090325