CN106605219A - 用于对移动应用程序进行分析的方法及系统 - Google Patents
用于对移动应用程序进行分析的方法及系统 Download PDFInfo
- Publication number
- CN106605219A CN106605219A CN201680000858.5A CN201680000858A CN106605219A CN 106605219 A CN106605219 A CN 106605219A CN 201680000858 A CN201680000858 A CN 201680000858A CN 106605219 A CN106605219 A CN 106605219A
- Authority
- CN
- China
- Prior art keywords
- application program
- feature
- place
- history
- given
- 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
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/535—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3438—Recording 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 monitoring of user actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Software Systems (AREA)
Abstract
提供了一种用于对至少一个测试应用程序进行分析的方法。该方法包括:在一个或多个第一用户设备上运行多个历史应用程序;收集与该多个历史应用程序相关的特征数据;从所收集的特征数据中提取该多个历史应用程序的特征;将该多个历史应用程序的特征分类成多个特征组;给该多个历史应用程序的特征分配权重以生成参考数据;在一个或多个第二用户设备上运行至少一个测试应用程序;收集与该至少一个测试应用程序相关的特征数据;从所收集的特征数据中提取该至少一个测试应用程序的特征;将该至少一个测试应用程序的特征分类成多个特征组;基于所生成的参考数据来给该至少一个测试应用程序的特征分配权重,根据分配给给定应用程序的特征的权重来计算该给定应用程序的分数,其中,当给定应用程序为历史应用程序时,以迭代的方式执行权重的分配以及分数的计算,并且其中,基于历史应用程序的分数与历史应用程序的排名数据之间的比较来执行权重的分配的迭代以及分数的计算的迭代;以及基于给定应用程序的分数来向至少一个开发者提供针对给定应用程序的改进建议。
Description
技术领域
本公开内容总体上涉及移动应用程序,更具体地,涉及用于对移动应用程序进行分析的方法。此外,本公开内容涉及用于对移动应用程序进行分析的系统。此外,本公开内容还涉及计算机程序产品,该计算机程序产品包括其上存储有程序指令的非暂时性机器可读数据存储介质,当该程序指令被处理设备所访问时,使得处理设备执行前述方法。
背景技术
移动游戏业务预计将超过游戏机业务。在2015年,移动游戏业务的预期收益是303亿美元(来源:Newzoo)。可以用相对少的工作量和投资来产生新的移动游戏。然而,发行移动游戏需要高的市场投资。
在任何行业中,了解应该在产品中实现哪些特征以便使该产品成功是十分有价值的。从游戏开发者的角度来看,期望了解应该开发什么类型的游戏以及应该在游戏中实现哪些特征。从游戏发行者的角度来看,期望了解开发者所提供的各种游戏中哪些游戏应该被发行并得到投资。通常,游戏发行者通常基于临时决策或直觉来选择用于发行的游戏。
存在用于对游戏发展趋势进行评估、分类以及预测的方法。这些方法采用集群式模式识别以通过特征集比较游戏。
然而,在可以进行任何比较之前,必要的是提取游戏的特征。通常,特征是手动提取的,本质上是操作员玩游戏并且回答一组预定问题。这使得整个特征提取的过程繁琐且耗时。此外,手动任务必然会涉及到人为错误的风险。
发明内容
本公开内容试图提供一种用于对至少一个测试应用程序进行分析的改进的方法。本公开内容还试图提供一种用于对至少一个测试应用程序进行分析的改进的系统。本公开内容的还一个目的是至少部分地克服如上所述的现有技术的至少一些问题。实际上,本公开内容的目的是提供一种快速、可靠且有效的用于对至少一个测试应用程序进行分析的方法和系统。还一个目的是提供一种可以完全自动化的方法。
在第一方面中,本公开内容的实施例提供了一种用于对至少一个测试应用程序进行分析的方法,该方法包括:
(a)在一个或多个第一用户设备上运行多个历史应用程序;
(b)收集与该多个历史应用程序相关的特征数据;
(c)从步骤(b)处所收集的特征数据中提取该多个历史应用程序的特征;
(d)将该多个历史应用程序的特征分类成多个特征组;
(e)给该多个历史应用程序的特征分配权重以生成参考数据;
(f)在一个或多个第二用户设备上运行至少一个测试应用程序;
(g)收集与该至少一个测试应用程序相关的特征数据;
(h)从步骤(g)处所收集的特征数据中提取该至少一个测试应用程序的特征;
(i)将该至少一个测试应用程序的特征分类成多个特征组;
(j)基于步骤(e)处所生成的参考数据来给该至少一个测试应用程序的特征分配权重;
(k)根据分配给给定应用程序的特征的权重来计算给定应用程序的分数,其中,当给定应用程序为历史应用程序时,以迭代的方式执行步骤(e)处权重的分配以及分数的计算,并且其中,基于历史应用程序的分数与历史应用程序的排名数据之间的比较来执行步骤(e)处权重的分配的迭代以及分数的计算的迭代;以及
(l)基于给定应用程序的分数来向至少一个开发者提供针对给定应用程序的改进建议。
在第二方面中,本公开内容的实施例提供一种用于对至少一个测试应用程序进行分析的系统,该系统包括数据处理装置,其中,该数据处理装置可操作以:
(A)收集与一个或多个第一设备上运行的多个历史应用程序相关的特征数据;
(B)从(A)处所收集的特征数据中提取所述多个历史应用程序的特征;
(C)将所述多个历史应用程序的特征分类成多个特征组;
(D)给所述多个历史应用程序的特征分配权重以生成参考数据;
(E)收集与一个或多个第二设备上运行的至少一个测试应用程序相关的特征数据;
(F)从(E)处所收集的特征数据中提取所述至少一个测试应用程序的特征;
(G)将所述至少一个测试应用程序的特征分类成多个特征组;
(H)基于(D)处所生成的参考数据来给所述至少一个测试应用程序的特征分配权重;
(I)根据分配给给定应用程序的特征的权重来计算所述给定应用程序的分数,其中,当所述给定应用程序是历史应用程序时,以迭代的方式来在(D)处分配权重以及计算分数;
(J)基于历史应用程序的分数与历史应用程序的排名数据之间的比较来在(D)处分配权重以及计算分数;以及
(K)基于给定应用程序的分数来向至少一个开发者提供针对给定应用程序的改进建议。
在第三方面中,本公开内容的实施例提供一种计算机程序产品,该计算机程序产品包括其上存储有程序指令的非暂时性机器可读数据存储介质,当该程序指令被处理设备所访问时,使得处理设备:
(A)收集与一个或多个第一设备上运行的多个历史应用程序相关的特征数据;
(B)从(A)处所收集的特征数据中提取所述多个历史应用程序的特征;
(C)将所述多个历史应用程序的特征分类成多个特征组;
(D)给所述多个历史应用程序的特征分配权重以生成参考数据;
(E)收集与一个或多个第二设备上运行的至少一个测试应用程序相关的特征数据;
(F)从(E)处所收集的特征数据中提取所述至少一个测试应用程序的特征;
(G)将所述至少一个测试应用程序的特征分类成多个特征组;
(H)基于(D)处所生成的参考数据来给所述至少一个测试应用程序的特征分配权重;
(I)根据分配给给定应用程序的特征的权重来计算所述给定应用程序的分数,其中,当所述给定应用程序是历史应用程序时,以迭代的方式来在(D)处分配权重以及计算分数;
(J)基于历史应用程序的分数与历史应用程序的排名数据之间的比较来在(D)处分配权重以及计算分数;以及
(K)基于给定应用程序的分数来向至少一个开发者提供针对给定应用程序的改进建议。
本公开内容的实施例基本上消除了或者至少部分地解决了现有技术中的上述问题,并且使开发者能够获得应该在应用程序中实现哪些特征以及应该怎么修改应用程序以便在制作应用程序时适应当前趋势的理解,以及使发布者能够选择具有商业利益的应用程序。
根据附图以及结合所附权利要求所解释的说明性实施例的具体描述,本公开内容的其他方面、优势、特征和目的将变得明显。应当理解的是,在不脱离由所附权利要求所定义的本公开内容的范围的情况下,本公开内容的特征易于被结合在各种组合中。针对任何方法、系统和计算机程序产品所公开的细节和实施例相应地适用于系统、计算机程序和方法。
附图说明
当结合附图来阅读时,将更好地理解前述发明内容以及以下对说明性实施例的详细描述。为了说明本公开内容,在附图中示出了本公开内容的示例性结构。然而,本公开内容不局限于本文中所公开的具体方法和手段。此外,本领域技术人员将理解附图不是按比例绘制的。尽可能用相同的数字来表示相似的元件。
现在将参照附图仅作为示例对本公开内容的实施例进行描述,其中:
图1是根据本公开内容的实施例的其中实施有用于对至少一个测试应用程序进行分析的系统的示例性网络环境的示图;
图2是根据本公开内容的实施例的用于对至少一个测试应用程序进行分析的系统的示意图;
图3是根据本公开内容的实施例的用于对至少一个测试应用程序进行分析的方法的步骤的示图;以及
图4A、图4B和图4C是根据本公开内容的实施例的针对示例性测试应用程序所编译的示例性报告的示意图。
在附图中,采用带下划线的数字来表示该带下划线的数字位于其上的条目或该带下划线的数字与之相邻的条目。不带下划线的数字涉及由如下的线标识的条目,该线将该不带下划线的数字链接到所述条目。当数字是不带下划线的并伴随相关箭头时,该不带下划线的数字用于识别箭头所指的一般条目。
具体实施方式
以下详细描述示出了本公开内容的实施例以及这些实施例可以被实施的方式。尽管已经讨论了执行本公开内容的一些模式,但本领域技术人员将认识到用于执行或实践本公开内容的其他实施例也是可能的。
词汇表
以下给出整个公开内容中所使用的术语的简要定义。
术语“应用程序”通常指的是应用软件。
术语“移动应用程序”通常指的是针对便携式计算设备所设计的应用软件。
术语“移动游戏”通常指的是在便携式计算设备上玩的视频游戏。
术语“便携式计算设备”通常指的是下述计算设备,该计算设备是便携式的并且易于携带。便携式计算设备通常是手持式的。便携式计算设备的示例包括但不限于:智能手机、移动互联网设备(MID)、平板手机电脑、平板电脑、超级移动个人计算机(UMPC)、个人数字助理(PDA)、无线上网机(web pad)、掌上电脑(PC)以及膝上型电脑。
术语“连接”或“耦接”以及相关术语是在操作意义上使用的,并不必限定为直接连接或者耦接。因此,例如,两个设备可以直接耦接,或者可以经由一个或多个中间介质或设备来耦接。作为另一示例,设备可以以下述方式来耦接,该方式为可以在设备之间传递信息,然而相互之间不共享任何物理连接。基于本文中所提供的本公开内容,本领域普通技术人员将理解其中根据上述定义存在连接或耦接的方式的变体。
短语“在实施例中”、“根据实施例”等通常意指跟随该短语的具体特征、结构或特性包括在本公开内容的至少一个实施例中,或者可以包括在本公开内容的多于一个的实施例中。重要的是,这样的短语不一定指的是同一实施例。
如果说明书陈述部件或特征“可以(may)”、“可以(can)”、“可能(could)”或“可能(might)”被包括或具有特性,则具体的部件或特征不是必须被包括或具有特性。
本公开内容的实施例
在第一方面中,本公开内容的实施例提供了一种用于对至少一个测试应用程序进行分析的方法,该方法包括:
(a)在一个或多个第一用户设备上运行多个历史应用程序;
(b)收集与该多个历史应用程序相关的特征数据;
(c)从步骤(b)处所收集的特征数据中提取该多个历史应用程序的特征;
(d)将该多个历史应用程序的特征分类成多个特征组;
(e)给该多个历史应用程序的特征分配权重以生成参考数据;
(f)在一个或多个第二用户设备上运行至少一个测试应用程序;
(g)收集与该至少一个测试应用程序相关的特征数据;
(h)从步骤(g)处所收集的特征数据中提取该至少一个测试应用程序的特征;
(i)将该至少一个测试应用程序的特征分类成多个特征组;
(j)基于步骤(e)处所生成的参考数据来给该至少一个测试应用程序的特征分配权重;
(k)根据分配给给定应用程序的特征的权重来计算给定应用程序的分数,其中,当给定应用程序为历史应用程序时,以迭代的方式执行步骤(e)处权重的分配以及分数的计算,并且其中,基于历史应用程序的分数与历史应用程序的排名数据之间的比较来执行步骤(e)处权重的分配的迭代以及分数的计算的迭代;以及
(l)基于给定应用程序的分数来向至少一个开发者提供针对给定应用程序的改进建议。
通常,该方法是由一个或多个处理器来执行的。可选地,该多个历史应用程序包括在预定时间周期期间已经在它们各自的类型内成功的应用程序。该预定时间周期是用户定义的或者默认是系统定义的。作为示例,预定时间周期可以是上一周、上两周、上一个月、上两个月、上一季度、上一年等。
根据本公开内容的实施例,以自动化方式来执行步骤(a)处和/或步骤(g)处的收集。可选地,通过采用与给定应用程序链接的软件库来执行步骤(a)处和/或步骤(g)处的收集。可选地,在给定应用程序的开发阶段期间软件库与给定应用程序链接。可选地,在这点上,开发者根据预先定义的手册将软件库与给定应用程序链接。或者,可选地,使用插入式架构来将软件库与给定应用程序进行链接。
因此,当给定应用程序的至少一个特征被调用时,给定应用程序向软件库进行函数调用。可选地,然后,给定应用程序对其进行函数调用的函数将与该至少一个特征相关的信息(即,与该至少一个特征对应的特征数据)写入到在至少一个用户设备处维护的日志上。
然后,日志被发送给执行上述方法的数据处理装置。可选地,周期性地发送日志。或者,可选地,近乎实时地发送日志,也就是说,在给定应用程序在至少一个用户设备上运行时发送日志。这潜在地使得能够近乎实时地从给定应用程序的实际用户进行特征数据的收集。
在其中给定应用程序是移动游戏的示例中,可以被记录到日志中的特征包括下述至少之一:移动游戏中不同的屏幕角色的数量、给定的屏幕角色第一次出现在移动游戏的用户界面(UI)上的时间、给定的UI元素第一次出现在UI上的时间、给定的互动请求出现在UI上的时间、移动游戏的给定阶段经过的时间和/或移动游戏的给定场景完成的时间。
可选地,至少一个特征包括至少一个动态特征。采用软件库使得能够针对给定应用程序的至少一个动态特征来执行特征数据的收集。至少一个动态特征的示例包括但不限于:由给定应用程序的实际用户所执行的不同操作的序列。收集与这些动态特征有关的信息潜在地使得给定应用程序的设计者能够变更参数。作为示例,设计者可以在给定应用程序的更新的版本中使一些操作比给定应用程序的现有版本中存在的操作更难或更简单。
此外,可选地,通过利用至少一个感知单元来进行步骤(a)处和/或步骤(g)处的收集,该至少一个感知单元包括在至少一个用户设备内或者可通信地耦接至至少一个用户设备,以在给定应用程序在该至少一个用户设备上运行时监视现场用户反应。
可选地,该至少一个感知单元具有输入机制,该输入机制被配置为在用户使用给定应用程序时监视用户的反应。这种输入机制的示例包括但不限于:触敏输入、音频输入以及前置摄像头。作为示例,包括在用户设备中的触敏屏可以被配置为监控用户的手指移动。作为另一示例,包括在用户设备中的麦克风可以被配置为监控由用户发出的可听到的声音,例如重呼吸、叫喊等。作为仍一示例,包括在用户设备中的前置摄像头可以被配置为跟踪用户的眼球移动。
可选地,经由至少一个连接设备,即可通信地连接至至少一个用户设备的至少一个其他设备来实施该至少一个感知单元。可选地,利用该至少一个连接设备来在用户使用给定应用程序时监视用户的即时反应。作为示例,可以利用连接至至少一个用户设备的苹果智能手表(应用程序le Watch)来收集反应数据,例如心跳;“苹果(应用程序le)”是注册商标。
此外,可选地,部分地经由人工操作员的手动输入来执行步骤(a)处和/或步骤(g)处的收集。作为示例,当给定应用程序是移动游戏时,人工操作员玩该移动游戏并且提供一组预定问题的答案。可选地,将步骤(a)处和/或步骤(g)处收集的特征数据存储在一个或多个数据库中。
此外,根据本公开内容的实施例,所述方法还包括检索与多个历史应用程序相关的其他数据。可选地,其他数据包括下述至少之一:类型数据、商业销售数据、市场数据、排名数据、用户评价、顾客和消费者的调查数据。
可选地,经由信息爬取(crawling)来从一个或多个外部的信息源检索其他数据。作为示例,外部的信息源包括应用发布平台,即“应用程序商店(应用程序Stores)”,例如,苹果应用程序商店(应用程序le应用程序Store)、谷歌Play(Google Play)、Windows Phone应用商店(Windows Phone Store)以及黑莓应用程序世界(BlackBerry应用程序World);“苹果(应用程序le)”、“谷歌(Google)”、“Windows”和“黑莓(BlackBerry)”是注册商标。在该示例中,排名数据对应于由这些应用发布平台提供的畅销应用排名(top grossingranking)列表。
作为又一示例,可以通过在互联网上搜索下述内容来检索其他数据,该内容例如有评论、关于营销投资的信息、社交媒体和博客上提供的基于互联网的广告等。应当理解的是,评论、营销投资、广告等信息都说明应用程序的成功。作为示例,如果例如诸如移动游戏之类的移动应用程序被很好地宣传并且收到正面评论,那么很有可能该移动应用程序是成功的。可选地,其他数据被存储在一个或多个数据库处或者一个或多个其他数据库处。
在一个示例性实现中,使用前述方法来分析至少一个移动游戏。应当理解的是,在便携式计算设备上玩的游戏易于描述,因为它们不取决于硬件平台的设计,而是依赖于基础的硬件设置,例如,具有足够分辨率的显示屏、触敏输入、音频输出、触觉输出以及互联网连接等。
移动游戏通常由应用发布平台,即“应用程序商店”来发布,由它们各自的移动操作系统平台(例如,谷歌、苹果、微软和黑莓)来维护;“苹果(应用程序le)”、“谷歌(Google)”、“Windows”和“黑莓(BlackBerry)”是注册商标。应用程序商店还例如每周发布畅销应用排名列表和下载最多的游戏的列表。所发布的列表提供下述至少之一:针对给定游戏所进行的下载的次数、与给定游戏的游戏类型有关的信息、给定游戏的出版商、给定游戏的名称、给定游戏的版本和/或给定游戏的预期年龄组。应当理解的是,下载的次数对应于给定游戏的人气。所发布的列表用作其他数据的来源。
此外,根据本公开内容的实施例,基于多个历史应用程序和/或至少一个测试应用程序所属的相互不同的类型来进行步骤(d)处和/或步骤(i)处的分类。换句话说,对于给定应用程序,在给定应用程序所属的给定类型内进行给定应用程序的特征的分类。作为示例,试图通过与来自针对儿童的益智游戏的参考数据进行比较来预测动作类战争游戏的成功将是无用的。可选地,在这点上,根据与多个历史应用程序相关的类型数据来确定该多个历史应用程序所属的相互不同的类型。
可选地,当在步骤(d)处和/或步骤(i)处进行分类时,例如在给定应用程序所属的给定类型内确定该给定应用程序的给定特征是有意义的还是无意义的。可选地,针对给定应用程序的每个特征来进行这种确定。作为示例,如果在属于给定类型的多于预定数目的成功的历史应用程序(即,属于给定类型并且成功的历史应用程序)中发现一个特征,则确定该特征在给定类型内是有意义的。该预定数目是用户定义的或者默认是系统定义的。作为另一示例,对于给定应用程序,如果一个特征在统计上显著地链接到给定应用程序的成功,则确定该特征是有意义的。关于这一点,对于给定的历史应用程序,根据下述至少之一来确定该给定的历史应用程序的成功:排名数据、商业销售数据、营销数据以及用户评论数据。
可选地,基于属于给定类型的一组应用程序上的特征之间的相关性将确定为有意义的特征(下文称为“有意义的特征”)进一步分类成多个特征组。可选地,通过使用k均值聚类、自组织映射或者另一类似的聚类技术来进行这种分类。
作为示例,在给定类型中,如果具有第一特征和第二特征的应用程序的概率超过预定阈值,则该第一特征和第二特征被分类在同一特征组中。该预定阈值是用户定义的或者默认是系统定义的。作为另一示例,在给定类型中,如果具有第一特征和第二特征的应用程序的数量超过在给定类型中被分析的应用程序的总数量的预定百分比,则该第一特征和第二特征被分类在同一特征组中。该预定百分比是用户定义的或者默认是系统定义的。
下述表格提供了在分类期间在给定应用程序的各个特征之间所进行的相关性的示例。
a(i) | b(i) | c(i) | d(i) | … | n(i) | |
a(i) | - | - | - | - | - | - |
b(i) | f[b(i),a(i)] | - | - | - | - | - |
c(i) | f[c(i),a(i)] | f[c(i),b(i)] | - | - | - | - |
d(i) | f[d(i),a(i)] | f[d(i),b(i)] | f[d(i),c(i)] | - | - | - |
… | … | … | … | … | - | - |
n(i) | f[n(i),a(i)] | f[n(i),b(i)] | f[n(i),c(i)] | f[n(i),d(i)] | … | - |
在上述表格中,元素‘a(i)’、‘b(i)’、‘c(i)’、‘d(i)’...‘n(i)’代表给定类型中给定应用程序‘i’的各个特征。元素‘f[x(i),y(i)]’代表给定类型中一组历史应用程序上特征‘x(i)’与特征‘y(i)’之间的相关性,即,在给定类型中应用程序具有两个特征‘x(i)’和‘y(i)’的可能性。
可选地,以自动化方式来进行步骤(d)和/或步骤(i)处的分类,即将特征分成有意义的特征和无意义的特征的分类以及将有意义的特征分成多个特征组的分类。这里应当注意,被分类的特征的数量不限于任何特定数量。前述方法对于从小数量的特征到大数量的特征(例如,几百个)都是适用的。
应当理解的是,可替选地,还可以以下述方式来进行分类:首先将特征分类成多个特征组,然后再进一步分类成有意义的特征和无意义的特征,也就是说,以与上文所采用的处理步骤的顺序相反的处理步骤的顺序来进行分类。
此外,根据本公开内容的实施例,方法还包括以多个特征组可被人理解以及可被人解释的方式来预先定义该多个特征组。稍后将结合图4A到图4C来提供这种可理解以及可解释的特征组的示例。
此外,根据本公开内容的实施例,以自动化方式来进行步骤(e)处和/或步骤(j)处的分配。可选地,步骤(e)处和/或步骤(j)处的分配包括定义最大权重和最小权重,即,要被分配的权重的上限和下限。
可选地,步骤(e)处和/或步骤(j)处的分配包括针对给定应用程序的有意义的特征来确定最优权重。作为示例,如果一个具体特征在给定应用程序中是不存在的,那么对于该给定应用程序,给该具体特征分配权重‘0’(零);然而,如果该具体特征在给定应用程序中是存在的,那么给该具体特征分配一定的权重。
此外,根据本公开内容的实施例,方法还包括根据分配给给定应用程序的特征的权重来确定给定应用程序的总分数。可选地,给定应用程序的总分数被计算为分配给给定应用程序的特征的权重的总和。此外,可选地,针对每个特征组,分数计算为给分类在该特征组中的特征所分配的权重的总和。
可选地,在这点上,以给定应用程序的总分数与给定应用程序的商业潜力尽可能高相关的方式来确定权重。作为示例,当给定应用程序是历史应用程序时,该历史应用程序的总分数与历史应用程序的排名数据相关;当给定应用程序是测试应用程序时,该测试应用程序的总分数与测试应用程序的未来的商业潜力相关。
可选地,当给定应用程序是历史应用程序时,以迭代的方式来进行权重的分配,即步骤(e)处的分配以及总分数的确定。可选地,在这点上,基于历史应用程序的总分数与历史应用程序的排名数据之间的比较来进行权重的分配的迭代以及总分数的确定的迭代。
此外,根据本公开内容的实施例,方法还包括以下述方式对步骤(e)处和/或步骤(j)处所分配的权重进行按比例缩放,该方式为给定应用程序的总分数,即分配给给定应用程序的特征的权重的总和小于或者等于预定的最大数。可选地,该预定的最大数为100。这里应当注意,预定的最大数不限于100,可以是除了100以外的任何数。然而,潜在有利的是以易于理解和解释的方式来定义该预定的最大数。可选地,在方法中,该预定的最大数是用户定义的或者默认是系统定义的。
可选地,以自动化方式来进行权重的按比例缩放。权重的按比例缩放潜在地使得能够以分数易于理解、解释和比较的方式来确定各个应用程序的分数。
此外,根据本公开内容的实施例,方法还包括给与至少一个测试应用程序相关联的至少一个开发者提供针对该至少一个测试应用程序的改进建议。稍后将结合图4A到图4C来提供这种改进建议的示例。
此外,根据本公开内容的实施例,周期性地执行步骤(a)至步骤(l)。作为示例,可以每周重复步骤(a)至步骤(l)。这使得能够用多个历史应用程序的最新的特征数据以及可能地用新的历史应用程序的特征数据对一个或多个数据库进行更新。这还使得能够关于最新的特征数据来再次进行对至少一个测试应用程序的分析。
应当理解的是,由于制造应用程序的趋势随时间变化,因此可能先前具有低成功潜力的应用程序现在具有高成功潜力。因此,潜在有利的是对之前开发的应用程序进行重新分析,以便例如当应用程序中的至少一个应用程序的新的成功潜力高于应用程序中的该至少一个应用程序的先前的成功潜力时做出选择应用程序中的该至少一个应用程序来发布和营销的推荐。
可选地,在这点上,方法还包括当至少一个测试应用程序的总分数大于或者等于预定阈值分数时,将该至少一个测试应用程序告知发布者、开发者、投资者中至少一个。该预定阈值分数是用户定义的或者默认是系统定义的。
本公开内容的实施例易于被用于各种目的,包括但不限于:使开发者能够获得应该在应用程序中实现哪些特征以及应该怎么修改应用程序以便在制作应用程序时适应当前趋势的理解,以及使发布者和诸如开发者、投资者之类的其他相关方能够选择具有商业利益的应用程序。
仅为了说明目的,现在将考虑根据本公开内容的实施例的上述方法的一个示例实现。
示例性操作循环包括下述步骤:
步骤1:生成参考数据。
步骤1包括:
步骤1.1:收集与多个历史应用程序相关的特征数据和其他数据。
步骤1.2:从特征数据中提取多个历史应用程序的特征。
步骤1.3:将特征进行分类。在该步骤中,多个历史应用程序被分类成不同的类型。然后在每种类型内进行分析。
步骤1.4:给多个历史应用程序的特征分配权重。
步骤1.5(可选):权重被按比例缩放。
步骤1.6:对于每个历史应用程序,根据分配给该历史应用程序的特征的权重来计算该历史应用程序的总分数。此外,可选地,针对每个特征组,分数计算为给分类在该特征组中的特征所分配的权重的总和。权重可以具有预定的上限和下限。
步骤1.7:将总分数与其他数据中包括的排名数据进行比较。对于给定的历史应用程序,如果该给定的历史应用程序的总分数与该给定的历史应用程序的排名数据不相关,则重复步骤1.4。进行步骤1.4到步骤1.7的迭代,直到总分数开始与排名数据相关为止。对于给定的一组历史应用程序,如果该给定的一组历史应用程序的总分数与该给定的一组历史应用程序的排名数据不相关,则重复步骤1.4。进行步骤1.4到步骤1.7的迭代,直到总分数开始与排名数据相关为止。
步骤2:将至少一个测试应用程序与多个历史应用程序进行比较。
步骤2包括:
步骤2.1:收集与该至少一个测试应用程序相关的特征数据。
步骤2.2:从特征数据中提取该至少一个测试应用程序的特征。
步骤2.3:将特征进行分类。
步骤2.4:给该至少一个测试应用程序的特征分配权重。
步骤2.5(可选):权重被按比例缩放。
步骤2.6:对于每个测试应用程序,根据分配给该测试应用程序的特征的权重来计算该测试应用程序的总分数。此外,可选地,针对每个特征组,分数计算为给分类在该特征组中的特征所分配的权重的总和。
步骤2.7:根据针对每个特征组计算的分数和/或总分数来编译报告。然后,将报告发送给相关方。作为示例,可以将报告发送给至少一个测试应用程序的至少一个开发者。作为另一示例,当至少一个测试应用程序的总分数大于或者等于预定的阈值分数时,可以发送通知给至少一个发布者。
可选地,在报告中,例如,通过红色高亮来指示比预定的最小值低的分数。更可选地,例如,通过绿色高亮来指示比预定的最大值高的分数,例如,通过黄色高亮来指示落在预定的最小值与预定的最大值之间的分数。这潜在地用作给至少一个测试应用程序的至少一个开发者的改进建议。如此编译的报告提供与至少一个测试应用程序相关的易于理解的、有意义且实用的指导。
可选地,不时地重复步骤1以便更新参考数据。可选地,在这点上,周期性地重复步骤1。此外,可选地,不时地重复步骤2以便对之前开发的应用程序进行再次分析。可选地,在这点上,周期性地重复步骤2。
在第二方面中,本公开内容的实施例提供一种用于对至少一个测试应用程序进行分析的系统,该系统包括数据处理装置,其中,该数据处理装置可操作以:
(A)收集与一个或多个第一设备上运行的多个历史应用程序相关的特征数据;
(B)从(A)处所收集的特征数据中提取该多个历史应用程序的特征;
(C)将该多个历史应用程序的特征分类成多个特征组;
(D)给该多个历史应用程序的特征分配权重以生成参考数据;
(E)收集与一个或多个第二设备上运行的至少一个测试应用程序相关的特征数据;
(F)从(E)处所收集的特征数据中提取该至少一个测试应用程序的特征;
(G)将该至少一个测试应用程序的特征分类成多个特征组;
(H)基于(D)处所生成的参考数据来给该至少一个测试应用程序的特征分配权重;
(I)根据分配给给定应用程序的特征的权重来计算该给定应用程序的分数,其中,当给定应用程序是历史应用程序时,以迭代的方式来在(D)处分配权重以及计算分数;
(J)基于历史应用程序的分数与历史应用程序的排名数据之间的比较来在(D)处分配权重以及计算分数;以及
(K)基于给定应用程序的分数来向至少一个开发者提供针对给定应用程序的改进建议。
系统通常包括一个或多个处理器以及在该一个或多个处理器上执行的软件模块的数据处理装置。可选地,该多个历史应用程序包括在预定时间周期期间已经在它们各自的类型内成功的应用程序。该预定时间周期是用户定义的或者默认是系统定义的。作为示例,预定时间周期可以是上一周、上两周、上一个月、上两个月、上一季度、上一年等。
根据本公开内容的实施例,系统可操作以通过自动化方式在(A)处和/或在(E)处收集特征数据。可选地,当在(A)处和/或在(E)处收集特征数据时,系统可操作以从给定应用程序已经在其上运行或者正在运行的至少一个用户设备接收与该给定应用程序的至少一个特征对应的特征数据。
可选地,当在(A)处和/或在(E)处收集特征数据时,系统可操作以采用与给定应用程序链接的软件库。可选地,在给定应用程序的开发阶段期间软件库与给定应用程序链接。可选地,在这点上,开发者根据预先定义的手册将软件库与给定应用程序链接。或者,可选地,使用插入式架构来将软件库与给定应用程序进行链接。
因此,当给定应用程序的至少一个特征被调用时,给定应用程序向软件库进行函数调用。可选地,然后,给定应用程序对其进行函数调用的函数将与该至少一个特征相关的信息(即,与该至少一个特征对应的特征数据)写入到在至少一个用户设备处维护的日志上。
然后,该日志被发送给系统。可选地,周期性地发送日志。或者,可选地,近乎实时地发送日志,也就是说,在给定应用程序在至少一个用户设备上运行时发送日志。这潜在地使得能够近乎实时地从给定应用程序的实际用户收集特征数据。
可选地,至少一个特征包括至少一个动态特征。采用软件库使得能够针对给定应用程序的至少一个动态特征来收集特征数据。至少一个动态特征的示例包括但不限于:由给定应用程序的实际用户所执行的不同操作的序列。收集与这些动态特征有关的信息潜在地使得给定应用程序的设计者能够变更参数。作为示例,设计者可以在给定应用程序的更新的版本中使一些操作比给定应用程序的现有版本中存在的操作更难或更简单。
此外,可选地,当在(A)处和/或在(E)处收集特征数据时,系统可操作以采用至少一个感知单元,该至少一个感知单元包括在至少一个用户设备内或者可通信地耦接至至少一个用户设备,以在给定应用程序在该至少一个用户设备上运行时监视现场用户反应。
可选地,该至少一个感知单元具有输入机制,该输入机制被配置为在用户使用给定应用程序时监视用户的反应。这种输入机制的示例包括但不限于:触敏输入、音频输入以及前置摄像头。作为示例,包括在用户设备中的触敏屏可以被配置为监控用户的手指移动。作为另一示例,包括在用户设备中的麦克风可以被配置为监控由用户发出的可听到的声音,例如重呼吸、叫喊等。作为仍一示例,包括在用户设备中的前置摄像头可以被配置为跟踪用户的眼球移动。
可选地,经由至少一个连接设备,即可通信地连接至至少一个用户设备的至少一个其他设备来实施该至少一个感知单元。可选地,利用该至少一个连接设备来在用户使用给定应用程序时监视用户的即时反应。作为示例,可以利用连接至至少一个用户设备的苹果智能手表(应用程序le Watch)来收集反应数据,例如心跳;“苹果(应用程序le)”是注册商标。
此外,可选地,系统可操作以部分地经由人工操作员的手动输入来在(A)处和/或在(E)处收集特征数据。作为示例,当给定应用程序是移动游戏时,人工操作员玩该移动游戏并且给系统提供一组预定问题的答案。可选地,系统可操作以将(A)处和/或(E)处所收集的特征数据存储在与该系统关联的一个或多个数据库处。此外,根据本公开内容的实施例,系统可操作以检索与多个历史应用程序相关的其他数据。可选地,其他数据包括下述至少之一:类型数据、商业销售数据、市场数据、排名数据、用户评论数据。
可选地,系统可操作以经由信息爬取来从一个或多个外部的信息源检索其他数据。作为示例,外部的信息源包括应用发布平台,即“应用程序商店(应用程序Stores)”,例如,苹果应用程序商店(应用程序le应用程序Store)、谷歌Play(Google Play)、WindowsPhone应用商店(Windows Phone Store)以及黑莓应用程序世界(BlackBerry应用程序World);“苹果(应用程序le)”、“谷歌(Google)”、“Windows”和“黑莓(BlackBerry)”是注册商标。在该示例中,排名数据对应于由这些应用发布平台提供的畅销应用排名列表。
可选地,系统可操作以通过在互联网上搜索下述内容来检索其他数据,该内容例如有评论、关于营销投资的信息、社交媒体和博客上提供的基于互联网的广告等。应当理解的是,评论、营销投资、广告等信息都说明应用程序的成功。作为示例,如果例如诸如移动游戏之类的移动应用程序被很好地宣传并且收到正面评论,那么很有可能该移动应用程序是成功的。
可选地,系统可操作以将其他数据存储在一个或多个数据库处或者一个或多个其他数据库处。此外,根据本公开内容的实施例,系统可操作以基于多个历史应用程序和/或至少一个测试应用程序所属的相互不同的类型来在(C)和/或(G)处对特征进行分类。可选地,系统可操作以通过自动化方式在(C)和/或(G)处对特征进行分类。
此外,根据本公开内容的实施例,系统可操作以通过多个特征组可被人理解以及可被人解释的方式来预先定义该多个特征组。此外,根据本公开内容的实施例,系统可操作以通过自动化方式在(D)处和/或在(H)处分配权重。可选地,当在(D)处和/或(H)处进行分配时,系统可操作以定义最大权重和最小权重,即,要被分配的权重的上限和下限。可选地,当在(D)处和/或(H)处进行分配时,系统可操作以针对给定应用程序的有意义的特征来确定最优权重。
此外,根据本公开内容的实施例,系统可操作以根据分配给给定应用程序的特征的权重来确定给定应用程序的总分数。可选地,系统可操作以将给定应用程序的总分数计算为分配给给定应用程序的特征的权重的总和。此外,可选地,针对每个特征组,分数计算为给分类在该特征组中的特征所分配的权重的总和。
可选地,在这点上,系统可操作以通过给定应用程序的总分数与给定应用程序的商业潜力尽可能高相关的方式来确定权重。作为示例,当给定应用程序是历史应用程序时,该历史应用程序的总分数与历史应用程序的排名数据相关;当给定应用程序是测试应用程序时,该测试应用程序的总分数与测试应用程序的未来的商业潜力相关。可选地,当给定应用程序是历史应用程序时,系统可操作以通过迭代的方式在(D)处分配权重以及确定总分数。
根据本公开内容的实施例,系统可操作以基于历史应用程序的总分数与历史应用程序的排名数据之间的比较来在(D)处分配权重以及确定总分数。
此外,根据本公开内容的实施例,系统可操作以通过下述方式对(D)处和/或(H)处所分配的权重进行按比例缩放,该方式为给定应用程序的总分数,即分配给给定应用程序的特征的权重的总和小于或者等于预定的最大数。可选地,该预定的最大数为100。这里应当注意,预定的最大数不限于100,可以是除了100以外的任何数。然而,潜在有利的是以易于理解和解释的方式来定义该预定的最大数。可选地,该预定的最大数是用户定义的或者默认是系统定义的。
可选地,系统可操作以通过自动化方式对权重进行按比例缩放。权重的按比例缩放潜在地使得能够以分数易于理解、解释和比较的方式来确定各个应用程序的分数。
此外,根据本公开内容的实施例,系统可操作以给与至少一个测试应用程序相关联的至少一个开发者提供针对该至少一个测试应用程序的改进建议。稍后将结合图4A到图4C来提供这种改进建议的示例。
此外,根据本公开内容的实施例,系统可操作以周期性地执行(A)至(K)。这使得能够用多个历史应用程序的最新的特征数据以及可能地用新的历史应用程序的特征数据对一个或多个数据库进行更新。这还使得能够关于最新的特征数据来再次进行对至少一个测试应用程序的分析。
应当理解的是,由于制造应用程序的趋势随时间变化,因此可能先前具有低成功潜力的应用程序现在具有高成功潜力。因此,潜在有利的是对之前开发的应用程序进行重新分析,以便例如当应用程序中的至少一个应用程序的新的成功潜力高于应用程序中的该至少一个应用程序的先前的成功潜力时做出选择应用程序中的该至少一个应用程序来发布和营销的推荐。
可选地,在这点上,系统可操作以当至少一个测试应用程序的总分数大于或者等于预定阈值分数时,将该至少一个测试应用程序告知至少一个发布者。该预定阈值分数是用户定义的或者默认是系统定义的。
此外,如下文更详细地解释的那样,结合图2来说明根据本公开内容的实施例的示例系统。系统包括特征提取器、数据检索器、特征分类器以及权重分配器。可选地,系统还包括分数缩放器、报告编译器以及系统管理器。
可选地,特征提取器、数据检索器、特征分类器、权重分配器、分数缩放器、报告编译器以及系统管理器是彼此互相通信且操作独立的互相不同的软件模块。可选地,在不同的计算硬件(例如,不同的处理器)上执行这些不同的软件模块中的至少一些软件模块。
当被执行时,特征提取器、数据检索器、特征分类器、权重分配器、分数缩放器、报告编译器以及系统管理器共同形成所述系统的系统。
当被执行时,特征提取器可操作以收集与多个历史应用程序相关的特征数据,并且以从特征数据中提取多个历史应用程序的特征,如先前所描述的那样。然后,特征提取器可操作以将特征数据和/或所提取的特征存储在一个或多个数据库处。
当被执行时,数据检索器可操作以检索与多个历史应用程序相关的其他数据,如先前所描述的那样。然后,数据检索器可操作以将其他数据存储在一个或多个数据库处或者一个或多个其他数据库处。
可选地,对于给定应用程序,通过该给定应用程序的唯一标识(ID)将特征数据、所提取的特征以及其他数据链接在一起。可选地,基于下述至少之一将唯一ID分配给给定应用程序:给定应用程序的名称、给定应用程序的给定版本、给定版本的发布日期和/或给定应用程序的发布者。
应当理解的是,对于给定应用程序,可以有多个特征数据、所提取的特征以及其他数据的数据集。这些多个数据集通常由给定应用程序的不同版本中所提供的不同的特征组和/或由不同的时间点给定应用程序的变化的成功率所产生。因此,例如,特征提取器和数据检索器周期性地更新它们各自的数据库。
当被执行时,特征分类器可操作以将多个历史应用程序的特征分类成多个特征组,如先前所描述的那样。
当被执行时,权重分配器可操作以给多个历史应用程序的特征分配权重,从而生成参考数据,如先前所描述的那样。
此外,当被执行时,特征提取器可操作以收集与至少一个测试应用程序相关的特征数据,并且以从特征数据中提取该至少一个测试应用程序的特征,如先前所描述的那样。
当被执行时,特征分类器可操作以将该至少一个测试应用程序的特征分类成多个特征组,如先前所描述的那样。
当被执行时,权重分配器可操作以给该至少一个测试应用程序的特征分配权重,如先前所描述的那样。
当被执行时,分数缩放器可操作以根据分配给给定应用程序的特征的权重来确定给定应用程序的总分数,并且以对权重进行缩放,如先前所描述的那样。
当被执行时,报告编译器可操作以针对至少一个相关方编译报告。
可选地,报告是机器可读的形式,并且例如为了至少一个测试应用程序的自动且迭代的开发周期的目的而被自动发送给应用程序开发系统。
或者,可选地,报告是人可读的形式。作为示例,报告是对至少一个测试应用程序的改进建议的形式,并且被发送给与至少一个测试应用程序关联的至少一个开发者。作为另一示例,报告是警报的形式,该报告被发送给至少一个发布者以将至少一个测试应用程序的成功潜力告知该至少一个发布者。
当被执行时,系统管理器可操作以控制系统的各个模块中至少一些模块的功能,即,以控制特征提取器、数据检索器、特征分类器、权重分配器、分数缩放器以及报告编译器中至少一些模块的功能。可选地,关于这点,系统管理器可操作以执行下述至少之一:
(p)设置各种操作参数,例如:数据检索的频率、权重的按比例缩放期间要使用的预定最大数、确定给定应用程序的成功潜力时的预定阈值分数等;
(q)给人类操作员提供用户界面(UI),以对各个操作参数中的至少一个操作参数进行设置;
(r)给应用程序分配唯一ID;和/或
(s)移除数据库中重复的条目。
应当理解的是,每个前述模块在系统中都有它自己的角色,并且可适应于系统的性能要求。换句话说,每个模块中所采用的方法的选择是基于系统的总性能的。作为示例,特征分类器可以采用统计方法或者机器学习方法。如果用新方法替代当前方法改进了系统的性能,那么在特征分类器中采用新方法。
可选地,关于这点,基于下述各项中至少一项来测量系统的性能:
(x)系统的预测能力,即,系统对给定应用程序的成功潜力预测的如何,和/或
(xx)系统的计算速度,即,系统操作以及计算给定应用程序的总分数的速度如何。
此外,可选地,系统的操作是自动化的,因为不同模块中的每个模块都是以自动化方式来操作的。
仅为了说明目的,现在将考虑根据本公开内容的实施例的其中实施有上述系统的示例环境。如下文更详细解释的那样,结合图1来说明一个这种示例环境。
示例环境包括前述系统、与系统关联的一个或多个数据库、一个或多个外部信息源以及客户端系统。可选地,该一个或多个数据库中的至少之一被用来存储与多个历史应用程序有关的特征数据和其他数据。此外,可选地,该一个或多个数据库中的至少之一被用来存储由系统所进行的分析。
例如,系统经由通信网络或者经由直接连接可通信地耦接至一个或多个数据库。例如,系统还经由通信网络或者与该通信网络隔离的其他通信网络可通信地耦接至一个或多个外部的信息源和客户端系统。
通信网络可以是单独网络的聚集,这些单独网络互相互连并且用作单个大型网络。这种单独网络可以是有线的、无线的或者是有线和无线的组合。这种单独网络的示例包括但不限于:局域网(LAN)、广域网(WAN)、城域网(MAN)、无线局域网(WLAN)、无线广域网(WWAN)、无线城域网(WMAN)、互联网、第二代(2G)电信网络、第三代(3G)电信网络、第四代(4G)电信网络以及全球微波互联接入(WiMAX)网络。
根据本公开内容的实施例,客户端系统为应用程序开发系统,系统与该应用程序开发系统集成以便为了至少一个测试应用程序的自动化且迭代的开发周期的目的。可选地,关于这点,系统可操作以将分析结果直接通信给客户端系统。
在第三方面中,本公开内容的实施例提供一种计算机程序产品,该计算机程序产品包括其上存储有程序指令的非暂时性机器可读数据存储介质,当该程序指令被处理设备所访问时,使得处理设备:
(A)收集与一个或多个第一设备上运行的多个历史应用程序相关的特征数据;
(B)从(A)处所收集的特征数据中提取该多个历史应用程序的特征;
(C)将该多个历史应用程序的特征分类成多个特征组;
(D)给该多个历史应用程序的特征分配权重以生成参考数据;
(E)收集与一个或多个第二设备上运行的至少一个测试应用程序相关的特征数据;
(F)从(E)处所收集的特征数据中提取该至少一个测试应用程序的特征;
(G)将该至少一个测试应用程序的特征分类成多个特征组;
(H)基于(D)处所生成的参考数据来给该至少一个测试应用程序的特征分配权重;
(I)根据分配给给定应用程序的特征的权重来计算该给定应用程序的分数,其中,当给定应用程序是历史应用程序时,以迭代的方式来在步骤(D)处分配权重以及计算分数;
(J)基于历史应用程序的分数与历史应用程序的排名数据之间的比较来在(D)处分配权重以及计算分数;以及
(K)基于给定应用程序的分数来向至少一个开发者提供针对给定应用程序的改进建议。
附图的详细描述
现在具体地通过附图标记来参照附图,图1是根据本公开内容的实施例的其中实施有用于对至少一个测试应用程序进行分析的系统102的示例性网络环境100的示图。
网络环境100包括系统102、与系统102相关联的一个或多个数据库(在图1中被描绘为数据库104和数据库106)、一个或多个外部信息源(被描绘为外部信息源108和外部信息源110)以及客户端系统112。
图1仅是示例,不应视作对本发明权利要求保护范围的限制。应当理解的是,网络环境100的具体指定被提供作为示例,并且不应被解释为将网络环境100限制在数据库、外部信息源和客户端系统的具体数目、类型或布置。本领域技术人员将意识到本公开内容的实施例的许多变更、替选和修改。
图2是根据本公开内容的实施例的用于对至少一个测试应用程序进行分析的系统200的示意图。
系统200包括特征提取器202、数据检索器204、特征分类器206以及权重分配器208。可选地,系统200还包括分数缩放器210、报告编译器212以及系统管理器214。
当被执行时,特征提取器202、数据检索器204、特征分类器206、权重分配器208、分数缩放器210、报告编译器212以及系统管理器214共同形成所述系统200的数据处理装置。
图2仅是示例,不应视作对本发明权利要求保护范围的限制。应当理解的是,系统200的具体指定被提供作为示例,并且不应被解释为将系统200限制在系统200的模块和/或组件的具体数目、类型或布置。本领域技术人员将意识到本公开内容的实施例的许多变更、替选和修改。
图3是根据本公开内容的实施例的用于对至少一个测试应用程序进行分析的方法的步骤的示图。方法被描绘为逻辑流程图中步骤的集合,该图表示可以用硬件、软件或者硬件与软件的组合来实施的步骤的序列。
在步骤302处,收集与多个历史应用程序相关的特征数据。在步骤304处,从步骤302处所收集的特征数据中提取该多个历史应用程序的特征。接下来,在步骤306处,将该多个历史应用程序的特征分类成多个特征组。随后,在步骤308处,给多个历史应用程序的特征分配权重。在步骤310处,对于每个应用程序,根据分配给该应用程序的特征的权重来确定该应用程序的总分数。在步骤312处,确定给定应用程序的总分数是否与给定应用程序的排名数据相关。如果发现给定应用程序的总分数与给定应用程序的排名数据不相关,则重复步骤308。反之,如果发现给定应用程序的总分数与给定应用程序的排名数据相关,则执行步骤314。作为步骤302到步骤312的结果,生成了参考数据。接下来,在步骤314处,收集与至少一个测试应用程序相关的特征数据。在步骤316处,从步骤314处所收集的特征数据中提取该至少一个测试应用程序的特征。在步骤318处,将该至少一个测试应用程序的特征分类成多个特征组。在步骤320处,基于步骤302到步骤312处所生成的参考数据来给该至少一个测试应用程序的特征分配权重。在步骤322处,对于每个测试应用程序,根据分配给该测试应用程序的特征的权重来确定该测试应用程序的总分数。
步骤302至步骤322仅是说明性的,在不脱离本发明权利要求的范围的情况下也可以提供其他替选,在这些其他替选中一个或多个步骤被添加、一个或多个步骤被删除或者以不同的顺序来提供一个或多个步骤。
图4A、图4B和图4C是根据本公开内容的实施例的针对示例性测试应用程序所编译的示例性报告的示意图。参照图4A到图4C,示例性测试应用程序是移动游戏。
参照图4A,移动游戏的特征被分类成以下特征组:
(i)与游戏的视听资料和故事有关的元素,
(ii)与游戏机制和可玩性有关的元素,
(iii)与游戏的社会层面有关的元素,
(iv)与游戏的范围有关的元素,
(v)与游戏的进度有关的元素,
(vi)与再次参与有关的元素,
(vii)与应用程序内购买有关的元素,以及
(viii)与综效有关的元素。
应当理解的是,这些特征组是以它们易于被人理解和解释的方式来预先定义的。
在图4A中,示出了与前述特征组相关联的分数。可选地,根据给分类在每个特征组中的特征所分配的权重的和来确定这些分数。在图4B中,示出了移动游戏的总分数。该总分数计算为与前述特征组相关联的分数和分配给移动游戏的基值的和。在图4C中,示出了移动游戏的当前版本与改进版本之间的比较。例如,当运行迭代开发周期时,这种比较是潜在有利的。
图4A-图4C仅是示例,不应视作对本发明权利要求保护范围的限制。本领域技术人员将意识到本公开内容的实施例的许多变更、替选和修改。
本公开内容还适用于其他应用程序分类,例如商业应用程序、音乐应用程序、旅行应用程序以及通常出现在应用程序商店中的其他分类。此外,本公开内容适用于更广泛的消费者设备,例如游戏机。
在不脱离由所附权利要求所定义的本公开内容的范围的情况下,对前文中所描述的本公开内容的实施例的修改是可能的。用于描述和限定本公开内容的诸如“包括(including)”、“包含(comprising)”、“合并(incorporating)”、“包括(consisting of)”、“具有(have)”、“是(is)”之类的表达意图以非排他的方式来解释,即,允许还存在没有明确描述的项目、元件或部件。对单数的引用也被解释为涉及复数。
Claims (21)
1.一种用于对至少一个测试应用程序进行分析的方法,所述方法包括:
(a)在一个或多个第一用户设备上运行多个历史应用程序;
(b)收集与所述多个历史应用程序相关的特征数据;
(c)从步骤(b)处所收集的特征数据中提取所述多个历史应用程序的特征;
(d)将所述多个历史应用程序的特征分类成多个特征组;
(e)给所述多个历史应用程序的特征分配权重以生成参考数据;
(f)在一个或多个第二用户设备上运行所述至少一个测试应用程序;
(g)收集与所述至少一个测试应用程序相关的特征数据;
(h)从步骤(g)处所收集的特征数据中提取所述至少一个测试应用程序的特征;
(i)将所述至少一个测试应用程序的特征分类成所述多个特征组;
(j)基于步骤(e)处所生成的参考数据来给所述至少一个测试应用程序的特征分配权重;
(k)根据分配给给定应用程序的特征的权重来计算所述给定应用程序的分数,其中,当所述给定应用程序为历史应用程序时,以迭代的方式执行步骤(e)处权重的分配以及以迭代的方式执行分数的计算,并且其中,基于所述历史应用程序的分数与所述历史应用程序的排名数据之间的比较来执行步骤(e)处权重的分配的迭代,以及执行分数的计算的迭代;以及
(l)基于所述给定应用程序的分数来向至少一个开发者提供针对所述给定应用程序的改进建议。
2.根据权利要求1所述的方法,其中,以自动化方式来执行步骤(b)处和/或步骤(g)处的所述收集。
3.根据权利要求1所述的方法,其中,通过采用与所述给定应用程序链接的软件库来执行步骤ba)处和/或步骤(g)处的所述收集,其中,当所述给定应用程序的至少一个特征被调用时,所述给定应用程序对所述软件库进行函数调用。
4.根据前述权利要求中任一项所述的方法,其中,所述至少一个特征包括至少一个动态特征。
5.根据前述权利要求中任一项所述的方法,其中,通过利用至少一个感知单元来执行步骤(b)处和/或步骤(g)处的所述收集,该至少一个感知单元被包括在至少一个用户设备内或者被可通信地耦接至至少一个用户设备,以在所述给定应用程序在该至少一个用户设备上运行时监视现场用户反应。
6.根据前述权利要求中任一项所述的方法,其中,所述方法还包括以所述多个特征组可被人理解以及可被人解释的方式来预先定义所述多个特征组。
7.根据前述权利要求中任一项所述的方法,其中,基于所述多个历史应用程序和/或所述至少一个测试应用程序所属的相互不同的类型来进行步骤dc)处和/或步骤(i)处的所述分类。
8.根据前述权利要求中任一项所述的方法,其中,所述方法还包括以分配给给定应用程序的特征的权重的总和小于或者等于预定的最大数的方式对步骤(de处和/或步骤(j)处所分配的权重进行按比例缩放。
9.根据前述权利要求中任一项所述的方法,其中,周期性地执行步骤(a)至步骤(l)。
10.根据前述权利要求中任一项所述的方法,其中,所述方法还包括当所述至少一个测试应用程序的分数大于或者等于预定阈值分数时,将所述至少一个测试应用程序告知至少一个发布者。
11.一种用于对至少一个测试应用程序进行分析的系统,所述系统包括一个或多个处理器,所述系统包括在所述一个或多个处理器上执行的软件模块的数据处理装置,其中,所述系统可操作以:
(A)收集与一个或多个第一设备上运行的多个历史应用程序相关的特征数据;
(B)从(A)处所收集的特征数据中提取所述多个历史应用程序的特征;
(C)将所述多个历史应用程序的特征分类成多个特征组;
(D)给所述多个历史应用程序的特征分配权重以生成参考数据;
(E)收集与一个或多个第二设备上运行的所述至少一个测试应用程序相关的特征数据;
(F)从(E)处所收集的特征数据中提取所述至少一个测试应用程序的特征;
(G)将所述至少一个测试应用程序的特征分类成所述多个特征组;
(H)基于(D)处所生成的参考数据来给所述至少一个测试应用程序的特征分配权重;
(I)根据分配给给定应用程序的特征的权重来计算所述给定应用程序的分数,其中,当所述给定应用程序是历史应用程序时,以迭代的方式来在(D)处分配权重,以及以迭代的方式计算分数;
(J)基于所述历史应用程序的分数与所述历史应用程序的排名数据之间的比较来在(D)处分配权重,以及计算分数;以及
(K)基于所述给定应用程序的分数来向至少一个开发者提供针对所述给定应用程序的改进建议。
12.根据权利要求12所述的系统,其中,所述系统还可操作以通过自动化方式在(A)处和/或在(E)处收集所述特征数据。
13.根据权利要求12或13所述的系统,其中,当在(A)处和/或在(E)处收集所述特征数据时,所述系统还可操作以采用与所述给定应用程序链接的软件库,其中,当所述给定应用程序的至少一个特征被调用时,所述给定应用程序对所述软件库进行函数调用。
14.根据权利要求12至14中任一项所述的系统,其中,所述至少一个特征包括至少一个动态特征。
15.根据权利要求12至15中任一项所述的系统,其中,当在(A)处和/或在(E)处收集所述特征数据时,所述系统还可操作以采用至少一个感知单元,该至少一个感知单元被包括在至少一个用户设备内或者被可通信地耦接至至少一个用户设备,以在所述给定应用程序在该至少一个用户设备上运行时监视现场用户反应。
16.根据权利要求12至16中任一项所述的系统,其中,所述系统还可操作以通过所述多个特征组可被人理解以及可被人解释的方式来预先定义所述多个特征组。
17.根据权利要求12至27中任一项所述的系统,其中,所述系统还可操作以基于所述多个历史应用程序和/或所述至少一个测试应用程序所属的相互不同的类型来在(C)处和/或在(G)处对所述特征进行分类。
18.根据权利要求12至18中任一项所述的系统,其中,所述系统还可操作以通过分配给给定应用程序的特征的权重的总和小于或者等于预定的最大数的方式对(d)处和/或(h)处所分配的权重进行按比例缩放。
19.根据权利要求12至19中任一项所述的系统,其中,所述系统可操作以周期性地执行(a)至(k)。
20.根据权利要求12至20中任一项所述的系统,其中,所述系统可操作以当所述至少一个测试应用程序的分数大于或者等于预定阈值分数时,将所述至少一个测试应用程序告知至少一个发布者。
21.一种计算机程序产品,所述计算机程序产品包括其上存储有程序指令的非暂时性机器可读数据存储介质,当该程序指令被处理设备所访问时,使得所述处理设备:
(A)收集与一个或多个第一设备上运行的多个历史应用程序相关的特征数据;
(B)从(A)处所收集的特征数据中提取所述多个历史应用程序的特征;
(C)将所述多个历史应用程序的特征分类成多个特征组;
(D)给所述多个历史应用程序的特征分配权重以生成参考数据;
(E)收集与一个或多个第二设备上运行的至少一个测试应用程序相关的特征数据;
(F)从(E)处所收集的特征数据中提取所述至少一个测试应用程序的特征;
(G)将所述至少一个测试应用程序的特征分类成所述多个特征组;
(H)基于(D)处所生成的参考数据来给所述至少一个测试应用程序的特征分配权重;
(I)根据分配给给定应用程序的特征的权重来计算所述给定应用程序的分数,其中,当所述给定应用程序是历史应用程序时,以迭代的方式来在步骤(D)处分配权重以及计算分数;
(J)基于所述历史应用程序的分数与所述历史应用程序的排名数据之间的比较来在(D)处分配权重以及计算分数;以及
(K)基于所述给定应用程序的分数来向至少一个开发者提供针对所述给定应用程序的改进建议。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/797,706 US9323643B1 (en) | 2015-07-13 | 2015-07-13 | Method and system for analyzing mobile apps |
US14/797,706 | 2015-07-13 | ||
PCT/FI2016/050190 WO2017009523A1 (en) | 2015-07-13 | 2016-03-24 | A method and system for analyzing mobile apps |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106605219A true CN106605219A (zh) | 2017-04-26 |
CN106605219B CN106605219B (zh) | 2018-04-10 |
Family
ID=55754665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680000858.5A Active CN106605219B (zh) | 2015-07-13 | 2016-03-24 | 用于对移动应用程序进行分析的方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9323643B1 (zh) |
EP (1) | EP3323100A1 (zh) |
CN (1) | CN106605219B (zh) |
WO (1) | WO2017009523A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10387809B2 (en) * | 2015-07-29 | 2019-08-20 | Flexera Software Llc | Method and apparatus for extracting mobile application suitability features for a mobile business application |
US10860461B2 (en) * | 2017-01-24 | 2020-12-08 | Transform Sr Brands Llc | Performance utilities for mobile applications |
CN108255701B (zh) * | 2017-06-27 | 2022-07-22 | 平安普惠企业管理有限公司 | 场景测试方法及移动终端 |
CN107643976B (zh) * | 2017-10-13 | 2019-11-22 | 清华大学 | 一种基于Android的系统资源管理方法和装置 |
US11330039B2 (en) * | 2019-07-16 | 2022-05-10 | T-Mobile Usa, Inc. | Application classification |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003089084A1 (en) * | 2002-04-19 | 2003-10-30 | Walker Digital, Llc | Managing features on a gaming device |
US20070244742A1 (en) * | 2006-04-17 | 2007-10-18 | Electronic Entertainment Design And Research | Systems and Methods For Analyzing Electronically Embodied Games |
US20090037896A1 (en) * | 2007-08-02 | 2009-02-05 | Accenture Global Services Gmbh | Legacy application decommissioning framework |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6715130B1 (en) * | 1998-10-05 | 2004-03-30 | Lockheed Martin Corporation | Software requirements metrics and evaluation process |
US8499353B2 (en) * | 2007-02-16 | 2013-07-30 | Veracode, Inc. | Assessment and analysis of software security flaws |
US20090132275A1 (en) * | 2007-11-19 | 2009-05-21 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Determining a demographic characteristic of a user based on computational user-health testing |
US9020943B2 (en) * | 2009-01-07 | 2015-04-28 | Oracle International Corporation | Methods, systems, and computer program product for automatically categorizing defects |
US8356193B2 (en) * | 2009-05-19 | 2013-01-15 | International Business Machines Corporation | Scaling energy use in a virtualized environment |
CA2886182C (en) * | 2012-11-20 | 2018-01-16 | Ebay Inc. | Environment and methods for enabling electronic transactions |
US9424409B2 (en) * | 2013-01-10 | 2016-08-23 | Lookout, Inc. | Method and system for protecting privacy and enhancing security on an electronic device |
US9158663B2 (en) * | 2013-01-11 | 2015-10-13 | Tata Consultancy Services Limited | Evaluating performance maturity level of an application |
US8745617B1 (en) * | 2013-02-11 | 2014-06-03 | Google Inc. | Managing applications on a client device |
-
2015
- 2015-07-13 US US14/797,706 patent/US9323643B1/en active Active
-
2016
- 2016-03-24 EP EP16719435.6A patent/EP3323100A1/en not_active Ceased
- 2016-03-24 WO PCT/FI2016/050190 patent/WO2017009523A1/en active Application Filing
- 2016-03-24 CN CN201680000858.5A patent/CN106605219B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003089084A1 (en) * | 2002-04-19 | 2003-10-30 | Walker Digital, Llc | Managing features on a gaming device |
US20070244742A1 (en) * | 2006-04-17 | 2007-10-18 | Electronic Entertainment Design And Research | Systems and Methods For Analyzing Electronically Embodied Games |
US20090037896A1 (en) * | 2007-08-02 | 2009-02-05 | Accenture Global Services Gmbh | Legacy application decommissioning framework |
Also Published As
Publication number | Publication date |
---|---|
US9323643B1 (en) | 2016-04-26 |
WO2017009523A1 (en) | 2017-01-19 |
EP3323100A1 (en) | 2018-05-23 |
CN106605219B (zh) | 2018-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106605219B (zh) | 用于对移动应用程序进行分析的方法及系统 | |
CN109582875B (zh) | 一种在线医疗教育资源的个性化推荐方法及系统 | |
CN111522733B (zh) | 众包测试人员推荐与众包测试方法及电子装置 | |
Chen | The gamma CUSUM chart method for online customer churn prediction | |
US12067589B2 (en) | Utilizing machine learning models to recommend travel offer packages relating to a travel experience | |
CN108304853B (zh) | 游戏相关度的获取方法、装置、存储介质和电子装置 | |
CN108090570A (zh) | 用于选择机器学习样本的特征的方法及系统 | |
US12087425B2 (en) | Utilizing a machine learning model to identify unhealthy online user behavior and to cause healthy physical user behavior | |
CN108108438A (zh) | 行为数据的识别方法及装置 | |
US11200527B2 (en) | Platform for evaluating and recommending process automations | |
CN115345530A (zh) | 商场地址推荐方法、装置、设备及计算机可读存储介质 | |
AU2020257140A1 (en) | Detecting correlation among sets of time series data | |
CN107949858A (zh) | 信息管理装置及信息管理方法 | |
CN118022337A (zh) | 一种游戏组件推荐系统、方法、设备及可读存储介质 | |
AU2021204470A1 (en) | Benefit surrender prediction | |
EP3792851A1 (en) | Configuring enterprise resource planning software and generating a customized report about software configuration | |
US10235336B1 (en) | Prescriptive analytics platform and polarity analysis engine | |
CN107430590A (zh) | 数据比较 | |
JP2019040540A (ja) | 営業活動支援システム | |
CN106600432B (zh) | 基于社交属性行为数据的行为间影响力评估方法和装置 | |
CN110737749B (zh) | 创业计划评价方法、装置、计算机设备及存储介质 | |
Salunkhe | Improving employee retention by predicting employee attrition using machine learning techniques | |
US11132628B1 (en) | Analytical methods to provide high quality agent leads to general agents | |
CN118505066B (zh) | 基于预录制SaaS软件操作技能的技能测试方法及系统 | |
CN110931113A (zh) | 一种基于互联网云平台的医院管理运营系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1235492 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1235492 Country of ref document: HK |