移动应用测试系统的制作方法
【技术领域】
[0001] 本公开涉及移动应用测试技术领域,更具体而言,涉及一种移动应用测试系统和 方法。
【背景技术】
[0002] 随着移动互联网的飞速发展,人们开始使用移动设备进行工作和娱乐。制造商开 始生产各种不同类型的高性能智能移动设备,诸如美国苹果公司的iPhone系列移动电话、 iPad系列平板电脑,韩国三星公司的Galaxy系列移动电话和平板电脑,芬兰诺基亚公司的 Lumia系列移动电话等。这些移动设备使用不同的操作系统,例如美国苹果公司的iPhone 系列移动电话和iPad系列平板电脑使用iOS操作系统,韩国三星公司的Galaxy系列移 动电话和平板电脑使用Android操作系统,芬兰诺基亚公司的Lumia系列移动电话使用 Windows Phone操作系统。同时,企业和个人应用开发者每天开发出成千上万的针对各种操 作系统的移动应用。
[0003] 传统的移动应用测试方法通常采用如下方式,由开发者在计算机上单独地搭建一 个模拟器或者使用真实移动设备连接到计算机上,并且在开发过程中对移动应用进行调试 和测试。但是这种传统测试方法的测试效率较低,并且测试成本较高。例如,如果需要在具 有不同操作系统的不同移动设备上测试同一款移动应用,则需要准备相应的真实移动设备 或模拟器,导致测试成本增加。此外,传统测试方法也无法针对移动应用进行关于上下文参 数(context parameters)的多样性的测试。
[0004] 可见,目前移动应用的测试技术还不够成熟。例如,美国谷歌公司的Android应 用商店Google Play Store和美国苹果公司的iOS应用商店AppStore中的大部分移动应 用缺乏充分的测试,因此移动应用的质量和用户体验并不是非常好。原因主要在于移动应 用的测试与传统的软件测试有很大不同。例如,在进行移动应用的测试时,需要考虑移动应 用的上下文参数的动态改变。例如,当用户移动时,用户携带的移动设备的地理位置发生改 变,移动设备的网络连接方式有可能从3G切换到WiFi,从而导致无线网络连接速度改变, 同时。在测试过程中,很难针对这些情况在单个模拟器或真实移动设备上进行测试。另一 方面,移动应用在异常环境中的运行情况也难以测试,例如,网络突然中断。因此,移动应用 的测试问题是移动互联网的发展中面对的一个重要问题。
【发明内容】
[0005] 在下文中将给出关于本公开的简要概述,以便提供关于本公开的某些方面的基本 理解。应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图确定本公开的 关键或重要部分,也不是意图限定本公开的范围。其目的仅仅是以简化的形式给出某些概 念,以此作为稍后论述的更详细描述的前序。
[0006] 鉴于现有技术的上述现况,本公开的目的在于提供一种基于上下文感知的移动设 备云测试系统和方法。测试者可以上传移动应用文件和测试脚本文件,根据所需的移动设 备的运行环境来选择模拟器,并且选择相应的上下文参数来配置模拟器,然后通过所选择 的模拟器对移动应用进行自动化测试。在移动应用测试结束后,生成测试结果并且发送给 测试者。
[0007] 根据本公开的一个方面,提供了一种移动应用测试系统,包括:多个模拟器,被配 置成模拟运行移动应用的多种运行环境;输入单元,被配置成输入移动应用的执行文件和 测试脚本;上下文简档数据库,被配置成存储用于配置模拟器的多个上下文简档;测试控 制器,被配置成根据移动应用的执行文件从多个模拟器中选择相应的模拟器,从上下文简 档数据库中选择相应的上下文简档,使用所选择的上下文简档配置所选择的模拟器,并且 使用执行文件和测试脚本在所选择的模拟器上运行移动应用并且生成移动应用的测试结 果;以及输出单元,被配置成输出移动应用的测试结果。
[0008] 根据本公开的另一方面,提供了一种移动应用测试方法,包括:输入移动应用的执 行文件和测试脚本;根据移动应用的执行文件,从模拟运行移动应用的多种运行环境的多 个模拟器中选择相应的模拟器,从存储用于配置模拟器的多个上下文简档的上下文简档数 据库中选择相应的上下文简档;使用所选择的上下文简档配置所选择的模拟器;使用执行 文件和测试脚本在所选择的模拟器上运行移动应用并且生成移动应用的测试结果;以及输 出移动应用的测试结果。
[0009] 另外,本公开的实施例还提供了用于实现上述移动应用测试方法的计算机程序。
[0010] 此外,本公开的实施例还提供了至少计算机可读介质形式的计算机程序产品,其 上记录有用于实现上述移动应用测试方法的计算机程序代码。
[0011] 本公开提出的方法使得移动应用测试者可以配置用于模拟不同的移动设备的模 拟器,将移动应用同时部署在多台模拟器中进行测试,解决了关于移动设备的多样性的测 试问题,而且可以使用存储在上下文简档数据库中的上下文简档对模拟器的上下文参数进 行配置,从而解决了关于上下文参数的多样性的测试问题。因此,较之传统的移动应用测试 方法,本公开的移动应用测试方法的测试效率更高且测试成本更低。
【附图说明】
[0012] 参照下面结合附图对本公开实施例的说明,会更加容易地理解本公开的以上和其 它目的、特点和优点。附图中的部件不是成比例绘制的,而只是为了示出本公开的原理。在 附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。
[0013] 图1是图示根据本公开的第一实施例的移动应用测试系统的框图;
[0014] 图2是图示根据测试位置配置模拟器的一个示例的示意图;
[0015] 图3是图示具有特定场景的随时间变化的上下文参数的一个示例的示意图;
[0016] 图4是图示根据本公开的第一实施例的移动应用测试方法的处理流程的流程图; [0017]图5是图示根据本公开的第二实施例的移动应用测试系统的框图;
[0018] 图6是图示模糊化单元对上下文参数进行模糊化处理的一个示例的示意图; [0019] 图7是图示对服务器返回的响应数据进行模糊化处理的一个示例的示意图;
[0020] 图8是图示生成错误输入数据集合的一个示例的示意图;
[0021] 图9是图示基于协同过滤算法生成经模糊化处理的输入数据的一个示例的示意 图;
[0022] 图10是图示根据本公开的第二实施例的移动应用测试方法的处理流程的流程 图;以及
[0023] 图11是图示可用来实现根据本公开的实施例的系统和方法的通用计算机系统的 结构简图。
【具体实施方式】
[0024] 在下文中将结合附图对本公开的示例性实施例进行描述。为了清楚和简明起见, 在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施 方式的过程中可以做出很多特定于实施方式的决定,以便实现开发人员的具体目标,并且 这些决定可能会随着实施方式的不同而有所改变。
[0025] 在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中 仅仅示出了与根据本公开的方案密切相关的部件,而省略了与本公开关系不大的其他细 节。
[0026][第一实施例]
[0027] 图1是图不了根据本公开的第一实施例的移动应用测试系统100的框图。系统 100包括多个模拟器110a、110b和110c,输入单元120,上下文简档数据库130,测试控制器 140以及输出单元150。
[0028] 模拟器110a、110b和110c可以被配置成模拟运行移动应用的多种运行环境。移 动应用的运行环境可以包括运行所述移动应用的操作系统和移动设备。运行移动应用的操 作系统可以包括基于Linux系统的Android操作系统、基于Windows系统的Windows Phone 操作系统、基于Mac系统的iOS操作系统等。例如,模拟器110a可以模拟运行Android操 作系统的移动设备,模拟器ll〇b可以模拟运行Windows Phone操作系统的移动设备,并且 模拟器ll〇c可以模拟运行iOS操作系统的移动设备。模拟器110a、110b和110c的其他配 置参数可以获取自下文描述的上下文简档数据库130中存储的上下文简档。
[0029] 此外,模拟器110a、110b和110c可以由通用计算机构成,也可以由针对测试目的 而专门设计的诸如专用集成电路(ASIC)的专用硬件构成。本领域技术人员应认识到,尽管 这里仅示出了三个模拟器,但是可以设置更多或更少的模拟器以模拟具有不同的操作系统 的不同的移动设备。这些模拟器一起构成了用于测试移动应用的云测试平台。
[0030] 输入单元120可以被配置成由测试者输入移动应用的执行文件和测试脚本。
[0031] 除移动应用的源代码之外,执行文件还可以包括运行移动应用的运行环境的上下 文参数。该上下文参数可以包括与运行移动应用的操作系统和移动设备相关的各种参数。 例如,上下文参数可以包括操作系统的版本和移动设备的硬件配置。移动设备的硬件配置 可以包括移动设备的制式、处理器速度、存储器容量等。此外,上下文参数还可以包括运行 移动应用的移动设备的网络接入方式(例如,3G、Edge、WiFi等)、网络接入速度、移动设备的 语言(例如,简体中文、日文)、移动设备所在的时区等。
[0032] 此外,当移动应用是需要访问网络上的服务器的移动应用时,该执行文件可以进 一步包括移动应用访问的服务器的网络地址,其中通过该网络地址获取来自服务