应用测试和分析的制作方法

文档序号:9422717阅读:243来源:国知局
应用测试和分析的制作方法
【专利说明】应用测试和分析
[誦]宜量
[0002] 测试应用W提供跨移动平台的兼容性(如硬件配置)可能对应用开发者提出挑 战。例如,移动平台可能在多种类型的设备上可用,其中每种类型的设备具有不同量的资 源,诸如存储器、处理能力、电池电源/电能等等。此外,设备可能能够使用各种各样的网 络协议进行通信,包括较老的协议(如2G和2. 5G)W及较新的协议(如3G协议、4G协议、 Wi-Fi等)。从而,为了确保应用跨多个设备W及多种网络协议的兼容性,应用开发者可跨 不同类型的网络使用多个设备来测试应用。然而,由于要测试应用所跨越的设备和网络类 型的数量,运一测试过程可能是长且乏味的。
[0003] SM
[0004] 提供本概述W便W简化形式介绍将在W下详细描述中进一步描述的一些概念。本 概述并不旨在标识出所要求保护的主题的关键特征或必要特征;也不旨在用于确定或限制 所要求保护的主题的范围。
[0005] -般来说,本申请设及应用的测试和/或分析。某些实现提供了执行扰乱来影响 用户设备上执行的某一应用的环境,而不影响用户设备上执行的其他应用的技术和安排。 可在执行扰乱的同时监视应用的执行W收集数据。所收集的数据可被分析来确定扰乱是否 造成了过度的资源消耗和/或性能劣化。
[0006] 附图简沐
[0007] 参考附图阐述详细描述。在附图中,附图标记最左边的数字标识该附图标记首次 出现的附图。在不同附图中使用同一附图标记指示相似或相同的项或特征。
[000引图1例示出根据一些实现的用于应用测试和分析的示例框架。
[0009] 图2例示出根据一些实现的包括扰乱工具和监视工具的示例框架。
[0010] 图3例示出根据一些实现的用于扰乱和监视的示例架构。
[0011] 图4例示出根据一些实现的用于网络仿真的示例架构。
[0012] 图5例示出根据一些实现的包括执行测试代码的示例过程的流程图。
[0013] 图6是根据一些实现的包括扰乱应用的示例过程的流程图。
[0014] 图7是根据一些实现的包括跟踪应用的执行的示例过程的流程图。
[0015] 图8是根据某些实现的示例计算设备和环境的框图。
[001引详细描沐
[0017] 毎麻用扰乱
[0018] 本文所述的技术一般设及执行扰乱W影响用户设备(如移动电话或平板计算设 备)上执行的一个或多个应用的工具,W及监视和分析对应用的扰乱的影响的工具。用户 设备可W是实际物理设备、虚拟机仿真、或两者的组合。术语扰乱指的是在用户设备上仿真 或模拟应用可能遇到的不同类型的条件,诸如举例而言有限资源(如存储器、处理能力、电 池电源/电能等)、与较老的移动平台的后向兼容性、与较老的网络和/或较老的网络协议 的后向兼容性、其他应用引起的副作用、板载传感器所提供的非预期传感器输入、其他类型 的环境或网络条件、或它们的任何组合。例如,扰乱可使得应用开发者能够在单个用户设备 上测试应用,同时仿真不同类型的用户设备、不同类型的网络、不同类型的网络条件、不同 类型的用户输入、不同类型的传感器输入、和/或其他类型的环境或网络条件。此外,所述 工具可允许W每应用为基础来进行扰乱,使得某一应用的环境可被扰乱而不影响用户设备 上正在执行的其他应用。每应用扰乱可使得应用开发者能够在测试设施中、在实时使用情 形中(如正在W正常方式使用他们的用户设备来拨打电话、发送消息、浏览因特网等的用 户)或两者的组合中来测试应用。在一个示例中,应用开发者可使用来自脚本语言的命令 来创建测试代码,测试代码在用户设备上执行时对用户设备上执行的应用造成扰乱。
[0019] 移动计算平台家族可包括跨多代产品和/或多个价位的各种产品(如电话、7英 寸平板、10英寸平板、14英寸膝上型计算机等)。例如,移动计算平台家族可包括具有W 2. 5GHz的时钟速度执行的单核处理器W及能够访问4GB存储器的第一型号,直到具有W 3. 5GHz的时钟速度执行的四核处理器W及能够访问32GB存储器的第二型号。此外,家族中 的各种设备的网络接入能力也可能在设备之间不同。例如,第一型号可能能够进行增强数 据率全球移动系统(GSM)演进技术巧DGE)网络接入,而第二型号可能能够进行邸GE和长 期演进化TE)网络接入。至少某些型号可能能够在数字服务不可用的区域进行模拟漫游。 本文所述的工具可使得应用开发者在一种类型(如型号)的用户设备上执行某一应用,同 时使用所述工具模拟该应用可如何在具有不同能力(如不同存储器量、不同处理器速度、 不同处理器核数量等)的其他类型的用户设备上执行。
[0020] 所述工具可使得应用开发者能够通过使得用户设备的调制解调器仿真不同类型 的网络(如邸GE、LTE等)来测试用户设备在与不同类型的网络(如使用不同类型的协议 的网络)通信时应用如何执行。所述工具可使得应用开发者能够测试应用在不同类型的网 络条件下如何执行,运些不同类型的网络条件诸如减少的接收带宽、减少的发送带宽、丢失 的数据(如包)、另一类型的网络条件、或它们的任何组合。
[0021] 所述工具可使得应用开发者能够测试应用消耗多少能量(如电池电源)来使得应 用开发者能够降低应用的能耗。所述工具可使得应用开发者能够测试在从用户(如通过触 摸屏、小键盘、话筒、轨迹球等)、从传感器(如GI^单元、加速度计(一个或多个)、相机(一 个或多个)、诸如WiFi、蓝牙、近场通信等之类的通信连接)或从两者接收到输入时应用如 何执行。
[0022] 所述工具可使得应用开发者能够扰乱一个或多个指定应用而不影响用户设备上 正在执行的其他应用。例如,与用户设备上执行的其他应用相比,正被扰乱的应用可能经受 不同的操作环境,如不同的处理器时钟速度、不同的存储器量、不同的网络条件(如更慢的 发送和/或接收带宽)、不同类型的传感器和/或用户输入、或它们的任何组合。例如,具有 4GHz时钟速度和32GB存储器的用户设备可执行多个应用。应用开发者可使用所述工具来 执行扰乱一个或多个指定应用的测试代码,W模拟具有2GHz时钟速度、8GB存储器W及慢 速网络接入(如GPRS而不是邸GE或LT巧的用户设备。从而,指定应用可在模拟的(如被 扰乱的)环境中操作,而用户设备上正在执行的其他应用使用未被扰乱的环境(如4GHz时 钟速度、32GB存储器、LTE等)来操作。
[0023]随着移动电话获得了越来越多的板载传感器,详细说明传感器输入可能是好的想 法。当前我们能够扰乱的示例传感器是GPS,其中我们将假的GI^坐标馈入正被测试的应 用。
[0024] 除了扰乱用户设备上正在执行的一个或多个指定应用的工具之外,所述工具可包 括在扰乱正被执行时跟踪指定应用(一个或多个)的执行的监视工具。例如,监视工具可 跟踪应用大量产生的进程的执行,监视每个进程消耗的各种资源(如能量/功率、处理器周 期、存储器、带宽等)的量,监视指定应用(一个或多个)的其他方面,或它们的任何组合。 在监视其环境正被扰乱的一组指定应用的同时,监视工具可收集与所监视的应用(一个或 多个)相关联的数据。所收集的数据可被用于分析扰乱发生时指定应用的性能。
[0025] 此外,所述工具可使得应用开发者能够将扰乱与所收集的数据相关来确定哪些扰 乱使得所述应用W特定方式工作(如性能劣化、对一个或多个资源的过度消耗)。例如,相 关工具可将扰乱与所监视的数据相关(例如使用时间戳或其他信息)来确定减少可用存储 器的量可使得应用消耗额外功率,某些网络条件可使得应用的性能劣化,某一处理器速度 可使得存储器使用增加等。
[0026] 在某些实现中,所述工具中的某些(如相关工具)可在服务器上执行。例如,应用 开发者可指定测试应用的条件W及将所述条件和所述应用提供给服务器。服务器可创建一 个或多个脚本W及标识适用于执行脚本的用户设备。服务器可将测试代码发送给每个用户 设备(如用户设备可W是实际物理设备或虚拟机仿真)。测试代码可对一组指定应用造成 扰乱并调用监视工具来监视指定应用(一个或多个)。在测试代码完成了执行之后,监视工 具收集的统计和其他数据可被自动上传到服务器来进行分析(如使用相关工具)。服务器 可基于该分析来创建报告,该报告标识使得应用W非期望的方式工作(如性能劣化或过度 资源消耗)的条件。基于该分析,应用开发者可重写应用的某些部分来解决非期望的工作 情况。应用开发者可将重写的应用加载到用户设备中并重运行测试代码来确定非期望的工 作情况是否不再发生。
[0027] 从而,一种框架可允许应用开发者指定要测试一个或多个应用的条件。所述框架 可创建测试代码来扰乱一个或多个指定应用而不影响用户设备上正在执行的其他应用。测 试代码可调用监视工具来监视和跟踪指定应用的执行。相关工具可将所监视的数据与测试 代码相关来标识哪些扰乱造成问题(如过度资源消耗、崩溃等)来使得应用开发者能够重 写应用来解决(如纠正)运些问题。
[0028] 该框架从而可使得应用开发者能够使用单个设备来扰乱某一应用的环境W模拟 或仿真具有不同资源量、不同类型的网络、不同类型的网络条件、不同类型的用户输入和/ 或传感器输入、其他类型的网络和环境条件、或它们的任何组合的不同类型的设备。该框架 可减少测试应用的时间量,因为单个设备上执行的测试代码可被用来模拟或仿真大量不同 类型的设备、不同类型的网络和网络条件、W及不同类型的环境(如资源可用性)条件。减 少的测试时间可使得应用能被更快地向市场发布。该框架还可减少为了测试而保持的不同 类型的设备和网络的数量,从而降低测试成本。
[0029] 本文所述的系统和技术包括(1)控制、似等待时间W及(3)效率。在控制方面, 该框架控制从移动设备生成什么数据来允许对软件开发者请求的任何情形的分析。相反, 在常规的数据驱动的解决方案中,由于软件开发者受限于正好被采集的任何数据,因此精 确分析是不可能的。在等待时间方面,在常规系统中,执行数据驱动的移动软件测试/剖析 (profiling)所需的时间长度可能受到采集数据所需的时间的支配。相反,本文所述的框架 规定采集什么数据、在什么操作条件下采集数据、W及何时采集数据。因此,与常规测试相 比,该框架可允许更快速的分析。在效率方面,数据采集自然总是带来成本。例如,移动设 备上执行的移动应用可在采集性能统计数据时造成损失。常规系统对所采集的数据缺乏控 制可能导致采集冗余数据。相反,本文所述的框架基于分析所需的输入来指导数据采集,从 而降低冗余并导致移动设备更低的损失。
[0030] 从而,该框架提供了一种用于软件测试和剖析(profiling)工具的闭环,其中分 析驱动了采集什么数据、如何采集数据、W及何时采集数据。该框架允许扰乱,其中设备性 能可被故意降级W在应用经受特定环境条件或设备条件时允许采集应用工作情况度量。此 夕F,该框架使用一种数据采集办法,
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1