2017-09-13 121 views
1

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

我很难找到有意义的搜索结果,因为大部分结果似乎都是针对设备测试多个类型类型,但没有太多模拟多个同时通信的设备。

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

+0

请量化“大量的设备”。 – CommonsWare

+2

无论你做什么测试,如果它的多个设备,并通过网络端到端测试,测试将是片状。 –

+0

@CommonsWare我的顾问要求我找到一个平台,允许模拟成千上万的设备,但我会很高兴找到适合数百人的东西。 –

回答

1

我的导师已经要求我找到了一个平台,允许对数千台设备的仿真,但我会很高兴找到合适的数百

东西,如果你有几十预算数千美元,购买一堆Android设备并将其联网。

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

如果您在系统管理和Android开发方面拥有相当丰富的经验,那么您可以考虑租用一堆Amazon EC2实例,或许只需一个无头Android模拟器即可。这限制了前期费用,但不会轻易管理。

恕我直言,最好的解决方案是暂时忽略Android。抽象你的代码,使得“在其中收集,共享或处理信息的许多角色”是用普通的Java(或简单的C/C++,如果这就是你的工作内容)实现的。然后,您可以在普通的PC硬件上测试该代码,而不是陷入Android硬件或仿真器及其内在。为成百上千的互动“设备”创建测试用例将很困难,但结果应该能够在单台PC上运行,尽管可能是一个强大的测试用例。然后,对使用此代码的Android应用进行较小规模的交互测试。即使这似乎可能超出单个学生项目的范围,但它比我上面概述的替代方案更接近。