模拟多个android设备

模拟多个android设备,android,simulation,Android,Simulation,我正在创建一个Android应用程序,它允许主机设备承担收集、共享或处理信息的众多角色之一。鉴于应用程序的性质,不仅需要独立测试角色,还需要模拟组件之间的交互。是否存在允许在网络中模拟多个android设备的平台 我很难找到有意义的搜索结果,因为大多数搜索结果似乎都是为了测试多种类型的设备,而不是同时模拟多种通信设备 正如所建议的,可以运行多个通过套接字通信的Android Studio emulator实例,但这似乎不是模拟大量设备的合适策略 我的顾问要求我找到一个可以模拟数千台设备的平台,但

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

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

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

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

如果你有几万美元的预算,那就买一堆安卓设备并将它们联网

如果你有几千美元的预算,买一堆电脑,在每台电脑上运行几个模拟器

如果你有相当多的系统管理和Android开发经验,你可以考虑租一船AmazonEC2实例,也许每个实例都有一个无头Android模拟器。这限制了前期费用,但对管理来说并非微不足道


最好的解决方案,IMHO,是暂时忽略Android。对代码进行抽象,以使“它收集、共享或处理信息的许多角色”用普通Java(或普通C/C++,如果您使用的是普通C/C++)实现。然后你就可以在普通的PC硬件上测试这些代码,而不是被安卓硬件或模拟器以及它们的固有功能所束缚。为成百上千的交互“设备”创建测试用例将很困难,但结果应该能够在一台PC上运行,尽管可能是一台结实的PC。然后,对使用此代码的Android应用程序执行小规模交互测试。即使这似乎也超出了单个学生项目的范围,但它比我上面概述的备选方案更接近。

请量化“大量设备”。无论你做什么测试,如果它有多台设备,并且通过网络进行端到端测试,那么测试将是不可靠的。@commonware我的顾问要求我找到一个平台,允许模拟数千台设备,但我很乐意找到适合数百台设备的平台。对于一个不太好的顾问,如果我诚实的话,建议。。祝你好运,花时间追踪假阴性测试。@Gabeschen是的,我知道,但这是在服务器上测试负载(取决于你的扩展策略,向外或向上)-这与单个设备的端到端测试有关。。根据我的经验,这会产生假阴性,并且不能作为应用程序测试的可靠手段。。