CN104281518A - 终端应用测试方法、装置、***、平台及移动终端 - Google Patents

终端应用测试方法、装置、***、平台及移动终端 Download PDF

Info

Publication number
CN104281518A
CN104281518A CN201310274934.XA CN201310274934A CN104281518A CN 104281518 A CN104281518 A CN 104281518A CN 201310274934 A CN201310274934 A CN 201310274934A CN 104281518 A CN104281518 A CN 104281518A
Authority
CN
China
Prior art keywords
test
terminal
application
code
source code
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
Application number
CN201310274934.XA
Other languages
English (en)
Other versions
CN104281518B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310274934.XA priority Critical patent/CN104281518B/zh
Priority to PCT/CN2014/081366 priority patent/WO2015000398A1/en
Publication of CN104281518A publication Critical patent/CN104281518A/zh
Priority to US14/795,358 priority patent/US9836380B2/en
Application granted granted Critical
Publication of CN104281518B publication Critical patent/CN104281518B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

终端应用测试方法、装置、***、平台及移动终端。本发明涉及一种终端应用测试方法及装置,其方法包括:在被测终端应用的源代码程序中植入一测试组件;并将设定的调试代码写入被测终端应用的源代码程序中;获取调试代码在被测终端应用的源代码程序中的函数地址,将函数地址注册到所述测试组件中;编译并运行源代码程序,在终端UI界面生成应用测试页面;当接收到用户端在应用测试页面上触发的测试执行指令时,通过测试组件中的函数地址调用所述调试代码,对被测终端应用进行测试,用户只需设置测试次数后启动测试即可实现终端应用的自动化测试,大大减少用户的测试时间,提高终端应用测试效率。

Description

终端应用测试方法、装置、***、平台及移动终端
技术领域
本发明涉及移动互联网技术领域,尤其涉及一种终端应用测试方法、装置、***、平台及移动终端。
背景技术
目前,在iPhone 手机应用测试中,如果需要在一个测试场景下重复多次操作以提高测试效果时,就需要用户不断重复的进行测试。而目前在手机脱机情况下进行重复多次操作时,只能采用人工方式进行频繁点击操作,或者从外部PC上下载测试软件来模拟人工进行点击操作,其测试过程不仅繁琐,而且耗费人力并增加了测试时间,同时通过PC测试的方式还需要预先在PC上写入脚本,由此增加测试成本,并为测试带来不便。另外PC测试工具的可移动性也较差。
发明内容
本发明的主要目的在于提供一种终端应用测试方法、装置、***、平台及移动终端,旨在提高终端应用脱机测试效率。
为了达到上述目的,本发明提出一种终端应用测试方法,包括:
在被测终端应用的源代码程序中植入一测试组件;并将设定的调试代码写入所述被测终端应用的源代码程序中;
获取所述调试代码在所述被测终端应用的源代码程序中的函数地址,将所述函数地址注册到所述测试组件中;
编译并运行所述源代码程序,在终端UI界面生成应用测试页面;
当接收到用户端在所述应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用所述调试代码,对所述被测终端应用进行测试。
本发明实施例还提出一种终端应用测试装置,包括:
代码添加模块,用于在被测终端应用的源代码程序中植入一测试组件;并将设定的调试代码写入所述被测终端应用的源代码程序中;
注册模块,用于获取所述调试代码在所述被测终端应用的源代码程序中的函数地址,将所述函数地址注册到所述测试组件中;
编译运行模块,用于编译并运行所述源代码程序,在终端UI界面生成应用测试页面;
测试模块,用于当接收到用户端在所述应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用所述调试代码,对所述被测终端应用进行测试。
本发明实施例还提出一种终端应用测试平台,包括如上所述的装置。
本发明实施例还提出一种终端应用测试***,,包括用户端及如上所述的终端应用测试平台,所述用户端用于向所述终端应用测试平台发送测试执行指令,以对所述被测终端应用进行测试。
本发明实施例还提出一种移动终端,所述移动终端具有如上所述的终端应用测试平台。
本发明实施例提出的一种终端应用测试方法、装置、***、平台及移动终端,通过在被测终端应用的源代码程序中植入一测试组件,并将设定的调试代码写入被测终端应用的源代码程序中,以及将调试代码在被测终端应用的源代码程序中的函数地址注册到测试组件中,在执行测试时,通过获取测试组件中的函数地址来调用调试代码,对被测终端应用进行测试,用户只需设置测试次数后启动测试即可实现终端应用的自动化测试,大大减少用户的测试时间,提高终端应用测试效率。此外,本发明还可以解决在场外测试应用表现的困扰,现有技术一般是通过连接外部电脑进行测试,而本发明可以脱机测试,便于“随时”、“随地”进行测试。
附图说明
图1是本发明终端应用测试方法第一实施例的流程示意图;
图2是本发明终端应用测试方法第二实施例的流程示意图;
图3是本发明终端应用测试方法第三实施例的流程示意图;
图4是本发明终端应用测试装置第一实施例的结构示意图;
图5是本发明终端应用测试装置第二实施例的结构示意图;
图6是本发明终端应用测试装置第三实施例的结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例解决方案主要是:在被测终端应用的源代码程序中植入一测试组件,并将设定的调试代码写入被测终端应用的源代码程序中,以及将调试代码在被测终端应用的源代码程序中的函数地址注册到测试组件中,在执行测试时,通过获取测试组件中的函数地址来调用调试代码,对被测终端应用进行测试,用户只需设置测试次数后启动测试即可实现终端应用的自动化测试,大大减少用户的测试时间,提高终端应用测试效率。
如图1所示,本发明第一实施例提出一种终端应用测试方法,包括:
步骤S101,在被测终端应用的源代码程序中植入一测试组件;并将设定的调试代码写入所述被测终端应用的源代码程序中;
本实施例终端可以为手机、平板电脑等移动终端,本实施例终端应用可以是iPhone平台上的终端应用。
其中,测试组件作为一种辅助测试工具,用于辅助完成终端应用测试,该测试组件作为一种测试用数据包,被植入在被测终端应用的源代码程序中。在测试组件被植入到被测终端应用的源代码程序中后,其数据一般不会再修改。之后通过对源代码程序进行初始化操作,将测试组件与终端UI界面相关联,后续在编译运行源代码程序时,可以在终端UI界面生成应用测试页面,同时,在终端UI界面上形成测试组件的对外开放接口,测试组件通过该开放接口与终端的UI控制器进行交互,并通过该开放接口接收用户端输入的设置参数或相关操作命令。
为了对终端应用进行测试,本实施例针对每一测试场景配置了相应的调试代码,即测试用例。每一调试代码对应一个用于测试终端应用的函数或方法,在具体操作时,将调试代码写入被测终端应用的源代码程序中。每一调试代码在被写入被测终端应用的源代码程序中时,均会分配一个函数地址,以便后续可以根据该函数地址找到相应的调试代码来运行测试。
上述调试代码在被写入被测终端应用的源代码程序后,可以根据需要进行修改。
步骤S102,获取所述调试代码在所述被测终端应用的源代码程序中的函数地址,将所述函数地址注册到所述测试组件中;
如前所述,每一调试代码在被写入被测终端应用的源代码程序中时,均会分配一个函数地址,获取该调试代码在被测终端应用的源代码程序中的函数地址,并将该函数地址注册到测试组件中。以便后续在测试终端应用时,可以通过调用测试组件而获取该测试组件中对应的函数地址,进而可以根据该函数地址调用源代码程序中对应的调试代码,从而实现对终端应用的测试。
步骤S103,编译并运行所述源代码程序,在终端UI界面生成应用测试页面;
在完成前述终端应用测试的前期配置准备后,编译并运行所述植入了测试组件以及写入了调试代码的源代码程序,进而在终端UI界面生成应用测试页面,同时在终端UI界面上形成测试组件的对外开放接口,测试组件通过该开放接口与终端的UI控制器进行交互,并通过该开放接口接收用户端输入的设置参数或相关操作命令。
应用测试页面上对应测试组件开放接口,向用户端提供有测试执行功能按键,当用户点击测试页面上的测试执行功能按键时,可以通过测试组件开放接口来调用测试组件。
此外,在应用测试页面上还设置有当前默认的调试代码以及测试次数。当然,根据需要,还可以在应用测试页面上还设置调试代码列表以及测试次数选项,供用户端选择。
步骤S104,当接收到用户端在所述应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用所述调试代码,对所述被测终端应用进行测试。
其中,用户端的操作人员可以为终端应用测试的开发人员。
当用户端点击测试页面上的测试执行功能按键时,通过测试组件开放接口调用测试组件,获取所述测试组件中对应当前调试代码的函数地址;然后根据所述当前调试代码的函数地址,从所述源代码程序中调用所述当前调试代码,该当前调试代码可以为***默认的调试代码,也可以为用户端选择的调试代码。之后,按照默认调试次数或者用户端选择的调试次数对被测终端应用进行测试。
本实施例通过上述方案,在被测终端应用的源代码程序中植入一测试组件,并将设定的调试代码写入被测终端应用的源代码程序中,以及将调试代码在被测终端应用的源代码程序中的函数地址注册到测试组件中,在执行测试时,通过获取测试组件中的函数地址来调用调试代码,实现终端应用的自动化测试,大大减少用户的测试时间,提高终端应用测试效率。此外,本发明还可以解决在场外测试应用表现的困扰,现有技术一般是通过连接外部电脑进行测试,而本发明可以脱机测试,便于“随时”、“随地”进行测试。
如图2所示,本发明第二实施例提出一种终端应用测试方法,在上述第一实施例的基础上,在上述步骤S103:应用测试页面上设置有调试代码列表以及应用测试次数选项,所述在终端UI界面生成应用测试页面之后还包括:
步骤S105,接收用户端在所述应用测试页面上的操作指令;
步骤S106,根据所述用户端的操作指令从所述调试代码列表中选择当前调试代码,和/或当前应用测试次数并保存。
本实施例与上述第一实施例的区别在于,本实施例在应用测试页面上设置调试代码列表以及测试次数选项,供用户端选择,用户端可以根据测试场景需要,从调试代码列表中选择相应的调试代码,同时还可以设置终端应用的测试次数。
当接收到用户端在应用测试页面上触发的测试执行指令时,通过测试组件开放接口调用所述测试组件,获取所述测试组件中对应当前用户选择的调试代码的函数地址;然后根据所述当前调试代码的函数地址,从所述源代码程序中调用所述当前调试代码。之后,按照用户端选择的当前调试次数,对所述被测终端应用进行测试。
本实施例通过上述方案,在被测终端应用的源代码程序中植入一测试组件,并将设定的调试代码写入被测终端应用的源代码程序中,以及将调试代码在被测终端应用的源代码程序中的函数地址注册到测试组件中,在执行测试时,通过获取测试组件中的函数地址来调用调试代码,对被测终端应用进行测试,同时还可以在应用测试页面上设置调试代码列表以及测试次数选项供用户选择,用户只需设置测试次数后启动测试即可实现终端应用的自动化测试,大大减少用户的测试时间,提高终端应用测试效率。此外,本发明还可以解决在场外测试应用表现的困扰,现有技术一般是通过连接外部电脑进行测试,而本发明可以脱机测试,便于“随时”、“随地”进行测试。
如图3所示,本发明第三实施例提出一种终端应用测试方法,在上述第二实施例的基础上,在上述步骤S104之后,还包括:
步骤S107,将测试后的测试结果输出并展示在所述应用测试页面。
本实施例与上述第二实施例的区别在于,本实施例在测试完成之后,还可以将测试后的测试结果输出并展示在应用测试页面上,以便用户端可以根据测试结果进行相应的处理。
上述测试结果可以是测试成功或失败信息,以及测试成功的次数等信息。
此外,上述测试结果还可以以日志方式记录,进而可以在终端应用测试页面中展示日志记录的状态信息。
本实施例通过上述方案,在被测终端应用的源代码程序中植入一测试组件,并将设定的调试代码写入被测终端应用的源代码程序中,以及将调试代码在被测终端应用的源代码程序中的函数地址注册到测试组件中,在执行测试时,通过获取测试组件中的函数地址来调用调试代码,对被测终端应用进行测试,同时还可以在应用测试页面上设置调试代码列表以及测试次数选项供用户选择,用户只需设置测试次数后启动测试即可实现终端应用的自动化测试,大大减少用户的测试时间,提高终端应用测试效率。此外,本实施例还可以输出测试结果展示给用户端,以便开发人员可以根据测试结果进行相应的处理。另外,本发明还可以解决在场外测试应用表现的困扰,现有技术一般是通过连接外部电脑进行测试,而本发明可以脱机测试,便于“随时”、“随地”进行测试。
如图4所示,本发明第一实施例提出一种终端应用测试装置,包括:代码添加模块201、注册模块202、编译运行模块203以及测试模块204,其中:
代码添加模块201,用于在被测终端应用的源代码程序中植入一测试组件;并将设定的调试代码写入所述被测终端应用的源代码程序中;
注册模块202,用于获取所述调试代码在所述被测终端应用的源代码程序中的函数地址,将所述函数地址注册到所述测试组件中;
编译运行模块203,用于编译并运行所述源代码程序,在终端UI界面生成应用测试页面;
测试模块204,用于当接收到用户端在所述应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用所述调试代码,对所述被测终端应用进行测试。
本实施例终端可以为手机、平板电脑等移动终端,本实施例终端应用可以是iPhone平台上的终端应用。
其中,测试组件作为一种辅助测试工具,用于辅助完成终端应用测试,该测试组件作为一种测试用数据包,通过代码添加模块201植入在被测终端应用的源代码程序中。在测试组件被植入到被测终端应用的源代码程序中后,其数据一般不会再修改。之后通过对源代码程序进行初始化操作,将测试组件与终端UI界面相关联,后续在编译运行源代码程序时,可以在终端UI界面生成应用测试页面,同时,在终端UI界面上形成测试组件的对外开放接口,测试组件通过该开放接口与终端的UI控制器进行交互,并通过该开放接口接收用户端输入的设置参数或相关操作命令。
为了对终端应用进行测试,本实施例针对每一测试场景配置了相应的调试代码,即测试用例。每一调试代码对应一个用于测试终端应用的函数或方法,在具体操作时,将调试代码写入被测终端应用的源代码程序中。每一调试代码在被写入被测终端应用的源代码程序中时,均会分配一个函数地址,以便后续可以根据该函数地址找到相应的调试代码来运行测试。
上述调试代码在被写入被测终端应用的源代码程序后,可以根据需要进行修改。
如前所述,每一调试代码在被写入被测终端应用的源代码程序中时,均会分配一个函数地址,本实施例通过注册模块202获取该调试代码在被测终端应用的源代码程序中的函数地址,并将该函数地址注册到测试组件中。以便后续在测试终端应用时,可以通过调用测试组件而获取该测试组件中对应的函数地址,进而可以根据该函数地址调用源代码程序中对应的调试代码,从而实现对终端应用的测试。
在完成前述终端应用测试的前期配置准备后,通过编译运行模块203编译并运行所述植入了测试组件以及写入了调试代码的源代码程序,进而在终端UI界面生成应用测试页面,同时在终端UI界面上形成测试组件的对外开放接口,测试组件通过该开放接口与终端的UI控制器进行交互,并通过该开放接口接收用户端输入的设置参数或相关操作命令。
应用测试页面上对应测试组件开放接口,向用户端提供有测试执行功能按键,当用户点击测试页面上的测试执行功能按键时,可以通过测试组件开放接口来调用测试组件。
此外,在应用测试页面上还设置有当前默认的调试代码以及测试次数。当然,根据需要,还可以在应用测试页面上还设置调试代码列表以及测试次数选项,供用户端选择。
其中,用户端的操作人员可以为终端应用测试的开发人员。
当用户端点击测试页面上的测试执行功能按键时,测试模块204通过测试组件开放接口调用测试组件,获取所述测试组件中对应当前调试代码的函数地址;然后根据所述当前调试代码的函数地址,从所述源代码程序中调用所述当前调试代码,该当前调试代码可以为***默认的调试代码,也可以为用户端选择的调试代码。之后,按照默认调试次数或者用户端选择的调试次数对被测终端应用进行测试。
本实施例通过上述方案,在被测终端应用的源代码程序中植入一测试组件,并将设定的调试代码写入被测终端应用的源代码程序中,以及将调试代码在被测终端应用的源代码程序中的函数地址注册到测试组件中,在执行测试时,通过获取测试组件中的函数地址来调用调试代码,实现终端应用的自动化测试,大大减少用户的测试时间,提高终端应用测试效率。此外,本发明还可以解决在场外测试应用表现的困扰,现有技术一般是通过连接外部电脑进行测试,而本发明可以脱机测试,便于“随时”、“随地”进行测试。
如图5所示,本发明第二实施例提出一种终端应用测试装置,在上述第一实施例的基础上,还包括:
设置模块205,用于接收用户端在所述应用测试页面上的操作指令;根据所述用户端的操作指令从所述调试代码列表中选择当前调试代码,和/或当前应用测试次数并保存。
在本实施例中,所述测试模块204还用于当接收到用户端在应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用用户端选择的当前调试代码,按照用户端选择的当前调试次数,对所述被测终端应用进行测试。
具体地,本实施例与上述第一实施例的区别在于,本实施例在应用测试页面上设置调试代码列表以及测试次数选项,供用户端选择,用户端可以根据测试场景需要,从调试代码列表中选择相应的调试代码,同时还可以设置终端应用的测试次数。
当接收到用户端在应用测试页面上触发的测试执行指令时,通过测试组件开放接口调用所述测试组件,获取所述测试组件中对应当前用户选择的调试代码的函数地址;然后根据所述当前调试代码的函数地址,从所述源代码程序中调用所述当前调试代码。之后,按照用户端选择的当前调试次数,对所述被测终端应用进行测试。
本实施例通过上述方案,在被测终端应用的源代码程序中植入一测试组件,并将设定的调试代码写入被测终端应用的源代码程序中,以及将调试代码在被测终端应用的源代码程序中的函数地址注册到测试组件中,在执行测试时,通过获取测试组件中的函数地址来调用调试代码,对被测终端应用进行测试,同时还可以在应用测试页面上设置调试代码列表以及测试次数选项供用户选择,用户只需设置测试次数后启动测试即可实现终端应用的自动化测试,大大减少用户的测试时间,提高终端应用测试效率。此外,本发明还可以解决在场外测试应用表现的困扰,现有技术一般是通过连接外部电脑进行测试,而本发明可以脱机测试,便于“随时”、“随地”进行测试。
如图6所示,本发明第三实施例提出一种终端应用测试装置,在上述第二实施例的基础上,还包括:
结果输出展示模块206,用于将测试后的测试结果输出并展示在所述应用测试页面。
本实施例与上述第二实施例的区别在于,本实施例在测试完成之后,还可以将测试后的测试结果输出并展示在应用测试页面上,以便用户端可以根据测试结果进行相应的处理。
上述测试结果可以是测试成功或失败信息,以及测试成功的次数等信息。
此外,上述测试结果还可以以日志方式记录,进而可以在终端应用测试页面中展示日志记录的状态信息。
本实施例通过上述方案,在被测终端应用的源代码程序中植入一测试组件,并将设定的调试代码写入被测终端应用的源代码程序中,以及将调试代码在被测终端应用的源代码程序中的函数地址注册到测试组件中,在执行测试时,通过获取测试组件中的函数地址来调用调试代码,对被测终端应用进行测试,同时还可以在应用测试页面上设置调试代码列表以及测试次数选项供用户选择,用户只需设置测试次数后启动测试即可实现终端应用的自动化测试,大大减少用户的测试时间,提高终端应用测试效率。此外,本实施例还可以输出测试结果展示给用户端,以便开发人员可以根据测试结果进行相应的处理。另外,本发明还可以解决在场外测试应用表现的困扰,现有技术一般是通过连接外部电脑进行测试,而本发明可以脱机测试,便于“随时”、“随地”进行测试。
此外,本发明实施例还提出一种终端应用测试平台,包括上述实施例所述的装置。其实现终端应用测试的基本原理请参照上述实施例,在此不再赘述。
此外,本发明实施例还提出一种终端应用测试***,包括用户端及终端应用测试平台,该终端应用测试平台包括上述实施例所述的装置。
所述用户端用于向所述终端应用测试平台发送测试执行指令,以对所述被测终端应用进行测试。
本实施例终端应用测试平台与用户端进行交互实现终端应用测试的基本原理请参照上述实施例,在此不再赘述。
此外,本发明实施例还提出一种移动终端,所述移动终端可以具有上述实施例所述的终端应用测试平台。其实现终端应用测试的基本原理请参照上述实施例,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (15)

1.一种终端应用测试方法,其特征在于,包括:
在被测终端应用的源代码程序中植入一测试组件;并将设定的调试代码写入所述被测终端应用的源代码程序中;
获取所述调试代码在所述被测终端应用的源代码程序中的函数地址,将所述函数地址注册到所述测试组件中;
编译并运行所述源代码程序,在终端UI界面生成应用测试页面;
当接收到用户端在所述应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用所述调试代码,对所述被测终端应用进行测试。
2.根据权利要求1所述的方法,其特征在于,所述应用测试页面上设置有调试代码列表以及应用测试次数选项,所述在终端UI界面生成应用测试页面的步骤之后还包括:
接收用户端在所述应用测试页面上的操作指令;
根据所述用户端的操作指令从所述调试代码列表中选择当前调试代码,和/或当前应用测试次数并保存。
3.根据权利要求2所述的方法,其特征在于,所述当接收到用户端在所述应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用所述调试代码,对所述被测终端应用进行测试的步骤包括:
当接收到用户端在应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用用户端选择的当前调试代码,按照用户端选择的当前调试次数,对所述被测终端应用进行测试。
4.根据权利要求3所述的方法,其特征在于,所述通过测试组件中的函数地址调用所述调试代码的步骤包括:
通过所述终端UI界面中应用测试页面上的测试组件开放接口,调用所述测试组件,获取所述测试组件中对应当前调试代码的函数地址;
根据所述当前调试代码的函数地址,从所述源代码程序中调用所述当前调试代码。
5.根据权利要求1-4中任一项所述的方法,其特征在于,还包括:
将测试后的测试结果输出并展示在所述应用测试页面。
6.根据权利要求1所述的方法,其特征在于,在被测终端应用的源代码程序中植入一测试组件的步骤之后还包括:
对所述源代码程序进行初始化操作。
7.一种终端应用测试装置,其特征在于,包括:
代码添加模块,用于在被测终端应用的源代码程序中植入一测试组件;并将设定的调试代码写入所述被测终端应用的源代码程序中;
注册模块,用于获取所述调试代码在所述被测终端应用的源代码程序中的函数地址,将所述函数地址注册到所述测试组件中;
编译运行模块,用于编译并运行所述源代码程序,在终端UI界面生成应用测试页面;
测试模块,用于当接收到用户端在所述应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用所述调试代码,对所述被测终端应用进行测试。
8.根据权利要求7所述的装置,其特征在于,还包括:
设置模块,用于接收用户端在所述应用测试页面上的操作指令;根据所述用户端的操作指令从所述调试代码列表中选择当前调试代码,和/或当前应用测试次数并保存。
9.根据权利要求8所述的装置,其特征在于,所述测试模块还用于当接收到用户端在应用测试页面上触发的测试执行指令时,通过所述测试组件中的函数地址调用用户端选择的当前调试代码,按照用户端选择的当前调试次数,对所述被测终端应用进行测试。
10.根据权利要求9所述的装置,其特征在于,所述测试模块还用于通过所述终端UI界面中应用测试页面上的测试组件开放接口,调用所述测试组件,获取所述测试组件中对应当前调试代码的函数地址;根据所述当前调试代码的函数地址,从所述源代码程序中调用所述当前调试代码。
11.根据权利要求7-10中任一项所述的装置,其特征在于,还包括:
结果输出展示模块,用于将测试后的测试结果输出并展示在所述应用测试页面。
12.根据权利要求7所述的装置,其特征在于,所述代码添加模块还用于在被测终端应用的源代码程序中植入所述测试组件之后,对所述源代码程序进行初始化操作。
13.一种终端应用测试平台,其特征在于,包括权利要求7-12中任一项所述的装置。
14.一种终端应用测试***,其特征在于,包括用户端及如权利要求13所述的终端应用测试平台,所述用户端用于向所述终端应用测试平台发送测试执行指令,以对所述被测终端应用进行测试。
15.一种移动终端,其特征在于,所述移动终端具有权利要求13所述的终端应用测试平台。
CN201310274934.XA 2013-07-02 2013-07-02 终端应用测试方法、装置、***、平台及移动终端 Active CN104281518B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310274934.XA CN104281518B (zh) 2013-07-02 2013-07-02 终端应用测试方法、装置、***、平台及移动终端
PCT/CN2014/081366 WO2015000398A1 (en) 2013-07-02 2014-07-01 Systems and methods for testing terminal applications
US14/795,358 US9836380B2 (en) 2013-07-02 2015-07-09 Systems and methods for testing terminal applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310274934.XA CN104281518B (zh) 2013-07-02 2013-07-02 终端应用测试方法、装置、***、平台及移动终端

Publications (2)

Publication Number Publication Date
CN104281518A true CN104281518A (zh) 2015-01-14
CN104281518B CN104281518B (zh) 2018-05-15

Family

ID=52143106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310274934.XA Active CN104281518B (zh) 2013-07-02 2013-07-02 终端应用测试方法、装置、***、平台及移动终端

Country Status (3)

Country Link
US (1) US9836380B2 (zh)
CN (1) CN104281518B (zh)
WO (1) WO2015000398A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045717A (zh) * 2015-08-18 2015-11-11 网易(杭州)网络有限公司 测试环境部署方法、装置和***
CN105677561A (zh) * 2015-12-31 2016-06-15 广州华多网络科技有限公司 移动产品多平台测试方法及***
CN105847325A (zh) * 2016-03-14 2016-08-10 广州酷狗计算机科技有限公司 应用客户端的调试方法及装置
CN106021004A (zh) * 2016-05-10 2016-10-12 上海传英信息技术有限公司 用户行为模拟单元、测试***、以及测试方法
CN106155902A (zh) * 2015-04-28 2016-11-23 中兴通讯股份有限公司 一种js调试页面方法和装置
CN106557411A (zh) * 2015-09-24 2017-04-05 腾讯科技(深圳)有限公司 Android***中Hybrid应用的测试方法及***
CN107102949A (zh) * 2017-06-30 2017-08-29 上海木爷机器人技术有限公司 应用程序离线测试方法及工具
CN107368406A (zh) * 2016-05-11 2017-11-21 阿里巴巴集团控股有限公司 测试应用程序的方法、装置及设备
CN108536607A (zh) * 2018-04-20 2018-09-14 深圳前海微众银行股份有限公司 Ui测试方法、设备及可读存储介质
CN111078535A (zh) * 2019-11-28 2020-04-28 广州及包子信息技术咨询服务有限公司 一种快速提供自动化测试执行能力的方法及***
CN111400166A (zh) * 2020-02-20 2020-07-10 香港乐蜜有限公司 一种实时通信业务测试方法、装置、***及电子设备
CN111581073A (zh) * 2020-02-20 2020-08-25 香港乐蜜有限公司 一种应用测试方法、装置、***及存储介质
CN112256564A (zh) * 2020-09-23 2021-01-22 北京达佳互联信息技术有限公司 应用程序的运行方法、装置及电子设备
CN112579435A (zh) * 2020-11-27 2021-03-30 福州智象信息技术有限公司 一种基于智能Linux电视操作***上调试HTML5 APP的方法及***
CN112650670A (zh) * 2020-12-17 2021-04-13 京东数科海益信息科技有限公司 应用测试方法、装置、***、电子设备和存储介质
CN113971124A (zh) * 2020-07-24 2022-01-25 腾讯科技(深圳)有限公司 子应用的调试方法、装置、计算机设备和存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10228932B2 (en) * 2015-12-31 2019-03-12 Oracle International Corporation Upgrade verification tool
CN107193728A (zh) * 2016-03-15 2017-09-22 展讯通信(天津)有限公司 移动终端自动化测试方法及装置
CN106126414B (zh) * 2016-06-14 2019-12-06 珠海格力电器股份有限公司 应用软件测试方法和***
CN106506764B (zh) * 2016-10-10 2019-12-10 武汉斗鱼网络科技有限公司 一种多手机远程操控***及方法
CN106681916A (zh) * 2016-12-20 2017-05-17 广东小天才科技有限公司 一种应用功耗的测试方法、装置和***
CN107704396A (zh) * 2017-10-20 2018-02-16 平安科技(深圳)有限公司 应用程序的测试方法及装置
CN110674023B (zh) * 2018-07-02 2022-11-04 北京奇虎科技有限公司 一种接口测试方法和装置
CN110309068A (zh) * 2019-06-18 2019-10-08 平安普惠企业管理有限公司 测试方法及相关设备
CN110275832A (zh) * 2019-06-19 2019-09-24 北京字节跳动网络技术有限公司 应用程序的启动耗时测试方法、***、设备及介质
CN110737590B (zh) * 2019-09-16 2023-11-03 上海御渡半导体科技有限公司 一种离线调试方法
CN110837473B (zh) * 2019-11-07 2023-08-22 腾讯科技(深圳)有限公司 应用程序调试方法、装置、终端及存储介质
CN113448574A (zh) * 2020-03-27 2021-09-28 比亚迪股份有限公司 应用程序发布方法、装置、存储介质及计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249882B1 (en) * 1998-06-15 2001-06-19 Hewlett-Packard Company Methods and systems for automated software testing
CN201383144Y (zh) * 2009-03-25 2010-01-13 北京信息工程学院 测试装置
CN101706753A (zh) * 2009-12-11 2010-05-12 武汉虹信通信技术有限责任公司 一种基于Perl的单元测试框架及方法
CN101802792A (zh) * 2007-09-14 2010-08-11 空中客车运营简易股份公司 用于测试航空器上的***的操作软件的有效性的自动脚本生成方法及用于实现该方法的设备
CN102222041A (zh) * 2011-06-15 2011-10-19 深圳市运通信息技术有限公司 一种基于嵌入式软件的测试分析***及方法
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及***
GB2508643A (en) * 2012-12-07 2014-06-11 Ibm Method for Performing a Regression Test after Modifying Source Code File

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050039169A1 (en) * 2003-08-14 2005-02-17 Yu-Cheng Hsu Integrated source code debugging apparatus method and system
US20050049814A1 (en) * 2003-08-26 2005-03-03 Ramchandani Mahesh A. Binding a GUI element to a control in a test executive application
US20050268285A1 (en) * 2004-05-25 2005-12-01 International Business Machines Corporation Object oriented GUI test automation
EP1677197A1 (en) * 2004-12-31 2006-07-05 ST Incard S.r.l. Test case automatic generation method for testing proactive GSM applications on SIM card
CN100442243C (zh) * 2005-08-12 2008-12-10 中国科学院计算技术研究所 一种对编译器中的错误进行自动定位的方法
US7519864B2 (en) * 2005-11-29 2009-04-14 Samsung Electronics Co., Ltd. Automation test systems
CN101594627A (zh) * 2008-05-26 2009-12-02 北京摩软科技有限公司 一种模拟移动终端故障的装置和方法
CN102053906A (zh) * 2009-10-30 2011-05-11 国际商业机器公司 用于收集程序运行时信息的***和方法
US8620305B2 (en) * 2010-06-23 2013-12-31 Salesforce.Com, Inc. Methods and systems for a mobile device testing framework
US9563544B2 (en) * 2012-01-10 2017-02-07 Sap Se Framework for automated testing of mobile apps
US9152541B1 (en) * 2012-03-22 2015-10-06 Amazon Technologies, Inc. Automated mobile application verification
US8467987B1 (en) * 2012-05-30 2013-06-18 Google, Inc. Methods and systems for testing mobile device builds
US8930766B2 (en) * 2012-09-28 2015-01-06 Sap Se Testing mobile applications
US9189378B1 (en) * 2012-11-30 2015-11-17 Mobile Labs, LLC Systems, methods, and apparatuses for testing mobile device applications
US9274935B1 (en) * 2013-01-15 2016-03-01 Google Inc. Application testing system with application programming interface
US9336127B2 (en) * 2013-02-20 2016-05-10 Kony, Inc. Exposing method related data calls during testing in an event driven, multichannel architecture
US9208063B1 (en) * 2013-02-21 2015-12-08 Groupon, Inc. Method for testing mobile application and associated apparatus and system
US9075781B2 (en) * 2013-03-15 2015-07-07 Apkudo, Llc System and method for coordinating field user testing results for a mobile application across various mobile devices
US9268670B1 (en) * 2013-08-08 2016-02-23 Google Inc. System for module selection in software application testing including generating a test executable based on an availability of root access
KR20150029184A (ko) * 2013-09-09 2015-03-18 삼성에스디에스 주식회사 애플리케이션을 테스트하는 기법
US8856748B1 (en) * 2013-09-17 2014-10-07 Xamarin Inc. Mobile application testing platform
EP3053056A4 (en) * 2013-09-30 2017-08-02 Hewlett-Packard Enterprise Development LP Legacy system
US20160283356A1 (en) * 2013-11-18 2016-09-29 Hewlett Packard Enterprise Development Lp Event-driven automation testing for mobile devices
CN105335282A (zh) * 2014-07-30 2016-02-17 国际商业机器公司 用于应用的跨平台测试的方法和***
CN105446872B (zh) * 2014-08-29 2018-04-10 国际商业机器公司 测试移动应用的管理器、测试代理器及方法
US9678855B2 (en) * 2014-12-30 2017-06-13 International Business Machines Corporation Managing assertions while compiling and debugging source code
US10241891B2 (en) * 2015-06-29 2019-03-26 International Business Machines Corporation Dynamic ranking of performance issues for applications
US10095608B2 (en) * 2015-09-15 2018-10-09 International Business Machines Corporation Application test automation transmitting data via phone/voice calls
US9760476B2 (en) * 2015-10-16 2017-09-12 International Business Machines Corporation Crowdsourced device cloud for application testing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249882B1 (en) * 1998-06-15 2001-06-19 Hewlett-Packard Company Methods and systems for automated software testing
CN101802792A (zh) * 2007-09-14 2010-08-11 空中客车运营简易股份公司 用于测试航空器上的***的操作软件的有效性的自动脚本生成方法及用于实现该方法的设备
CN201383144Y (zh) * 2009-03-25 2010-01-13 北京信息工程学院 测试装置
CN101706753A (zh) * 2009-12-11 2010-05-12 武汉虹信通信技术有限责任公司 一种基于Perl的单元测试框架及方法
CN102222041A (zh) * 2011-06-15 2011-10-19 深圳市运通信息技术有限公司 一种基于嵌入式软件的测试分析***及方法
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及***
GB2508643A (en) * 2012-12-07 2014-06-11 Ibm Method for Performing a Regression Test after Modifying Source Code File

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155902A (zh) * 2015-04-28 2016-11-23 中兴通讯股份有限公司 一种js调试页面方法和装置
CN105045717A (zh) * 2015-08-18 2015-11-11 网易(杭州)网络有限公司 测试环境部署方法、装置和***
CN105045717B (zh) * 2015-08-18 2018-08-07 网易(杭州)网络有限公司 测试环境部署方法、装置和***
CN106557411A (zh) * 2015-09-24 2017-04-05 腾讯科技(深圳)有限公司 Android***中Hybrid应用的测试方法及***
CN105677561B (zh) * 2015-12-31 2019-01-29 广州华多网络科技有限公司 移动产品多平台测试方法及***
CN105677561A (zh) * 2015-12-31 2016-06-15 广州华多网络科技有限公司 移动产品多平台测试方法及***
CN105847325A (zh) * 2016-03-14 2016-08-10 广州酷狗计算机科技有限公司 应用客户端的调试方法及装置
CN105847325B (zh) * 2016-03-14 2019-11-05 广州酷狗计算机科技有限公司 应用客户端的调试方法及装置
CN106021004B (zh) * 2016-05-10 2019-09-17 深圳市泰衡诺科技有限公司 用户行为模拟单元、测试***、以及测试方法
CN106021004A (zh) * 2016-05-10 2016-10-12 上海传英信息技术有限公司 用户行为模拟单元、测试***、以及测试方法
CN107368406A (zh) * 2016-05-11 2017-11-21 阿里巴巴集团控股有限公司 测试应用程序的方法、装置及设备
CN107102949A (zh) * 2017-06-30 2017-08-29 上海木爷机器人技术有限公司 应用程序离线测试方法及工具
CN107102949B (zh) * 2017-06-30 2020-06-09 上海木木聚枞机器人科技有限公司 应用程序离线测试方法及工具
CN108536607B (zh) * 2018-04-20 2021-06-08 深圳前海微众银行股份有限公司 Ui测试方法、设备及可读存储介质
CN108536607A (zh) * 2018-04-20 2018-09-14 深圳前海微众银行股份有限公司 Ui测试方法、设备及可读存储介质
CN111078535A (zh) * 2019-11-28 2020-04-28 广州及包子信息技术咨询服务有限公司 一种快速提供自动化测试执行能力的方法及***
CN111581073A (zh) * 2020-02-20 2020-08-25 香港乐蜜有限公司 一种应用测试方法、装置、***及存储介质
CN111400166A (zh) * 2020-02-20 2020-07-10 香港乐蜜有限公司 一种实时通信业务测试方法、装置、***及电子设备
CN113971124A (zh) * 2020-07-24 2022-01-25 腾讯科技(深圳)有限公司 子应用的调试方法、装置、计算机设备和存储介质
CN113971124B (zh) * 2020-07-24 2024-06-25 腾讯科技(深圳)有限公司 子应用的调试方法、装置、计算机设备和存储介质
CN112256564A (zh) * 2020-09-23 2021-01-22 北京达佳互联信息技术有限公司 应用程序的运行方法、装置及电子设备
CN112579435A (zh) * 2020-11-27 2021-03-30 福州智象信息技术有限公司 一种基于智能Linux电视操作***上调试HTML5 APP的方法及***
CN112650670A (zh) * 2020-12-17 2021-04-13 京东数科海益信息科技有限公司 应用测试方法、装置、***、电子设备和存储介质

Also Published As

Publication number Publication date
CN104281518B (zh) 2018-05-15
WO2015000398A1 (en) 2015-01-08
US20150339215A1 (en) 2015-11-26
US9836380B2 (en) 2017-12-05

Similar Documents

Publication Publication Date Title
CN104281518A (zh) 终端应用测试方法、装置、***、平台及移动终端
CN106933609B (zh) Android应用程序安装包的生成方法及装置
US8533691B2 (en) Managing non-common features for program code translation
US20130179858A1 (en) Framework for automated testing of mobile apps
CN105159833A (zh) 自动化测试装置及方法
CN104978263A (zh) 一种移动端应用程序测试方法及***
CN109471768B (zh) 业务问题的监控方法、装置以及电子设备
CN105302722A (zh) Cts自动测试方法及装置
CN111309636B (zh) 机器人自动化测试***、方法、构建服务器及存储介质
CN103973858B (zh) 移动终端的自动测试***
CN105573755A (zh) 一种应用Activity渲染时间获取方法和装置
CN108304326B (zh) 安卓智能终端自动化测试***和方法
CN103399814A (zh) 自动化测试的方法及装置
CN106845162B (zh) 一种重签名方法及装置
CN104536398B (zh) 一种变频器监控方法和***
CN105760300A (zh) 一种stk/utk业务的自动化测试方法及测试***
CN111026638A (zh) 一种网页自动化测试方法、装置、电子设备和存储介质
CN111050333A (zh) 一种基站自动化测试方法及***
CN106557411B (zh) Android***中Hybrid应用的测试方法及***
CN112954725B (zh) 测试方法、通讯***以及NB-IoT装置
CN103176897B (zh) 一种软件回归测试的方法及***
CN111104331A (zh) 软件管理方法、终端设备及计算机可读存储介质
CN111026651A (zh) 测试方法、装置、存储介质及电子设备
CN103546342A (zh) 一种终端一致性测试方法及用于该方法的api接口通用适配器
CN115509545A (zh) 一种ios应用的打包构建方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant