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

文档序号:9422717阅读:来源:国知局
进程能够被标识和扰乱,而不影响用户设备上正在执行的其他 应用。例如,如果测试代码指定应用X要被扰乱,则进程匹配规则308可被用于确定(例如 标识)进程X1、X2、……、XN与应用X相关联。网络仿真器124可被用于为与关联于应用 X的进程相关联(如源自或去往)的通信仿真各种网络条件,而不影响其他应用。处理器 控制器130可被用于仿真用于执行与应用X相关联的进程的各种类型的处理器(如各种时 钟速度、各种数量的处理核、各种量的高速缓存存储器等)而不影响其他应用。功率使用模 块126可被用于针对与应用X相关联的进程仿真各种类型的功率使用(如低电池、另一应 用消耗的功率等)而不影响其他应用。图1的输入模拟器128可被用于模拟对与应用X相 关联的进程的各种类型的输入而不影响其他应用。
[0062] 图4例示出根据一些实现的用于网络仿真的示例架构400。架构400允许W每应 用为基础进行网络仿真(如网络扰乱)。
[0063] 诸如代表性的第N应用144 (其中N〉0)之类的应用可在用户空间402中执行。该 第N应用144可使用诸如传输控制协议(TCP)/网际协议(I巧之类的通信协议与内核空间 406中的协议驱动器404通信。在图3中,TCP^P被用作可被使用的通信协议的示例。当 然,取决于实现方式,除了或替代TCP/IP,可使用其他通信协议。协议驱动器406可与网络 仿真器驱动器136通信。例如,在某些实现中,网络仿真器驱动器136可W是用于Windows? 工具包的网络仿真器(NEWT)。网络仿真器驱动器136可与微端口驱动器408通信。
[0064] 从而,使用架构400,可扰乱(如仿真)不同类型的网络来测试用户设备上执行的 应用的工作情况。使用架构400,应用开发者可确定某一应用在通过不同类型的网络进行通 信时是否工作情况良好。
[0065] 此外,尽管图1-4阐述了用于应用扰乱和监视的合适架构的示例,但鉴于本文的 公开,多种其他可能的架构、框架、系统和环境对本领域技术人员而言将是显而易见的。此 夕F,尽管已在应用扰乱和监视的环境中描述了本文的示例,但其他实现可W针对其他类型 的应用测试。
[0066] 示例过括
[0067] 在图5、6和7的流程图中,每一个框表示可W用硬件、软件、或其组合实现的一个 或多个操作。在软件的上下文中,各个框表示当由一个或多个处理器执行时使处理器执行 既定操作的计算机可执行指令。一般而言,计算机可执行指令包括执行特定功能或实现特 定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述各个框的次序并不旨在 被解释为限制,并且任何数量的所述框可W按任何次序和/或并行地组合W实现该过程。 出于讨论目的,参考上述框架100、200、300和400来描述过程500、600和700,但其他模型、 框架、系统和环境也可W被用于实现运些过程。
[0068] 图5例示出根据一些实现的包括执行测试代码的示例过程500的流程图。过程 500可由框架100或200来执行。
[0069] 在502,可执行包括采用脚本语言的命令的测试代码。例如,在图2中,用户设备 102可执行包括命令204的测试代码122。
[0070] 在504,影响用户设备上执行的应用的环境的一个或多个扰乱可被执行,而不影响 用户设备上正在执行的其他应用。例如,在图2中,命令204可使用工具116来对至少一个 环境创建扰乱,而不影响N个环境214至216中的其他环境。
[007。 在506,在一个或多个扰乱正被执行时,可监视应用的性能。例如,在图2中,监视 工具212可监视与正被扰乱的环境(一个或多个)相关联的应用(一个或多个)的执行。 为了说明,如果测试代码122指定对与第N应用144相关联的第N环境216的扰乱,则监视 工具212可在第N环境216正被扰乱时监视第N应用144的执行。监视可包括跟踪第N应 用144的执行W及标识第N应用144的资源使用。
[0072] 在508,基于所述监视可创建收集的数据文件。收集的数据文件可包括标识在脚本 的执行期间应用所使用的用户设备的资源的信息。例如,在图2中,监视工具312可基于对 N个应用142至144中的一个或多个应用的监视来创建收集的数据120。收集的数据120可 包括与被监视的应用的资源使用相关联的信息,如哪些资源(如存储器、处理器、功率/能 量、网络带宽等)被使用、被使用的每个资源的最大量、被使用的每个资源的最小量等等。
[0073] 在510,可执行对收集的数据文件的分析。例如,在图1中,服务器104可使用分析 工具156来分析收集的数据120。
[0074] 在512,可基于该分析来确定使应用的性能劣化的条件。例如,分析工具156可标 识在测试代码122被执行时使N个应用142至144中的一个或多个应用的性能劣化的扰乱 所创建的条件。
[0075] 从而,应用开发者可指定要被测试的一个或多个应用W及在其中测试指定应用的 环境条件。服务器可创建一个或多个脚本并将它们发送到一个或多个用户设备供在用户设 备上执行。每个脚本可对与指定应用中的每一个应用相对应的环境执行扰乱,W及监视指 定应用的执行。监视期间收集的数据可被服务器分析来标识造成应用的性能劣化的条件。 基于该分析,应用开发者可通过重写软件指令中包括该应用的那些部分来修改应用,W及 重新测试经修改的应用来确定重写的应用的性能在相同条件下是否劣化。
[0076] 图6是根据一些实现的包括扰乱应用的示例过程600的流程图。过程600可由框 架100或200来执行。
[0077] 在602,可执行测试代码中的命令。例如,在图2中,测试代码122中的命令204可 由用户设备102执行。
[0078] 在604,基于脚本中的命令,应用的环境可被扰乱而不影响其他应用。例如,在图2 中,命令204可使用扰乱工具210来执行与要被测试的第N应用144相对应的第N环境216 的扰乱,而不影响其他应用。通过使用包捕捉工具138来标识与应用相关联的包并仅扰乱 所标识的包,应用可被扰乱而不影响其他应用。W此方式,与其他应用相关联的包可保持不 受扰乱的影响。类似地,与图3中所述的架构类似的系统可被用于监视与指定应用(或一 组应用)相关联的进程W及扰乱那些进程来模拟或仿真各种类型的网络条件(如使用网络 仿真器124)、各种类型的处理器(如使用处理器控制器130)、或各种类型的功率使用(如 使用功率使用模块126)、各种类型的输入(如使用输入模拟器128)等。当然,可使用本文 所述的技术和系统对指定应用仿真或模拟其他类型的设备特定或网络特定的条件,而不影 响其他应用。
[0079] 在606,在测试代码的执行期间,可监视应用对多个资源的消耗。例如,在图2中, 在测试代码122的执行期间,监视工具212可监视第N应用144消耗的资源,如(i)存储器 112的使用、(ii)处理器108的使用、(iii)网络接口 110的使用、(iv)功率/能量使用等。
[0080] 在608,可作出关于所述应用对所述多个资源中的至少一个资源的消耗是否超出 阔值的确定。例如,在图2中,服务器104可分析收集的数据120来确定第N应用144消耗 的资源中的至少一个是否超出阔值。
[0081] 在610,可确定致使所述至少一个资源的消耗超出所述阔值的一个或多个条件。例 如,在图1中,分析工具156可通过将测试代码122中的命令与收集的数据120相关来标识 致使对所述至少一个资源的消耗超出所述阔值的一个或多个条件。
[0082] 在612,可作出关于对应用的修改的确定W在所述一个或多个条件期间减少所述 应用对所述至少一个资源的消耗。例如,在图1中,分析工具156可标识对所述应用的修改 W减少所述一个或多个条件发生时对所述至少一个资源的消耗。分析工具156可基于所述 分析来生成报告,该报告推荐对所述应用的修改。
[0083] 从而,应用开发者可指定要被测试的一个或多个应用W及在其中测试所指定的应 用的环境条件。服务器可创建一个或多个脚本并将脚本发送到一个或多个用户设备供在 用户设备上执行。每个脚本可对与指定应用中的每一个应用相对应的环境执行扰乱,W及 监视指定应用的资源消耗。在监视期间收集的数据可被服务器分析来确定资源消耗是否超 出阔值。基于所述分析,服务器可生成报告,该报告推荐了对应用的修改W减少所述资源消 耗。应用开发者可基于所述推荐来修改所述应用W及重新测试所述应用来确定所述修改是 否解决了过度资源消耗(例如通过在特定条件发生时减少对所述资源的消耗)。
[0084] 图7是根据一些实现的包括跟踪应用的执行的示例过程700的流程图。过程700 可由框架100或200来执行。
[0085] 在702,影响用户设备上执行的应用的一个或多个扰乱可被执行,而不影响用户设 备上正在执行的其他应用。例如,在图2中,扰乱工具210可被用于扰乱与第一应用142相 关联的第一环境214。扰乱工具210可对第一环境214执行扰乱而不影响其他应用的其他 环境。
[0086] 在704,在扰乱正被执行的同时可跟踪应用的执行。例如,在图2中,监视工具212 可在扰乱工具210正在执行对第一环境214的扰乱的同时来监视第一应用142的执行。
[0087] 在706,可基于所述跟踪来确定所述应用消耗的用户设备的资源。例如,在图2中, 服务器104可分析收集的数据120来确定用户设备102的哪些资源被第一应用142消耗W 及每个资源被消耗多少。
[0088] 在708,可确定所述一个或多个扰乱中致使所述应用的性能劣化的至少一个扰乱。 例如,在图1中,分析工具156可确定测试代码122对第一环境214造成的扰乱中的任何扰 乱是否致使第一应用142的性能劣化。
[0089] 在710,可执行额外的扰乱来影响用户设备上执行的第二应用,而不影响用户设备 上正在执行的其他应用。例如,在图2中,扰乱工具210可扰乱第N环境216来影响第N应 用144,而不影响应用142至144中的其他应用。
[0090] 在712,在所述附加扰乱正被执行的同时跟踪所述第二应用的执行。例如,在图2 中,监视工具212可在扰乱工具210正在执行对第N环境216的扰乱的同时来监视第N应 用144的执行。
[0091] 在714,可确定所述第二应用正在消耗的用户设备的资源。例如,在图2中,监视工 具212可在扰乱工具210正在执行对第N环境216的扰乱的同时来确定第N应用144正在 消耗用户设备102的多少资源。
[0092] 在716,可作出第二应用的性能是否劣化的确定。例如,服务器104可被用于分析 收集的数据120来确定在扰乱工具210对第N环境216执行扰乱时第N应用144的性能是 否劣化。
[0093] 在某些实现中,影响应用的扰乱(如702)W及影响第二应用的附加
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1