CN104838405B - 用于应用程序的测试框架的方法和*** - Google Patents

用于应用程序的测试框架的方法和*** Download PDF

Info

Publication number
CN104838405B
CN104838405B CN201380064635.1A CN201380064635A CN104838405B CN 104838405 B CN104838405 B CN 104838405B CN 201380064635 A CN201380064635 A CN 201380064635A CN 104838405 B CN104838405 B CN 104838405B
Authority
CN
China
Prior art keywords
application program
data processing
communicated
experiment
processing unit
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.)
Active
Application number
CN201380064635.1A
Other languages
English (en)
Other versions
CN104838405A (zh
Inventor
S路涓硅揪
S·丹达
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN104838405A publication Critical patent/CN104838405A/zh
Application granted granted Critical
Publication of CN104838405B publication Critical patent/CN104838405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

应用程序分发服务器可用于选择能够接收应用程序更新的多个数据处理装置。在应用程序的更新处理期间,可以利用应用程序分发服务器将应用程序的一个或多个实验版本通信至所选择的多个数据处理装置中的每一个。应用程序分发服务器可以收集与一个或多个实验版本相关联的性能信息。然后,应用程序分发服务器可以将所收集的性能信息通信至应用程序的开发者以供分析。在从特定数据处理装置卸载特定实验版本的情况下或者在从特定数据处理装置通信了与特定实验版本有关的反馈和/或评价信息的情况下,应用程序分发服务器可以将表示实验的消息和/或用以退出今后的实验的选项通信至特定数据处理装置。

Description

用于应用程序的测试框架的方法和***
技术领域
本发明的特定实施例涉及移动应用程序测试。更具体地,本发明的特定实施例涉及用于应用程序的测试框架的方法和***。
背景技术
网站所有者或开发者已使用A/B测试或对比测试(split testing)来测试不同的网站版本相对于彼此的性能。在网站的情况中,在A/B测试处理期间,网页或应用程序的一些用户可能会得到略经修改的版本。网站所有者或开发人员可以验证相比基线控制版本、各修改会如何影响可用性和/或用户的行为。另一方面,例如移动应用程序等的应用程序的开发者可能不具有用以对他们的应用程序上的新特征进行实验的容易方式。通常,应用程序的用户需要从例如应用程序分发服务器将应用程序下载到诸如移动装置等的他们的装置上。应用程序用户在向应用程序升级新特征时,可能不具有与该新特征有关的高级信息。例如,在升级后的应用程序不再支持用户的装置的实例中,他们可能不得不联系应用程序的开发者以进行修复。例如,差的应用程序发布可能会导致来自用户的许多负面评论。
通过如参考附图在本申请的其余部分中所述、将这些***与本发明进行比较,常规和传统方法的其它限制和缺点对于本领域技术人员而言将变得明白。
发明内容
本发明的方面涉及用于应用程序的测试框架的方法和***。在本发明的各种实施例中,应用程序分发服务器可以包括可以下载和/或安装到例如智能电话、移动电话和/或平板电脑等的数据处理装置上的多个应用程序。应用程序分发服务器可以选择能够接收与应用程序相关联的应用程序更新的多个数据处理装置。然后,在应用程序的更新处理期间,可以利用应用程序分发服务器将该应用程序的一个或多个实验版本通信至所选择的多个数据处理装置中的每一个。应用程序分发服务器可以收集与所通信的一个或多个实验版本相关联的性能信息。然后,应用程序分发服务器可以将所收集的性能信息通信至应用程序的开发者以供分析。
通过以下的说明和附图,将更加充分地理解本发明的各种优点、方面和新颖特征及其例示实施例的详细内容。
附图说明
图1是示出根据本发明的实施例的示例通信***的框图。
图2是是示出根据本发明的实施例的示例应用程序分发服务器的框图。
图3是示出根据本发明的实施例的示例数据处理装置的框图。
图4是示出根据本发明的实施例的用于应用程序的测试框架的示例步骤的流程图。
具体实施方式
在用于应用程序的测试框架的方法和***中可以找到本发明的特定实施例。在以下说明和附图中陈述了特定具体细节以提供对本发明的各种实施例的全面理解。然而,本领域技术人员将理解,可以在不具有以下说明所述的若干细节的情况下实践本发明的附加实施例。
在本发明的各种实施例中,应用程序分发服务器可用于选择能够接收与应用程序相关联的应用程序更新的多个数据处理装置。在应用程序的更新处理期间,可以利用应用程序分发服务器将该应用程序的一个或多个实验版本通信至所选择的多个数据处理装置中的每一个。应用程序分发服务器可用于收集与所通信的一个或多个实验版本相关联的性能信息。然后,应用程序分发服务器可用于将所收集的性能信息通信至应用程序的开发者以供分析。
在从所选择的多个数据处理装置中的特定数据处理装置卸载特定实验版本的实例中,应用程序分发服务器可用于将表示该特定数据处理装置参与针对应用程序的实验的消息和用以退出今后的与该特定数据处理装置相关联的实验的选项,通信至该特定数据处理装置。在可能从所选择的多个数据处理装置中的特定数据处理装置通信了与特定实验版本有关的反馈信息和/或评价信息的实例中,应用程序分发服务器还可用于将表示该特定数据处理装置参与针对应用程序的实验的消息和用以退出今后的与该特定数据处理装置相关联的实验的选项,通信至该特定数据处理装置。
在本发明的示例实施例中,多个数据处理装置可能能够(例如,经由自动更新)自动接收应用程序更新。例如,可以利用所选择的多个数据处理装置中的每一个来收集性能信息的至少一部分。在一些实例中,例如,可以利用在所选择的多个数据处理装置中的每一个上运行的具有一个或多个实验版本的应用程序来收集性能信息的至少一部分。在其它实例中,例如,可以利用应用程序分发服务器来收集性能信息的至少一部分。然后,例如,可以将所收集的性能信息通信至数据收集服务器。该数据收集服务器可用于汇总所通信的性能信息。然后,可以将所汇总的性能信息从数据收集服务器通信至开发者。
在本发明的示例实施例中,可以从应用程序分发服务器将应用程序下载到所选择的多个数据处理装置中的一个或多个数据处理装置上。例如,还可以从网站将应用程序下载到所选择的多个数据处理装置中的一个或多个数据处理装置上。
图1是根据本发明的实施例的示例通信***的框图。参考图1,示出应用程序分发服务器102、数据收集服务器104、网站108、通信网络130和多个数据处理装置110,其中对于这多个数据处理装置110,例示了数据处理装置110a~110d。
应用程序分发服务器102可以包括可用于将应用程序发布和/或分发至例如数据处理装置110的适当的逻辑、电路、接口和/或代码。在本发明的示例实施例中,应用程序的开发者106可以利用应用程序分发服务器102来将应用程序的一个或多个实验版本通信或分发至诸如数据处理装置110a~110d等的所选择的多个数据处理装置,以对这一个或多个实验版本进行测试。可以经由例如应用程序更新处理来将应用程序的一个或多个实验版本分发至数据处理装置110a~110d。
数据收集服务器104可以包括可用于接收与应用程序的一个或多个实验版本相关联的性能信息的适当的逻辑、电路、接口和/或代码,其中这一个或多个实验版本可以与诸如数据处理装置110a~110d等的所选择的多个数据处理装置相关联并且在这些数据处理装置上运行。数据收集服务器104可用于汇总所接收到的性能信息并且将所汇总的性能信息通信或传送至应用程序的开发者106。在本发明的示例实施例中,可以从数据处理装置110a~110d中的一个或多个数据处理装置以及/或者从应用程序分发服务器102接收与一个或多个实验版本相关联的性能信息。
网站108可以包括可用于通过已知为统一资源定位符(URL)的因特网地址经由例如通信网络130来提供网页信息和/或应用程序的适当的逻辑、电路、接口和/或代码。在本发明的示例实施例中,可以从网站108将一个或多个应用程序下载到一个或多个数据处理装置110a~110d上。
诸如数据处理装置110a等的数据处理装置可以包括可用于处理数据或信号的适当的逻辑、电路、接口和/或代码。数据处理装置110a可用于在通信网络130内通信信号。数据处理装置110a例如可以包括智能电话、移动电话、平板电脑和/或其它相似类型的装置。在本发明的示例实施例中,可以将一个或多个应用程序下载到数据处理装置110a上并且在数据处理装置110a上运行。数据处理装置110a可能能够接收与一个或多个应用程序中的每一个相关联的应用程序更新。在这方面,例如,数据处理装置110a可以自动接收应用程序更新。
通信网络130可以包括可用于通过使用各种无线和/或有线通信技术来将数据和语音通信服务提供至各种装置和/或实体的适当的逻辑、电路、接口和/或代码。通信网络130例如可以包括因特网、蜂窝网络和/或其它多媒体网络。在本发明的示例实施例中,通信网络130可用于在应用程序分发服务器102、数据收集服务器104、网站108、开发者106和/或多个数据处理装置110a~110d之间提供通信。
在工作中,应用程序分发服务器102可用于选择能够接收与应用程序相关联的应用程序更新的诸如数据处理装置110a~110d等的多个数据处理装置。在这方面,例如,诸如数据处理装置110a等的所选择的数据处理装置可能能够经由与应用程序分发服务器102和数据处理装置110a相关联的用户账户来接收应用程序更新。多个数据处理装置110a~110d可能能够自动地或以其它方式接收应用程序更新。在应用程序的更新处理期间,可以利用应用程序分发服务器102例如经由通信网络130将应用程序的一个或多个实验版本通信至所选择的多个数据处理装置110a~110d中的每一个。应用程序分发服务器102可用于收集与所通信的一个或多个实验版本相关联的性能信息。在这方面,例如,可以利用所选择的多个数据处理装置110a~110d中的每一个来收集性能信息的至少一部分。在一些实例中,例如,可以利用在所选择的多个数据处理装置110a~110d中的每一个上运行的具有一个或多个实验版本的应用程序来收集性能信息的至少一部分。在其它实例中,例如,可以利用应用程序分发服务器102自身来收集性能信息的至少一部分。该性能信息例如可以包括与在所选择的多个数据处理装置110a~110d中的每一个上运行应用程序的一个或多个实验版本相关联的重要统计数据。
然后,应用程序分发服务器102可用于将所收集的性能信息通信至应用程序的开发者106以供分析。例如,可以从所选择的多个数据处理装置110a~110d和/或从应用程序分发服务器102将所收集的性能信息通信至数据收集服务器104。数据收集服务器104可用于汇总所接收到的性能信息并将所汇总的性能信息通信至开发者106。然后,开发者106可以分析所接收到的性能信息。基于该分析结果,开发者106可以与应用程序分发服务器102进行通信,以实现针对该应用程序的更新实验或停止针对该应用程序的实验。
在从诸如所选择的多个数据处理装置110a~110d中的数据处理装置110a等的特定数据处理装置卸载特定实验版本的实例中,应用程序分发服务器102可用于将表示该特定数据处理装置110a参与针对应用程序的实验的消息和用以退出今后的与该特定数据处理装置110a相关联的实验的选项通信至该特定数据处理装置110a。在可以从所选择的多个数据处理装置110a~110d中的诸如数据处理装置110a等的特定数据处理装置通信了与特定实验版本有关的反馈信息和/或评价信息的其它实例中,应用程序分发服务器102还可用于将表示该特定数据处理装置110a当前正运行针对应用程序的实验的消息和用以退出今后的与该特定数据处理装置110a相关联的实验的选项通信至该特定数据处理装置110a。在这方面,选项在可用的情况下,例如可以包括用以退出应用程序的特定实验版本的选项、用以退出应用程序的所有实验版本的选项、用以退出在数据处理装置110a上运行的任何应用程序的任何实验版本的选项和用以退出与同数据处理装置110a有关的用户账户相关联的任何应用程序的任何实验版本的选项。
在本发明的示例实施例中,可以从应用程序分发服务器102将应用程序下载到所选择的多个数据处理装置110a~110d中的一个或多个数据处理装置上。例如,还可以从网站108和/或任何其它适当的实体来将应用程序下载到所选择的多个数据处理装置110a~110d中的一个或多个数据处理装置上。
图2是示出根据本发明的实施例的示例应用程序分发服务器的框图。参考图2,示出应用程序分发服务器102。应用程序分发服务器102例如可以包括应用程序测试模块202、处理器208和存储器210。应用程序分发服务器102可以包括多个已发布的应用程序206,其中例示了应用程序206a~206c。图2还示出应用程序206a的多个实验版本207,其中例示了实验版本207a~207c。例如,应用程序分发服务器102可以如针对图1所述。
应用程序测试模块202可以包括可用于针对应用程序分发服务器102进行应用程序测试功能的适当的逻辑、电路、接口和/或代码。在本发明的示例实施例中,应用程序测试模块202可用于选择能够接收与诸如应用程序206a等的应用程序相关联的应用程序更新的诸如数据处理装置110a~110d等的多个数据处理装置。在应用程序206a的更新处理期间,可以利用应用程序测试模块202将诸如应用程序206a的实验版本207a~207c等的一个或多个实验版本通信或分发至所选择的多个数据处理装置110a~110d中的每一个。应用程序测试模块202可用于收集与所通信或所分发的一个或多个实验版本207a~207c相关联的性能信息。然后,应用程序测试模块202可用于将所收集的性能信息通信至诸如应用程序206a的开发者106等的开发者以供分析。
处理器208可以包括可用于管理和/或控制应用程序分发服务器102中的各种组件和/或模块的操作的适当的逻辑、电路、接口和/或代码。处理器208可以利用使得能够执行例如应用程序206等的各种应用程序的操作***(OS)。
存储器210可以包括可用于存储应用程序分发服务器102中的处理器208、应用程序测试模块202和/或其它模块或组件可利用的诸如可执行指令和/或数据等的信息的适当的逻辑、电路、接口和/或代码。存储器210可以包括RAM、ROM、诸如闪速存储器等的低延时非易失性存储器和/或其它适当的电子数据存储器。
在工作中,应用程序测试模块202可用于选择能够接收与应用程序206a相关联的应用程序更新的多个数据处理装置110a~110d。在这方面,例如,诸如数据处理装置110a等的所选择的数据处理装置可能能够经由与应用程序分发服务器102和数据处理装置110a相关联的用户账户来接收应用程序更新。例如,在应用程序206a的更新处理期间,可以利用应用程序测试模块202经由通信网络130来将应用程序206a的一个或多个实验版本207a~207c通信或分发至所选择的多个数据处理装置110a~110d中的每一个。应用程序测试模块202可用于收集与所通信或所分发的一个或多个实验版本207a~207c相关联的性能信息。然后,应用程序测试模块202可用于将所收集的性能信息通信至应用程序206a的开发者106以供分析。例如,可以从所选择的多个数据处理装置110a~110d和/或从应用程序分发服务器102中的应用程序测试模块202将所收集的性能信息通信至诸如数据收集服务器104等的数据收集服务器。数据收集服务器104可用于汇总所接收到的性能信息并将所汇总的性能信息通信至开发者106。然后,开发者106可以分析所接收到的性能信息。基于该分析结果,开发者106可以与应用程序测试模块202进行通信以实现针对应用程序206a的更新实验或停止针对应用程序206a的实验。
在从诸如所选择的多个数据处理装置110a~110d中的数据处理装置110a等的特定数据处理装置卸载诸如实验版本207a等的特定实验版本的实例中,应用程序测试模块202可用于将表示该特定数据处理装置110a当前正运行针对应用程序206a的实验的消息以及用以退出今后的与该特定数据处理装置110a有关的实验的选项通信至该特定数据处理装置110a。在可能从所选择的多个数据处理装置110a~110d中的诸如数据处理装置110a等的特定数据处理装置通信了与诸如实验版本207a等的特定实验版本有关的反馈信息和/或评价信息的其它实例中,应用程序测试模块202还可用于将表示该特定数据处理装置110a当前正运行针对应用程序206a的实验的消息和用以退出今后的与该特定数据处理装置110a相关联的实验的选项通信至该特定数据处理装置110a。在这方面,选项在可用的情况下,例如可以包括用以退出应用程序206a的特定实验版本207a的选项、用以退出应用程序206a的所有实验版本207的选项、用以退出在数据处理装置110a上运行的任何应用程序(例如,应用程序206a、206b或206c)的任何实验版本的选项以及用以退出与同数据处理装置110a有关的用户账户相关联的任何应用程序(例如,应用程序206a、206b或206c)的任何实验版本的选项。
图3是示出根据本发明的实施例的示例数据处理装置的框图。参考图3,示出数据处理装置110a。数据处理装置110a例如可以包括应用程序获取模块302、处理器308、存储器310和显示模块312。数据处理装置110a还可以包括在数据处理装置110a上运行的多个已下载的应用程序206,其中示出应用程序206a~206c。图3还示出应用程序206的多个已下载的实验版本207,其中示出实验版本207a~207c。例如,数据处理装置110a可以如针对图1所述。
应用程序获取模块302可以包括可用于连接至诸如应用程序分发服务器102等的特定应用程序分发服务器的适当的逻辑、电路、接口和/或代码。应用程序获取模块302可用于从应用程序分发服务器102获取例如应用程序206a~206c等的已发布的应用程序的下载。在本发明的示例实施例中,在诸如应用程序206a等的已下载的应用程序的更新处理中,可以经由应用程序获取模块302从应用程序分发服务器102将一个或多个实验版本207~207c下载到数据处理装置110a上。
处理器308可以包括可用于管理和/或控制数据处理装置110a中的各种组件和/或模块的操作的适当的逻辑、电路、接口和/或代码。处理器308可以利用使得能够执行例如应用程序206等的各种应用程序的操作***(OS)。
存储器310可以包括可用于存储数据处理装置110a中的处理器308、应用程序获取模块302、显示模块312和/或其它模块或组件可利用的诸如可执行指令和/或数据等的信息的适当的逻辑、电路、接口和/或代码。存储器310可以包括RAM、ROM、诸如闪速存储器等的低延时非易失性存储器和/或其它适当的电子数据存储器。
显示模块312可以包括可用于向数据处理装置110a的用户显示或呈现处理后的内容的适当的逻辑、电路、接口和/或代码。在本发明的示例实施例中,显示模块312可用于显示从应用程序分发服务器102所通信或所接收到的消息。该消息可以表示数据处理装置110a当前正运行针对例如应用程序206a等的应用程序的实验。在这些实例中,显示模块312还可以显示与用以退出今后的实验的选项有关的信息,其中该与选项有关的信息还可以是从应用程序分发服务器102所通信的或所接收到的。
在工作中,在应用程序206a的更新处理期间,数据处理装置110a可用于经由应用程序获取模块302从应用程序分发服务器102下载应用程序206a的一个或多个实验版本207a~207c。处理器308可用于安装所下载的应用程序206a的一个或多个实验版本207a~207c。数据处理装置110a可能能够经由例如自动更新来接收应用程序更新。数据处理装置110a可用于收集与一个或多个实验版本207a~207c相关联的性能信息。在这方面,例如,可以利用处理器308来收集性能信息的至少一部分。例如,处理器308可以收集诸如在运行实验版本207其中之一时的电池消耗等的重要信息。然后,处理器308所收集到的性能信息例如可被通信至诸如数据收集服务器104等的数据收集服务器。
还可以由应用程序206a自身在实现一个或多个实验版本207a~207c的情况下收集性能信息的至少一部分。例如,应用程序206a可以利用用以记录并收集与一个或多个实验版本207a~207c相关联的统计数据或信息的一个或多个计数器。然后,例如,可以将应用程序206a所收集的性能信息通信至处理器308或应用程序获取模块302。在这些实例中,处理器308则可以将所收集的性能信息通信至例如数据收集服务器104。而应用程序获取模块302可以将所收集的性能信息通信至应用程序分发服务器102中的应用程序测试模块202,其中该应用程序测试模块202随后可以将所收集的性能信息通信至例如数据收集服务器102。还可以利用应用程序分发服务器102经由应用程序获取模块302来收集性能信息的一部分。在这方面,例如,应用程序获取模块302可以收集与运行实验版本207其中之一相关联的重要信息并将所收集的重要信息通信至应用程序分发服务器102中的应用程序测试模块202。然后,通信至应用程序分发服务器102中的应用程序测试模块202的性能信息例如可被通信至数据收集服务器104。
在从数据处理装置110a卸载诸如实验版本207a等的特定实验版本的实例中,数据处理装置110a例如可用于经由应用程序获取模块302从应用程序分发服务器102中的应用程序测试模块202接收表示数据处理装置110a当前正运行针对应用程序206a的实验的消息。在这些实例中,数据处理装置110a例如还可用于经由应用程序获取模块302从应用程序分发服务器102中的应用程序测试模块202接收用以退出今后的与数据处理装置110a相关联的实验的选项。在这方面,可以经由显示模块312向数据处理装置110a的用户显示或呈现该消息和/或与用以退出的选项有关的信息。
在由用户给出并从数据处理装置110a通信了与诸如实验版本207a等的特定实验版本有关的反馈信息和/或评价信息的实例中,数据处理装置110a例如还可用于经由应用程序获取模块302从应用程序分发服务器102中的应用程序测试模块202接收表示数据处理装置110a当前正运行针对应用程序206a的实验的消息。在这些实例中,数据处理装置110a例如还可用于经由应用程序获取模块302从应用程序分发服务器102中的应用程序测试模块202接收用以退出今后的与数据处理装置110a相关联的实验的选项。在这方面,还可以经由显示模块312向数据处理装置110a的用户显示该消息和/或与用以退出的选项有关的信息。
在本发明的示例实施例中,例如可以经由应用程序获取模块302从应用程序分发服务器102下载在数据处理装置110a上运行的应用程序206a~206c。例如还可以经由处理器308从诸如网站108等的网站和/或从任何其它适当的实体下载应用程序206a~206c。
图4是示出根据本发明的实施例的用于应用程序的测试架构的示例步骤的流程图。参考图4,示例步骤从步骤401开始。在步骤402中,应用程序分发服务器102中的应用程序测试模块202可用于选择能够接收与诸如应用程序206a等的应用程序相关联的应用程序更新的多个数据处理装置110a~110d。在步骤403中,例如,在应用程序206a的更新处理期间,可以利用应用程序测试模块202经由通信网络130将应用程序206a的一个或多个实验版本207a~207c通信或分发至所选择的多个数据处理装置110a~110d中的每一个。在这方面,例如,可以经由数据处理装置110a中的应用程序获取模块302将一个或多个实验版本207a~207c分发至数据处理装置110a。在步骤404中,应用程序测试模块202可用于使得对与所通信或所分发的应用程序206a的一个或多个实验版本207a~207c相关联的性能信息进行收集。在步骤405中,应用程序测试模块202随后可用于使得将所收集的性能信息通信至应用程序206a的开发者106以供分析。在这方面,例如,可以从所选择的多个数据处理装置110a~110d和/或从应用程序分发服务器102将所收集的性能信息通信至诸如数据收集服务器104等的数据收集服务器。数据收集服务器104可用于汇总所接收到的性能信息并将所汇总的性能信息通信至开发者106。然后,开发者106可以分析所接收到的性能信息。示例步骤可以进入结束步骤406。
在本发明的各种实施例中,应用程序分发服务器102中的应用程序测试模块202可用于选择能够接收与应用程序206a相关联的应用程序更新的诸如数据处理装置110a~110d等的多个数据处理装置。在这方面,例如,多个数据处理装置110a~110d可能能够经由自动更新和/或其它类型的更新来接收应用程序更新。在应用程序206a的更新处理期间,可以利用应用程序分发服务器102中的应用程序测试模块202将应用程序206a的一个或多个实验版本207a~207c通信或分发至所选择的多个数据处理装置110a~110d中的每一个。应用程序分发服务器102中的应用程序测试模块202可用于收集与所通信的一个或多个实验版本207a~207c相关联的性能信息。在这方面,例如,可以利用诸如所选择的多个数据处理装置110a~110d中的每一个中的处理器308等的处理器来收集性能信息的至少一部分。在一些实例中,例如,可以利用在所选择的多个数据处理装置110a~110d中的每一个上运行的具有一个或多个实验版本207a~207c的应用程序206a来收集性能信息的至少一部分。在其它实例中,例如,可以利用应用程序分发服务器102中的应用程序测试模块202经由数据处理装置110a中的应用程序获取模块302来收集性能信息的至少一部分。
然后,应用程序分发服务器102中的应用程序测试模块202可用于将所收集的性能信息通信至应用程序206a的开发者106以供分析。在这方面,例如,可以从所选择的多个数据处理装置110a~110d和/或从应用程序分发服务器102将所收集的性能信息通信至数据收集服务器104。数据收集服务器104可用于汇总所接收到的性能信息并将所汇总的性能信息通信至开发者106。
在从诸如所选择的多个数据处理装置110a~110d中的数据处理装置110a等的特定数据处理装置卸载诸如实验版本207a等的特定实验版本的情况下,应用程序分发服务器102中的应用程序测试模块202可用于将表示该特定数据处理装置110a当前正运行针对应用程序206a的实验的消息和用以退出今后的与该特定数据处理装置110a相关联的实验的选项通知至该特定数据处理装置110a。在可能从所选择的多个数据处理装置110a~110d中的诸如数据处理装置110a等的特定数据处理装置通信了与诸如实验版本207a等的特定实验版本有关的反馈信息和/或评价信息的其它实例中,应用程序分发服务器102中的应用程序测试模块202还可用于将表示该特定数据处理装置110a当前正运行针对应用程序的实验的消息和用以退出今后的与该特定数据处理装置110a相关联的实验的选项通知至该特定数据处理装置110a。
在一些实例中,可以从应用程序分发服务器102将应用程序206a下载到所选择的多个数据处理装置110a~110d中的一个或多个数据处理装置上。例如,还可以从诸如网站108等的网站和/或从任何其它适当的实体将应用程序下载到所选择的多个数据处理装置110a~110d中的一个或多个数据处理装置上。
本发明的其它实施例可以提供其上存储有机器代码和/或计算机程序的非瞬态计算机可读介质和/或存储介质以及/或者非瞬态机器可读介质和/或存储介质,其中该机器代码和/或计算机程序具有机器和/或计算机可执行的至少一个代码部分,由此使该机器和/或计算机进行如这里所述的用于应用程序的测试框架的步骤。
因此,本发明的方面可以以硬件、软件或者硬件和软件的组合来实现。本发明的方面可以以集中方式在至少一个计算机***中实现、或者以不同元件分散开的分布方式在数个互连的计算机***内实现。被配置成为执行这里所述的方法的任何种类的计算机***或其它设备均适合。硬件和软件的典型组合可以是具有如下计算机程序的通用计算机***,其中该计算机程序在载入并执行的情况下,控制计算机***以使得该计算机***执行这里所述的方法。
本发明的方面还可以嵌入在计算机程序产品中,其中该计算机程序产品包括使得能够实现这里所述的方法的所有特征,并且该计算机程序产品在载入计算机***的情况下,能够执行这些方法。本上下文中的计算机程序表示采用任何语言、代码或注释的如下指令组的任何表达,其中该指令组意图使具有信息处理能力的***直接地进行特定功能、或者在进行了a)转换成其它语言、代码或注释和b)以不同材料形式再现这两者或者任一者之后进行特定功能。
尽管已经参考特定实施例说明了本发明,但本领域技术人员应当理解,可以在没有背离本发明的范围的情况下进行各种改变并且可以替换等同物。另外,在没有背离本发明的范围的情况下,可以进行多种修改以使特定情形或材料适合于本发明的教导。因此,意图是本发明不限于所公开的特定实施例,而且本发明将包括落入所附权利要求书的范围内的所有实施例。

Claims (20)

1.一种用于测试的方法,包括以下步骤:
在应用程序分发服务器中,进行以下操作:
选择能够接收与应用程序相关联的应用程序更新的多个移动数据处理装置;
在所述应用程序的更新处理期间,将所述应用程序的一个或多个实验版本通信至所选择的多个移动数据处理装置中的每一个;
使得由所述移动数据处理装置的处理器对与所通信的一个或多个实验版本相关联的性能信息进行收集,其中所述性能信息是电池消耗信息;以及
使得将所收集的性能信息通信至所述应用程序的开发者以供分析。
2.根据权利要求1所述的方法,其中,还包括以下步骤:在从所选择的多个数据处理装置中的特定数据处理装置卸载特定实验版本的情况下,将以下内容通信至所述特定数据处理装置:
表示所述特定数据处理装置参与针对所述应用程序的实验的消息;以及
用以退出今后的与所述特定数据处理装置相关联的实验的选项。
3.根据权利要求1所述的方法,其中,还包括以下步骤:在从所选择的多个数据处理装置中的特定数据处理装置通信了与特定实验版本有关的反馈信息和/或评价信息的情况下,将以下内容通信至所述特定数据处理装置:
表示所述特定数据处理装置参与针对所述应用程序的实验的消息;以及
用以退出今后的与所述特定数据处理装置相关联的实验的选项。
4.根据任一前述权利要求所述的方法,其中,所述多个数据处理装置能够经由自动更新而接收所述应用程序更新。
5.根据权利要求4所述的方法,其中,通信步骤包括在所述应用程序的自动更新处理期间,将应用的一个或多个实验版本通信至所选择的多个移动数据处理装置中的每一个。
6.根据权利要求4所述的方法,其中,利用在所选择的多个数据处理装置中的每一个上运行的具有所述一个或多个实验版本的所述应用程序来收集所述性能信息的至少一部分。
7.根据权利要求4所述的方法,其中,利用所述应用程序分发服务器来收集所述性能信息的至少一部分。
8.根据权利要求4所述的方法,其中,
将所收集的性能信息通信至数据收集服务器,
利用所述数据收集服务器来汇总所通信的性能信息以供所述开发者使用,以及
将所汇总的性能信息从所述数据收集服务器通信至所述开发者。
9.根据权利要求4所述的方法,其中,将所述应用程序从所述应用程序分发服务器下载到所选择的多个数据处理装置中的一个或多个数据处理装置上。
10.根据权利要求4所述的方法,其中,将所述应用程序从网站下载到所选择的多个数据处理装置中的一个或多个数据处理装置上。
11.一种用于测试的***,包括:
应用程序分发服务器,其中所述应用程序分发服务器能够用于进行以下操作:
选择能够接收与应用程序相关联的应用程序更新的多个移动数据处理装置;
在所述应用程序的更新处理期间,将所述应用程序的一个或多个实验版本通信至所选择的多个移动数据处理装置中的每一个;
使得由所述移动数据处理装置的处理器对与所通信的一个或多个实验版本相关联的性能信息进行收集,其中所述性能信息是电池消耗信息;以及
使得将所收集的性能信息通信至所述应用程序的开发者以供分析。
12.根据权利要求11所述的***,其中,在从所选择的多个数据处理装置中的特定数据处理装置卸载特定实验版本的情况下,所述应用程序分发服务器能够用于将以下内容通信至所述特定数据处理装置:
表示所述特定数据处理装置参与针对所述应用程序的实验的消息;以及
用以退出今后的与所述特定数据处理装置相关联的实验的选项。
13.根据权利要求11所述的***,其中,在从所选择的多个数据处理装置中的特定数据处理装置通信了与特定实验版本有关的反馈信息和/或评价信息的情况下,所述应用程序分发服务器能够用于将以下内容通信至所述特定数据处理装置:
表示所述特定数据处理装置参与针对所述应用程序的实验的消息;以及
用以退出今后的与所述特定数据处理装置相关联的实验的选项。
14.根据权利要求11-13中任一项所述的***,其中,所述多个数据处理装置能够经由自动更新而接收所述应用程序更新。
15.根据权利要求14所述的***,其中,所述性能信息的至少一部分由所选择的多个数据处理装置中的每一个来收集。
16.根据权利要求14所述的***,其中,通信步骤包括在所述应用程序的自动更新处理期间,将应用的一个或多个实验版本通信至所选择的多个移动数据处理装置中的每一个。
17.根据权利要求14所述的***,其中,所述性能信息的至少一部分由所述应用程序分发服务器来收集。
18.根据权利要求14所述的***,其中,
所收集的性能信息被通信至数据收集服务器,
所通信的性能信息由所述数据收集服务器来汇总以供所述开发者使用,以及
将所汇总的性能信息从所述数据收集服务器通信至所述开发者。
19.根据权利要求14所述的***,其中,所述应用程序是从所述应用程序分发服务器下载到所选择的多个数据处理装置中的一个或多个数据处理装置上的。
20.一种用于测试的方法,包括以下步骤:
在应用程序分发服务器中,进行以下操作:
选择能够经由自动更新来接收与应用程序相关联的应用程序更新的多个移动数据处理装置;
在所述应用程序的自动更新处理期间,将所述应用程序的一个或多个实验版本通信至所选择的多个移动数据处理装置中的每一个;
使得由所述移动数据处理装置的处理器对与所通信的一个或多个实验版本相关联的性能信息进行收集,其中所述性能信息是电池消耗信息;以及
使得将所收集的性能信息通信至所述应用程序的开发者以供分析。
CN201380064635.1A 2012-10-11 2013-10-04 用于应用程序的测试框架的方法和*** Active CN104838405B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/649,282 US9411573B2 (en) 2012-10-11 2012-10-11 Testing framework for applications
US13/649,282 2012-10-11
PCT/US2013/063465 WO2014058734A1 (en) 2012-10-11 2013-10-04 Testing framework for applications

Publications (2)

Publication Number Publication Date
CN104838405A CN104838405A (zh) 2015-08-12
CN104838405B true CN104838405B (zh) 2018-09-28

Family

ID=49448305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380064635.1A Active CN104838405B (zh) 2012-10-11 2013-10-04 用于应用程序的测试框架的方法和***

Country Status (4)

Country Link
US (1) US9411573B2 (zh)
EP (1) EP2907099B1 (zh)
CN (1) CN104838405B (zh)
WO (1) WO2014058734A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2725553T3 (es) * 2012-04-05 2019-09-24 Coremedia Ag Método y sistema de administración de contenido web para pruebas A/B o pruebas multivariable de sitios web en ordenadores conectados a un sistema de administración de contenido web
US20140195662A1 (en) * 2013-01-10 2014-07-10 Srinivasan Pulipakkam Management of mobile applications in communication networks
US8978013B1 (en) * 2013-10-09 2015-03-10 Electronic Arts Inc. Autonomous media version testing
US20150287050A1 (en) * 2014-04-07 2015-10-08 Olaf Schmidt Split testing framework
US9792205B2 (en) 2014-06-13 2017-10-17 Ebay Inc. A/B testing for mobile applications
US9501264B2 (en) * 2014-09-04 2016-11-22 Tg Llc User corrections in translation
US11494293B2 (en) 2014-11-18 2022-11-08 King.Com Limited Testing systems and methods
CN105740137B (zh) * 2014-12-08 2018-07-31 阿里巴巴集团控股有限公司 分桶测试方法和提供配置信息的方法、装置及***
US9792102B2 (en) * 2015-09-04 2017-10-17 Quest Software Inc. Identifying issues prior to deploying software
CN108804315B (zh) * 2018-05-23 2022-03-11 北京五八信息技术有限公司 应用于动态开发的测试方法、装置、电子设备及存储介质
US20220067762A1 (en) * 2020-08-26 2022-03-03 Coupang Corp. System and method for predicting an optimal stop point during an experiment test
CN112306836B (zh) * 2020-11-09 2023-07-25 百度在线网络技术(北京)有限公司 采样对象确定方法、装置、电子设备存储介质和程序产品
KR20210124488A (ko) 2020-11-09 2021-10-14 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 샘플링 대상 결정 방법, 장치, 전자 설비 및 컴퓨터 판독 가능 저장 매체
CN113791978B (zh) * 2021-09-13 2023-07-11 网易(杭州)网络有限公司 目标对照样本获取方法以及策略检测方法
WO2023229652A1 (en) * 2022-05-26 2023-11-30 Google Llc Balanced control-treatment experiments for software testing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334005B2 (en) * 2005-04-13 2008-02-19 Symantec Corporation Controllable deployment of software updates
US7818736B2 (en) * 2005-09-14 2010-10-19 International Business Machines Corporation Dynamic update mechanisms in operating systems
US20080301660A1 (en) * 2007-05-30 2008-12-04 Google Inc. Maintaining Multiple Versions of a Software Application on a Device
US8566895B2 (en) 2008-02-15 2013-10-22 Time Warner Cable Inc. System and method for incremental implementation of new service capabilities
US20100087184A1 (en) 2008-10-08 2010-04-08 Research In Motion Limited System and methods for configuring an updating frequency for mobile wireless communications device application updates and related methods
WO2010080598A1 (en) 2008-12-19 2010-07-15 Nurago Gmbh Mobile device and method for providing logging and reporting of user-device interaction
US20100281475A1 (en) 2009-05-04 2010-11-04 Mobile On Services, Inc. System and method for mobile smartphone application development and delivery
US8280456B2 (en) 2009-08-14 2012-10-02 Google Inc. Providing a user with feedback regarding power consumption in battery-operated electronic devices
US9160812B2 (en) 2009-10-22 2015-10-13 Cellco Partnership Systems and methods for delivering an application over a mobile communications network
US20110161825A1 (en) 2009-12-31 2011-06-30 Tierney Chris Systems and methods for testing multiple page versions across multiple applications
US8683440B2 (en) * 2010-05-27 2014-03-25 Red Hat Israel, Ltd. Performing dynamic software testing based on test result information retrieved in runtime using test result entity
US8713103B2 (en) 2011-03-10 2014-04-29 Ebay Inc. Managing delivery of application server content
US8978015B2 (en) * 2011-08-15 2015-03-10 Red Hat, Inc. Self validating applications

Also Published As

Publication number Publication date
EP2907099B1 (en) 2020-12-02
CN104838405A (zh) 2015-08-12
WO2014058734A1 (en) 2014-04-17
EP2907099A1 (en) 2015-08-19
US20140109066A1 (en) 2014-04-17
US9411573B2 (en) 2016-08-09

Similar Documents

Publication Publication Date Title
CN104838405B (zh) 用于应用程序的测试框架的方法和***
CN109302522B (zh) 测试方法、装置以及计算机***和介质
CN102708050B (zh) 移动应用测试方法和***
CN107786601B (zh) 一种信息处理方法、终端及服务器
CN108255701B (zh) 场景测试方法及移动终端
CN110209569B (zh) 接口测试方法、接口测试装置及存储介质
CN107807841B (zh) 服务器模拟方法、装置、设备及可读存储介质
CN110837391B (zh) 应用程序的热更新方法及装置、存储介质及电子设备
CN110704303B (zh) 一种测试覆盖度信息的获取方法及装置
CN111858364A (zh) 测试终端的参数配置方法、装置及***
CN107368407B (zh) 信息处理方法和装置
CN111625291A (zh) 数据处理模型自动迭代方法、装置及电子设备
CN109299960B (zh) 监控广告的方法、装置及计算机可读存储介质、终端设备
CN107766231B (zh) 一种自动化测试方法和装置
CN112379967B (zh) 模拟器检测方法、装置、设备及介质
CN114003457A (zh) 数据获取方法和装置、存储介质及电子设备
CN113760315A (zh) 测试***的方法和装置
CN116257422A (zh) 自测用例生成方法、装置及电子设备
CN113760768A (zh) 一种测试方法、监控平台、电子设备及存储介质
CN113806231A (zh) 一种代码覆盖率分析方法、装置、设备和介质
CN104035860A (zh) 智能终端软件包测试任务生成方法、装置和***
CN110489201B (zh) 容器性能测试装置及方法
CN105630503A (zh) 一种基于用户操作记录的应用开发移动设备选取方法
CN112882921A (zh) 故障模拟方法和装置
CN112241357A (zh) 灰度测试的方法、装置、设备和计算机可读介质

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant