CN103049371A - Android应用程序测试方法和测试装置 - Google Patents

Android应用程序测试方法和测试装置 Download PDF

Info

Publication number
CN103049371A
CN103049371A CN2012104418756A CN201210441875A CN103049371A CN 103049371 A CN103049371 A CN 103049371A CN 2012104418756 A CN2012104418756 A CN 2012104418756A CN 201210441875 A CN201210441875 A CN 201210441875A CN 103049371 A CN103049371 A CN 103049371A
Authority
CN
China
Prior art keywords
test
operation steps
configuration values
test case
time
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.)
Pending
Application number
CN2012104418756A
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.)
Qingdao Hisense Media Network Technology Co Ltd
Original Assignee
Qingdao Hisense Media Network Technology 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 Qingdao Hisense Media Network Technology Co Ltd filed Critical Qingdao Hisense Media Network Technology Co Ltd
Priority to CN2012104418756A priority Critical patent/CN103049371A/zh
Publication of CN103049371A publication Critical patent/CN103049371A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Android应用程序测试方法和测试装置,所述方法包括:从测试用例中解析出各操作步骤的关键字的配置值;依据解析出的各操作步骤的序号的配置值,依次执行各操作步骤的测试;对其中一个操作步骤执行的测试为:调用元素操作工具,所述元素操作工具根据该操作步骤的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI元素进行相应操作。这样,测试人员可以方便地配置基于关键字的测试用例;通过对测试用例中的关键字进行解析,并在底层调用相关工具实现对被测应用程序中的UI元素的操作,从而自动完成测试过程;从而大大为测试人员提供了测试的便捷性。

Description

Android应用程序测试方法和测试装置
技术领域
本发明涉及程序测试领域,尤其涉及一种Android应用程序测试方法和测试装置。 
背景技术
软件测试,一直都是应用程序开发中非常关键也是非常繁琐的一环,对Android(安卓)应用程序的测试来说尤其如此。随着基于Android操作***的智能设备的日益普及,Android应用程序数量也越来越多,功能越来越复杂,针对Android应用程序的功能测试、稳定性测试也显得愈发重要。 
由于Android兴起较晚,Android测试手段相对于其它的软件测试来说相对落后,目前大量的Android应用程序的测试都是依赖于人工完成,这些测试工作不仅重复性较高,且人力投入比较大;因此迫切的需要Android自动化测试技术来提高测试效率,节省测试的人力物力投入。 
目前Android自动化测试工具有Monkey(猴子工具,谷歌提供的一种自动化随机测试工具)、MonkeyRunner(猴子跑步工具,另一种自动化随机测试工具)等,测试人员利用这些工具编写测试脚本时需依赖于编程的实现。而现实情况是,对于测试人员,其编程基础往往比较薄弱,很难有效的利用这些工具,自动化用例编写成本和维护成本都较大,因此需要一种更为方便测试人员应用的、无需编程的Android自动化测试框架来帮助测试人员完成自动化测试。 
公开号为CN102521118的专利“一种Android程序的自动测试方法”、公开号为CN101957793的专利“一种面向Android及其衍生***的软件操作录制回放方法”以及公开号为CN102419732的专利“基于android平台的自动化测试方法及测试工具”,均通过录制-回放的方式实现Android应用程序的自动化测试,即首先通过录制操作事件并生成android平台可执行脚本的脚本录制步骤;其次在设备对象接收到执行脚本的命令后执行所述可执行脚本的脚本执行步骤。这种录制-回放式的自动化测试方法操作相对来说比较简单,无需编程,但严重依赖与屏幕的尺寸和坐标,一旦屏幕尺寸发生改变或界面布局发生变化,则测试人员需重新录制脚本;因此,这种录制-回放的测试方式仍然会比较麻烦,不够便捷。 
此外,公开号为CN102141960的专利“一种基于Android的自动化测试方法”将测试用例生成APK文件,调用Monkey指令实现自动化。该方法操作界面可视化。但此方法在编写测试用例时,由于是通过打包成APK(Android Application Package,安卓应用程序安装包)的方式,对编程技能要求较高,需要测试用例编写人员熟悉Android应用开发才能编写测试用例。 
综上所述,现有技术的Android应用程序的测试方法不够便捷,需要一种更为方便测试人员应用的、无需编程的Android自动化测试方法。 
发明内容
本发明的实施例提供了一种Android应用程序测试方法和测试装置,可以更为方便地实现对Android应用程序的测试。 
根据本发明的一个方面,提供了一种Android应用程序测试方法,包括: 
从测试用例中解析出各操作步骤的关键字的配置值;其中,所述操作步骤的关键字包括:序号、操作类型、操作对象;所述操作对象的配置值为UI元素的标识或文本信息; 
依据解析出的各操作步骤的序号的配置值,依次执行各操作步骤的测试;对其中一个操作步骤执行的测试为:调用元素操作工具,所述元素操作工具根据该操作步骤的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI元素进行相应操作。 
进一步,所述操作步骤的关键字还包括:校验值,所述校验值的配置值为期望UI元素的标识或文本信息; 
在执行操作步骤的测试后,还包括: 
将该操作步骤的校验值的配置值与所述元素操作工具返回的执行结果进行比对;若所述执行结果中包含有该操作步骤的校验值的配置值,则确认该操作步骤的测试结果为成功;否则,确认该操作步骤的测试结果为失败。 
进一步,在所述确认该操作步骤的测试结果为失败后,还包括: 
通过所述元素操作工具对被测的Android应用程序进行截屏操作,保留屏幕信息。 
较佳地,所述操作步骤的关键字还包括:输入值;以及 
所述对其中一个操作步骤执行的测试,还包括:若该操作步骤的操作类型的配置值为input,则所述元素操作工具还根据该操作步骤的输入值的配置值,对被测的Android应用程序中的相应UI元素进行输入操作。 
较佳地,所述测试用例是基于可扩展标示语言XML的;以及 
在所述依次执行各操作步骤的测试之前,还包括: 
从所述测试用例中解析出如下关键字的配置值:超时时间、循环次数、步骤间隔;以及 
在所述执行各操作步骤的测试时,还包括: 
监控测试所耗时间;若监控的时间超过超时时间的配置值则提出告警信息; 
依据解析出的步骤间隔的配置值,控制执行各操作步骤之间的时间间隔; 
依据解析出的循环次数的配置值,控制执行各操作步骤的测试的循环次数。 
根据本发明的另一个方面,还提供了一种Android应用程序测试装置,包括: 
测试用例解析模块,用于从测试用例中解析出各操作步骤的关键字的配置值;其中,所述操作步骤的关键字包括:序号、操作类型、操作对象;所述操作对象的配置值为UI元素的标识或文本信息; 
测试执行模块,用于依据所述测试用例解析模块解析出的各操作步骤的序号的配置值,依次执行各操作步骤的测试;对其中一个操作步骤执行的测试为:调用元素操作工具,所述元素操作工具根据该操作步骤的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI元素进行相应操作。 
进一步,所述装置还包括: 
测试用例生成模块,用于根据测试者输入的各操作步骤的关键字的配置值,生成所述测试用例; 
测试用例存储模块,用于存储所述测试用例生成模块生成的测试用例;以及 
所述测试用例解析模块还用于从所述测试用例存储模块获取所述测试用例。 
较佳地,所述操作步骤的关键字还包括:校验值,所述校验值的配置值为期望UI元素的标识或文本信息;以及 
测试执行模块还用于在所述元素操作工具根据该操作步骤的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI元素进行相应操作后,获取所述元素操作工具返回的执行结果;以及 
所述装置还包括: 
测试结果判定模块,用于从所述测试执行模块获取所述执行结果,并将该操作步骤的校验值的配置值与所述执行结果进行比对;若所述执行结果中包含有该操作步骤的校验值的配置值,则确认该操作步骤的测试结果为成功;否则,确认该操作步骤的测试结果为失败。 
进一步,所述装置还包括: 
测试结果显示模块,用于获取所述测试结果判定模块确认的各操作步骤的测试结果,并以HTML页面形式进行显示。 
进一步,所述测试用例生成模块还用于还根据测试者输入的如下关键字的配置值生成所述测试用例:超时时间、循环次数、步骤间隔;以及 
所述测试用例解析模块还用于从所述测试用例中解析出所述超时时间、循环次数、步骤间隔的配置值;以及 
所述测试执行模块还用于获取所述测试用例解析模块解析出的超时时间、循环次数、步骤间隔的配置值;并在所述依次执行各操作步骤的测试时,监控测试所耗时间;若监控的时间超过所述超时时间的配置值则提出告警信息;依据所述步骤间隔的配置值,控制执行各操作步骤之间的时间间隔;依据所述循环次数的配置值,控制执行各操作步骤的测试的循环次数。 
本发明实施例的技术方案中,由于测试人员可以方便地配置基于关键字的测试用例;而通过对测试用例中的关键字进行解析,并在底层调用元素操作工具实现对被测应用程序中的UI元素的操作,从而自动完成测试过程。这样,测试人员只需进行简单的关键字配置,不需要进行复杂的编程就可生成测试用例进行测试;而且,即使屏幕尺寸发生改变或界面布局发生变化,仍然可使用之前配置了关键字的测试用例进行测试,不需重新生成测试用例,大大为测试人员提供了测试的便捷性。 
附图说明
图1为本发明实施例的支持多种协议的基于消息的测试方法流程图; 
图2为本发明实施例的支持多种协议的基于消息的测试***结构示意图; 
图3为本发明实施例的Android应用程序测试方法流程图; 
图4为本发明实施例的测试驱动模块内部结构示意图。 
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的 理解,即便没有这些特定的细节也可以实现本发明的这些方面。 
本申请使用的“模块”、“***”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。 
本发明的发明人对Android应用程序的测试过程进行分析,发现对Android应用程序的测试可以分解为多个操作步骤,在每个操作步骤中分别针对某个UI元素进行操作,例如,针对某个UI元素进行click(点击)、或input(输入)操作等。基于该分析,本发明提供的基于关键字的测试用例中,测试人员针对每个操作步骤配置的关键字包括:序号(index)、操作类型(operation type)、操作对象(target)、输入值(value)等。而测试人员对测试用例中的关键字进行配置,即设置测试用例中的关键字的值,便可完成测试用例的生成。 
本发明实施例提供的测试装置可以自动解析测试用例,根据测试用例中的关键字在底层调用元素操作工具,如MonkeyRunner、Monkey等,执行测试并返回执行结果,完成测试。除了调用MonkeyRunner或Monkey工具封装的各种接口,也可以直接调用Adb Shell指令(ADB壳命令)作为元素操作工具,来完成对UI元素的各种操作。ADB(Android Debug Bridge,安卓调试桥)壳命令是android提供的一套命令行工具。为便于描述,本文中将可以在底层对Android应用程序中的UI(User Interface,用户界面)元素进行操作的工具统称为元素操作工具。由于技术人员只需进行简单的关键字配置,不需要进行复杂的编程就可生成测试用例进行测试,使得技术人员可以更为便捷地进行Android应用程序的测试;而且,相对于录制-回放的测试方法,不需录制脚本,即使屏幕尺寸发生改变或界面布局发生变化,仍然可使用之前配置了关键字的测试用例进行测试,不需重新生成测试用例,大大为测试人员提供了测试的便捷性。 
下面结合附图详细说明本发明实施例的技术方案。本发明实施例的技术方案中,生成基于关键字的测试用例的方法流程,如图1所示,包括如下步骤: 
S101:测试人员配置测试用例中各操作步骤的关键字。 
在本步骤中,测试人员按测试过程中各操作步骤执行的顺序,依次配置各操作步骤的关键字。测试人员可以通过软件提供的测试用例生成界面,输入各操作步骤的关键字的配置值; 
具体地,测试人员可以通过测试用例生成界面进行各操作步骤的关键字的如下配置: 
输入整数数值作为操作步骤的序号的配置值,操作步骤的序号的配置值用以表示操作步骤执行的顺序;例如,依次输入的各操作步骤的序号的配置值分别为1、2、3、4、5…… 
输入操作类型的名称或标识,如click、input等,作为操作步骤的操作类型的配置值; 
输入UI元素的标识(ID)或文本信息作为操作步骤的操作对象的配置值; 
若配置的操作步骤的操作类型的值为input(输入),则还需配置该操作步骤的输入值,用以在对UI元素进行input操作时,作为input操作的输入值。 
S102:根据测试人员配置的关键字生成测试用例。 
根据配置的各操作步骤的关键字所生成的测试用例具体可以是基于XML(Extensive Makeup Language,可扩展标示语言)格式的,或者文本格式的,或者脚本语言形式的。较佳地,基于XML的测试用例更便于解析。 
应用上述步骤生成的测试用例进行Android应用程序测试的***,如图2所示,包括:测试装置101和被测设备102。 
测试装置101根据上述步骤生成的测试用例,对被测设备102中的Android应用程序进行测试;具体的测试方法流程如图3所示,包括如下步骤: 
S301:测试装置101与被测设备102建立连接后,测试装置101发送指令启动被测设备102中被测的Android应用程序。 
在本步骤中,测试装置101发送adb connect指令连接到被测设备102后,再向被测设备102发送am start指令启动被测的Android应用程序。 
S302:测试装置101解析出测试用例中各操作步骤的关键字的配置值。 
在本步骤中,针对每个操作步骤,测试装置101解析出测试用例中该操作步骤的关键字的配置值,即解析出该操作步骤的序号、操作类型、操作对象、输入值的配置值。 
S303:测试装置101根据解析出的操作步骤的序号的配置值,依次执行各操作步骤的测试。 
具体地,测试装置101根据解析出的各操作步骤的序号的配置值,依次执行对各操作步骤的测试。对其中一个操作步骤执行测试的具体过程为:根据解析出的该操作步骤的操作类型、操作对象的配置值,调用元素操作工具,比如MonkeyRunner工具;元素操作工具根据该操作步骤的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI(user interface,用户界面)元素进行相应操作;例如,调用MonkeyRunner工具后,MonkeyRunner工具根据为操作对象所配置的UI元素的标识或文本信息,以及为操作类型配置的操作类型名称或标识,对被测的Android应用程序中的相应UI元素进行相应操作,例如对某个相应UI元素进行点击(click)操作,完成测试过程中的该操作步骤。 
对于操作类型的配置值为input(输入)的操作步骤,对该操作步骤执行测试的具体过程为:调用MonkeyRunner工具后,MonkeyRunner工具根据该操作步骤的操作类型和操作对象的配置值,还根据该操作步骤的输入值的配置值,对被测的Android应用程序中的相应UI元素,根据输入值的配置值进行输入操作。 
S304:测试装置101获取测试执行结果,根据测试用例中的操作步骤的检验值(verify),判断出测试结果并记录。 
进一步,针对每个操作步骤,测试用例中的操作步骤的关键字还可包括:检验值(verify);测试人员在上述步骤S101中也可对操作步骤的检验值进行配置:测试人员可以通过测试用例生成界面,输入期望UI元素的标识或文本信息作为操作步骤的检验值。 
在上述步骤S303根据解析出的操作步骤的操作类型、操作对象的配置值,调用元素操作工具执行了一个操作步骤的测试后,元素操作工具还可返回该操作步骤的执行结果;例如,调用MonkeyRunner工具后,MonkeyRunner工具返回一个UI元素集合,以及该集合中每个UI元素的属性信息,作为该操作步骤的执行结果。 
测试装置101在获取元素操作工具返回的执行结果后,将该操作步骤的检验值的配置值与执行结果进行比对;若比对出执行结果中包含有该操作步骤的检验值的配置值,即执行结果中包含有期望UI元素的标识或文本信息,则认为执行结果为期望的执行结果,确认该操作步骤的测试结果为成功,可记录该操作步骤的测试结果为Pass,即该操作步骤的测试结果为通过;否则,确认该操作步骤的测试结果为失败,记录该操作步骤的测试结果为失败Fail。 
较佳地,在确认该操作步骤的测试结果为失败后,测试装置101通过元素操作工具对被测的Android应用程序进行截屏操作(screenshot),保留出错时的屏幕信息,便于测试结束后进行分析。 
S305:清理测试场景。 
在依次执行测试用例中的各操作步骤的测试完毕后,为保证后续的测试用例不会受到影响,则进行清理测试场景的操作,具体包括:关闭当前的被测的Android应用程序;若有出错界面,还要关闭出错界面。 
S306:显示根据测试用例执行测试的测试结果。 
具体地,将上述各操作步骤的测试结果,作为根据测试用例执行测试的测试结果进行显示。 
较佳地,可通过HTML(Hypertext Markup Language,超文本标记语言)页面的形式进行测试结果的显示:针对每个测试用例显示的测试结果包括一个Global Result(测试总结果)以及多个Step Results(操作步骤的测试结果)。其中Global Result代表该测试用例最终的测试结果(Pass代表执行通过,Fail代表失败);Step Results则是测试用例中每个操作步骤的测试结果(Pass代表执行通过,Fail代表失败)。此外,测试结果的HTML页面上还有测试结果报表的链接;通过该链接,可以查看测试结果报表,在测试结果报表中集成了在测试过程中保存的出错时的屏幕信息,以及在测试过程中测试装置101通过向被测设备102发送logcat指令获取的Logcat日志,在测试过程中测试装置101通过向被测设备102发送dumpsys指令获取的CPU内存使用情况等信息。 
测试人员通过保存的出错时的屏幕信息可以直观观察测试出错的界面,通过Logcat日志、CPU(Central Processing Unit,中央处理机)内存使用等信息便于定位出错信息。 
更优地,测试用例中的关键字还可包括:超时时间、循环次数、步骤间隔等; 
测试人员在上述步骤S101中还可对关键字:超时时间、循环次数、步骤间隔进行配置;即通过测试用例生成界面,输入超时时间、循环次数、步骤间隔的配置值。 
测试装置101在上述步骤S302中还可从测试用例中解析出超时时间的配置值、循环次数的配置值、步骤间隔的配置值; 
测试装置101依据解析出的超时时间的配置值,监控上述步骤S303中依 次执行各操作步骤的测试所耗时间;若监控的时间超过超时时间的配置值则提出告警信息; 
测试装置101依据解析出的步骤间隔的配置值,控制执行各操作步骤之间的时间间隔; 
测试装置101依据解析出的循环次数的配置值,控制执行各操作步骤的测试的循环次数。 
图4示出了上述的测试装置101中的内部结构框图,包括:测试用例解析模块401、测试执行模块402、测试用例生成模块403、测试用例存储模块404。 
测试用例生成模块403用于根据测试者输入的测试用例中的各操作步骤的关键字的配置值,生成所述测试用例;进一步,测试用例生成模块403还可接收如下关键字的配置值:超时时间、循环次数、步骤间隔;并还根据这些关键字来生成所述测试用例。具体地,测试用例解析模块401可提供测试用例生成界面,测试人员通过测试用例生成界面输入各操作步骤的关键字的配置值,以及超时时间、循环次数、步骤间隔等关键字的配置值。 
测试用例存储模块404用于存储所述测试用例生成模块生成的测试用例。 
测试用例解析模块401用于从测试用例中解析出各操作步骤的关键字的配置值;其中,所述操作步骤的关键字包括:序号、操作类型、操作对象;所述操作对象的配置值为UI元素的标识或文本信息;进一步,测试用例解析模块401还用于从所述测试用例中解析出所述超时时间、循环次数、步骤间隔的配置值。 
测试执行模块402用于依据测试用例解析模块401解析出的各操作步骤的序号的配置值,依次执行各操作步骤的测试;对其中一个操作步骤执行的测试为:调用元素操作工具,所述元素操作工具根据该操作步骤的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI元素进行相应操作。进一步,测试执行模块402还用于获取测试用例解析模块401解析出的超时时间、循环次数、步骤间隔的配置值;并在所述依次执行各操作步骤的测试时,监控测试所耗时间;若监控的时间超过所述超时时间的配置值则提出告警信息;依据所述步骤间隔的配置值,控制执行各操作步骤之间的时间间隔;依据所述循环次数的配置值,控制执行各操作步骤的测试的循环次数。 
进一步,测试执行模块402还用于在所述元素操作工具根据该操作步骤 的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI元素进行相应操作后,获取所述元素操作工具返回的执行结果。 
进一步,测试装置101中还包括:测试结果判定模块405、测试结果显示模块406。 
测试结果判定模块405用于从测试执行模块402获取所述执行结果,并将该操作步骤的校验值的配置值与所述执行结果进行比对;若所述执行结果中包含有该操作步骤的校验值的配置值,则确认该操作步骤的测试结果为成功;否则,确认该操作步骤的测试结果为失败。 
测试结果显示模块406用于获取测试结果判定模块405确认的各操作步骤的测试结果,并以HTML页面形式进行显示。 
本发明实施例的技术方案中,由于测试用例基于关键字构成,测试人员可以方便地配置基于关键字的测试用例;通过对测试用例中的关键字进行解析,并在底层调用元素操作工具实现对被测应用程序中的UI元素的操作,可以自动完成测试过程。这样,测试人员只需进行简单的关键字配置,不需要进行复杂的编程就可生成测试用例进行测试;而且,即使屏幕尺寸发生改变或界面布局发生变化,仍然可使用之前配置了关键字的测试用例进行测试,不需重新生成测试用例,大大为测试人员提供了测试的便捷性。 
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。 
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。 

Claims (10)

1.一种Android应用程序测试方法,包括:
从测试用例中解析出各操作步骤的关键字的配置值;其中,所述操作步骤的关键字包括:序号、操作类型、操作对象;所述操作对象的配置值为UI元素的标识或文本信息;
依据解析出的各操作步骤的序号的配置值,依次执行各操作步骤的测试;对其中一个操作步骤执行的测试为:调用元素操作工具,所述元素操作工具根据该操作步骤的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI元素进行相应操作。
2.如权利要求1所述的方法,其特征在于,所述操作步骤的关键字还包括:校验值,所述校验值的配置值为期望UI元素的标识或文本信息;
在执行操作步骤的测试后,还包括:
将该操作步骤的校验值的配置值与所述元素操作工具返回的执行结果进行比对;若所述执行结果中包含有该操作步骤的校验值的配置值,则确认该操作步骤的测试结果为成功;否则,确认该操作步骤的测试结果为失败。
3.如权利要求2所述的方法,其特征在于,在所述确认该操作步骤的测试结果为失败后,还包括:
通过所述元素操作工具对被测的Android应用程序进行截屏操作,保留屏幕信息。
4.如权利要求1-3任一所述的方法,其特征在于,所述操作步骤的关键字还包括:输入值;以及
所述对其中一个操作步骤执行的测试,还包括:若该操作步骤的操作类型的配置值为input,则所述元素操作工具还根据该操作步骤的输入值的配置值,对被测的Android应用程序中的相应UI元素进行输入操作。
5.如权利要求4所述的方法,其特征在于,所述测试用例是基于可扩展标示语言XML的;以及
在所述依次执行各操作步骤的测试之前,还包括:
从所述测试用例中解析出如下关键字的配置值:超时时间、循环次数、步骤间隔;以及
在所述执行各操作步骤的测试时,还包括:
监控测试所耗时间;若监控的时间超过超时时间的配置值则提出告警信息;
依据解析出的步骤间隔的配置值,控制执行各操作步骤之间的时间间隔;
依据解析出的循环次数的配置值,控制执行各操作步骤的测试的循环次数。
6.一种Android应用程序测试装置,包括:
测试用例解析模块,用于从测试用例中解析出各操作步骤的关键字的配置值;其中,所述操作步骤的关键字包括:序号、操作类型、操作对象;所述操作对象的配置值为UI元素的标识或文本信息;
测试执行模块,用于依据所述测试用例解析模块解析出的各操作步骤的序号的配置值,依次执行各操作步骤的测试;对其中一个操作步骤执行的测试为:调用元素操作工具,所述元素操作工具根据该操作步骤的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI元素进行相应操作。
7.如权利要求6所述的装置,其特征在于,还包括:
测试用例生成模块,用于根据测试者输入的各操作步骤的关键字的配置值,生成所述测试用例;
测试用例存储模块,用于存储所述测试用例生成模块生成的测试用例;以及
所述测试用例解析模块还用于从所述测试用例存储模块获取所述测试用例。
8.如权利要求7所述的装置,其特征在于,所述操作步骤的关键字还包括:校验值,所述校验值的配置值为期望UI元素的标识或文本信息;以及
测试执行模块还用于在所述元素操作工具根据该操作步骤的操作类型和操作对象的配置值,对被测的Android应用程序中的相应UI元素进行相应操作后,获取所述元素操作工具返回的执行结果;以及
所述装置还包括:
测试结果判定模块,用于从所述测试执行模块获取所述执行结果,并将该操作步骤的校验值的配置值与所述执行结果进行比对;若所述执行结果中包含有该操作步骤的校验值的配置值,则确认该操作步骤的测试结果为成功;否则,确认该操作步骤的测试结果为失败。
9.如权利要求8所述的装置,其特征在于,还包括:
测试结果显示模块,用于获取所述测试结果判定模块确认的各操作步骤的测试结果,并以HTML页面形式进行显示。
10.如权利要求7-9任一所述的装置,其特征在于,
所述测试用例生成模块还用于还根据测试者输入的如下关键字的配置值生成所述测试用例:超时时间、循环次数、步骤间隔;以及
所述测试用例解析模块还用于从所述测试用例中解析出所述超时时间、循环次数、步骤间隔的配置值;以及
所述测试执行模块还用于获取所述测试用例解析模块解析出的超时时间、循环次数、步骤间隔的配置值;并在所述依次执行各操作步骤的测试时,监控测试所耗时间;若监控的时间超过所述超时时间的配置值则提出告警信息;依据所述步骤间隔的配置值,控制执行各操作步骤之间的时间间隔;依据所述循环次数的配置值,控制执行各操作步骤的测试的循环次数。
CN2012104418756A 2012-11-07 2012-11-07 Android应用程序测试方法和测试装置 Pending CN103049371A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012104418756A CN103049371A (zh) 2012-11-07 2012-11-07 Android应用程序测试方法和测试装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012104418756A CN103049371A (zh) 2012-11-07 2012-11-07 Android应用程序测试方法和测试装置

Publications (1)

Publication Number Publication Date
CN103049371A true CN103049371A (zh) 2013-04-17

Family

ID=48062018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012104418756A Pending CN103049371A (zh) 2012-11-07 2012-11-07 Android应用程序测试方法和测试装置

Country Status (1)

Country Link
CN (1) CN103049371A (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259697A (zh) * 2013-04-19 2013-08-21 福州瑞芯微电子有限公司 android平台上利用UWB设备进行ADB调试的方法
CN103309664A (zh) * 2013-05-31 2013-09-18 北京小米科技有限责任公司 截图方法、装置和设备
CN103353858A (zh) * 2013-06-06 2013-10-16 百度在线网络技术(北京)有限公司 一种基于动作触摸模拟的自动化测试方法和装置
CN103942146A (zh) * 2014-04-22 2014-07-23 上海斐讯数据通信技术有限公司 一种可视化Monkey测试方法及装置
CN104063324A (zh) * 2014-07-10 2014-09-24 上海斐讯数据通信技术有限公司 一种Monkey测试方法及***
CN104199767A (zh) * 2014-08-19 2014-12-10 北京金山安全软件有限公司 测试方法和装置
CN104331373A (zh) * 2014-11-28 2015-02-04 上海斐讯数据通信技术有限公司 一种Monkey测试***及方法
CN104866384A (zh) * 2014-02-20 2015-08-26 纬创资通股份有限公司 快速测试及检测移动装置的方法及***
CN105100900A (zh) * 2015-08-19 2015-11-25 Tcl海外电子(惠州)有限公司 兼容测试认证的方法和装置
CN105094783A (zh) * 2014-05-19 2015-11-25 腾讯科技(深圳)有限公司 安卓应用稳定性测试的方法及装置
CN105608012A (zh) * 2016-03-10 2016-05-25 武汉斗鱼网络科技有限公司 一种自动化测试方法及***
CN105868100A (zh) * 2015-12-22 2016-08-17 乐视网信息技术(北京)股份有限公司 基于Android***的自动化测试方法及装置
CN106341684A (zh) * 2016-09-05 2017-01-18 Tcl集团股份有限公司 一种自动生成安卓电视测试脚本的方法及***
CN106951777A (zh) * 2017-03-06 2017-07-14 西安电子科技大学 安卓应用运行时用户界面的推断方法
CN108170494A (zh) * 2017-12-28 2018-06-15 上海传英信息技术有限公司 一种用于智能终端的应用程序启动方法及启动***
CN108304329A (zh) * 2018-02-13 2018-07-20 论客科技(广州)有限公司 一种测试用例的设计方法、装置、终端及可读存储介质
CN108733568A (zh) * 2018-05-25 2018-11-02 平安科技(深圳)有限公司 应用测试方法、装置、设备及可读存储介质
CN109189688A (zh) * 2018-09-11 2019-01-11 北京奇艺世纪科技有限公司 一种测试用例脚本的生成方法、生成装置及电子设备
CN109491919A (zh) * 2018-11-28 2019-03-19 中电科西北集团有限公司 一种软件测试方法及测试平台
CN109918288A (zh) * 2019-01-16 2019-06-21 北京互金新融科技有限公司 用例测试方法及装置
WO2019136852A1 (zh) * 2018-01-10 2019-07-18 武汉斗鱼网络科技有限公司 应用程序启动日志保存方法、存储介质、电子设备及***
CN110704709A (zh) * 2019-08-27 2020-01-17 北京金堤科技有限公司 应用数据抓取方法和装置、存储介质、电子设备
CN111190825A (zh) * 2019-12-28 2020-05-22 深圳市优必选科技股份有限公司 自动测试方法、***及机器人
CN111651359A (zh) * 2020-06-08 2020-09-11 北京首汽智行科技有限公司 一种app稳定性测试方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204784A1 (en) * 2002-04-29 2003-10-30 Jorapur Gopal P. System and method for automatic test case generation
CN101339532A (zh) * 2007-07-06 2009-01-07 ***股份有限公司 一种Web应用***的自动化测试方法及装置
CN102541740A (zh) * 2012-01-04 2012-07-04 广东欧珀移动通信有限公司 一种基于Android的手机便签自动化测试方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204784A1 (en) * 2002-04-29 2003-10-30 Jorapur Gopal P. System and method for automatic test case generation
CN101339532A (zh) * 2007-07-06 2009-01-07 ***股份有限公司 一种Web应用***的自动化测试方法及装置
CN102541740A (zh) * 2012-01-04 2012-07-04 广东欧珀移动通信有限公司 一种基于Android的手机便签自动化测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
侯菊敏: "基于Android的关键字驱动自动化测试框架研究", 《中国优秀硕士学位论文全文数据库》, 15 September 2012 (2012-09-15) *

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259697A (zh) * 2013-04-19 2013-08-21 福州瑞芯微电子有限公司 android平台上利用UWB设备进行ADB调试的方法
CN103259697B (zh) * 2013-04-19 2016-03-02 福州瑞芯微电子股份有限公司 android平台上利用UWB设备进行ADB调试的方法
CN103309664B (zh) * 2013-05-31 2016-08-10 小米科技有限责任公司 截图方法、装置和设备
CN103309664A (zh) * 2013-05-31 2013-09-18 北京小米科技有限责任公司 截图方法、装置和设备
CN103353858A (zh) * 2013-06-06 2013-10-16 百度在线网络技术(北京)有限公司 一种基于动作触摸模拟的自动化测试方法和装置
CN103353858B (zh) * 2013-06-06 2016-03-16 百度在线网络技术(北京)有限公司 一种基于动作触摸模拟的自动化测试方法和装置
CN104866384A (zh) * 2014-02-20 2015-08-26 纬创资通股份有限公司 快速测试及检测移动装置的方法及***
CN103942146A (zh) * 2014-04-22 2014-07-23 上海斐讯数据通信技术有限公司 一种可视化Monkey测试方法及装置
CN103942146B (zh) * 2014-04-22 2017-08-04 上海斐讯数据通信技术有限公司 一种可视化Monkey测试方法及装置
CN105094783A (zh) * 2014-05-19 2015-11-25 腾讯科技(深圳)有限公司 安卓应用稳定性测试的方法及装置
CN105094783B (zh) * 2014-05-19 2019-12-13 腾讯科技(深圳)有限公司 安卓应用稳定性测试的方法及装置
CN104063324B (zh) * 2014-07-10 2017-11-24 上海斐讯数据通信技术有限公司 一种Monkey测试方法及***
CN104063324A (zh) * 2014-07-10 2014-09-24 上海斐讯数据通信技术有限公司 一种Monkey测试方法及***
CN104199767A (zh) * 2014-08-19 2014-12-10 北京金山安全软件有限公司 测试方法和装置
CN104199767B (zh) * 2014-08-19 2017-08-29 北京金山安全软件有限公司 测试方法和装置
CN104331373A (zh) * 2014-11-28 2015-02-04 上海斐讯数据通信技术有限公司 一种Monkey测试***及方法
CN105100900A (zh) * 2015-08-19 2015-11-25 Tcl海外电子(惠州)有限公司 兼容测试认证的方法和装置
CN105100900B (zh) * 2015-08-19 2019-05-14 Tcl海外电子(惠州)有限公司 兼容测试认证的方法和装置
CN105868100A (zh) * 2015-12-22 2016-08-17 乐视网信息技术(北京)股份有限公司 基于Android***的自动化测试方法及装置
CN105608012A (zh) * 2016-03-10 2016-05-25 武汉斗鱼网络科技有限公司 一种自动化测试方法及***
CN106341684A (zh) * 2016-09-05 2017-01-18 Tcl集团股份有限公司 一种自动生成安卓电视测试脚本的方法及***
CN106951777A (zh) * 2017-03-06 2017-07-14 西安电子科技大学 安卓应用运行时用户界面的推断方法
CN106951777B (zh) * 2017-03-06 2019-07-23 西安电子科技大学 安卓应用运行时用户界面的推断方法
CN108170494B (zh) * 2017-12-28 2021-12-17 上海传英信息技术有限公司 一种用于智能终端的应用程序启动方法及启动***
CN108170494A (zh) * 2017-12-28 2018-06-15 上海传英信息技术有限公司 一种用于智能终端的应用程序启动方法及启动***
WO2019136852A1 (zh) * 2018-01-10 2019-07-18 武汉斗鱼网络科技有限公司 应用程序启动日志保存方法、存储介质、电子设备及***
CN108304329A (zh) * 2018-02-13 2018-07-20 论客科技(广州)有限公司 一种测试用例的设计方法、装置、终端及可读存储介质
CN108733568A (zh) * 2018-05-25 2018-11-02 平安科技(深圳)有限公司 应用测试方法、装置、设备及可读存储介质
CN109189688A (zh) * 2018-09-11 2019-01-11 北京奇艺世纪科技有限公司 一种测试用例脚本的生成方法、生成装置及电子设备
CN109491919A (zh) * 2018-11-28 2019-03-19 中电科西北集团有限公司 一种软件测试方法及测试平台
CN109491919B (zh) * 2018-11-28 2021-10-26 中电科西北集团有限公司 一种软件测试方法及测试平台
CN109918288A (zh) * 2019-01-16 2019-06-21 北京互金新融科技有限公司 用例测试方法及装置
CN110704709A (zh) * 2019-08-27 2020-01-17 北京金堤科技有限公司 应用数据抓取方法和装置、存储介质、电子设备
CN111190825A (zh) * 2019-12-28 2020-05-22 深圳市优必选科技股份有限公司 自动测试方法、***及机器人
CN111651359A (zh) * 2020-06-08 2020-09-11 北京首汽智行科技有限公司 一种app稳定性测试方法

Similar Documents

Publication Publication Date Title
CN103049371A (zh) Android应用程序测试方法和测试装置
CN109302522B (zh) 测试方法、装置以及计算机***和介质
US8645912B2 (en) System and method for use in replaying software application events
US8924912B2 (en) Method of recording and replaying call frames for a test bench
US9465718B2 (en) Filter generation for load testing managed environments
TWI566090B (zh) Debugging firmware / software to produce tracking systems and methods, recording media and computer program products
Roehm et al. Monitoring user interactions for supporting failure reproduction
US9792402B1 (en) Method and system for debugging a system on chip under test
CN110908915B (zh) 一种测试覆盖率的展示方法、装置及计算机***
Moran et al. On-device bug reporting for android applications
CA2811617C (en) Commit sensitive tests
US8381185B2 (en) Apparatus, system, and method for dynamic module flow analysis
CN109857637A (zh) 一种基于注解的Java语言方法覆盖率和方法输入输出统计方法及装置
CN107622017A (zh) 一种通用自动化软件测试的解析方法
CN113568825B (zh) 程序流程调试方法、装置、设备及存储介质
Ghosh et al. A systematic review on program debugging techniques
CN110633199A (zh) 用于支持智能合约的区块链的测试装置、方法及介质
CN107885648B (zh) 一种生成测试报告的方法和装置
JP4957521B2 (ja) ソフトウェア部分テストシステム、それに用いる方法およびプログラム
Köckerbauer et al. Scalable parallel debugging with g-Eclipse
CN112416807A (zh) 一种测试用例结果分析及关联的***及方法
CN109857636A (zh) 一种在安卓客户端UI自动化过程中定位App首页的方法和应用
JP2016126700A (ja) プログラム検証装置、プログラム検証方法及びプログラム検証プログラム
JP2010182218A (ja) ソフトウェア挙動解析システム
CN117707982A (zh) 测试方法、装置、设备、介质和程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130417