【问题标题】:Simulating multiple android devices模拟多个安卓设备
【发布时间】:2017-09-13 20:40:27
【问题描述】:

我正在创建一个 Android 应用程序,该应用程序允许主机设备承担它收集、共享或处理信息的众多角色之一。鉴于应用程序的性质,不仅需要独立测试角色,还需要模拟组件之间的交互。是否存在允许在网络中模拟多个安卓设备的平台?

我很难找到有意义的搜索结果,因为大多数结果似乎是针对测试多种类型设备,而不是同时模拟多个通信设备。

正如here 建议的那样,可以运行多个通过套接字进行通信的 Android Studio 模拟器实例,但这似乎不是模拟大量设备的合适策略。

【问题讨论】:

  • 请量化“大量设备”。
  • 无论你做什么测试,如果它有多个设备并通过网络进行端到端测试,那么测试将会很不稳定..
  • @CommonsWare 我的顾问要求我找到一个可以模拟数千台设备的平台,但我很乐意找到适合数百台设备的平台。
  • 对于一个不是很好的顾问,如果我说实话,建议......祝你好运,花时间追踪假阴性测试......
  • @GabeSechan 是的,我愿意,但那是服务器上的测试负载(取决于您的扩展策略,向外或向上) - 这与单个设备的端到端测试有关。我的经验会产生误报,不能作为应用测试的可靠手段。testing.googleblog.com/2017/04/…

标签: android simulation


【解决方案1】:

我的顾问要求我找到一个可以模拟数千台设备的平台,但我很乐意找到适合数百台设备的平台

如果你有几万美元的预算,买一堆 Android 设备并联网。

如果您有数千美元的预算,请购买一堆计算机并在每台计算机上运行一些模拟器。

如果您在系统管理和 Android 开发方面拥有相当丰富的经验,您可以考虑租用大量 Amazon EC2 实例,也许每个都配备一个无头 Android 模拟器。这限制了前期费用,但管理起来并不容易。

恕我直言,最好的解决方案是暂时忽略 Android。抽象您的代码,以便“它收集、共享或处理信息的许多角色”在纯 Java(或纯 C/C++,如果您正在使用的话)中实现。然后,您可以在常规 PC 硬件上测试该代码,而不必拘泥于 Android 硬件或模拟器及其内在特性。为成百上千的交互“设备”创建测试用例将很困难,但结果应该能够在单台 PC 上运行,尽管可能是一台强大的 PC。然后,对使用此代码的 Android 应用程序执行小规模交互测试。即使这似乎也可能超出了单个学生项目的范围,但它比我上面概述的替代方案更接近。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-01
    • 2017-01-19
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多