对 Geolocation iOS 应用程序进行负载测试的方法

Approach to load testing a Geolocation iOS app

我在 Swift 中创建了一个 iOS 应用程序,并在后端使用了 Firebase Auth 和 DB。我无法详细了解具体细节,但它涉及地理定位服务,并且与 Uber/Lyft 类似(尽管更简单)。两个 drivers/riders 共享同一个应用程序。您必须单击另一个按钮才能进入驱动程序界面。

我需要创建一个模拟,其中多个虚拟用户(都是 drivers/riders)同时使用该应用程序(我想测量每个操作的 success/failure,以及响应时间)。我不需要随机化模拟,但我必须考虑到两个用户之间存在交互这一事实。换句话说,这不是通常的性能测试,您需要登录、查看配置文件、更新配置文件、注销等。测试的一部分必须先完成才能开始另一部分。

我想看看是否可以就处理此问题的最佳方法提出任何想法。如果需要,我可以提供更多 details/context。

有一个叫做bluepill的东西https://github.com/linkedin/bluepill,但是它只是用来同时启动XCTest cases和Simulators,它不保证测试的顺序,所以它对你不起作用

您可以在两台不同的 Mac 上创建 UI 测试和 运行 它们,但是您需要弄清楚测试将如何交互,这似乎很困难。

我建议使用 xcodebuild

-only-testing 功能

您可以为 Rider 创建一个 UI 测试目标,为 Driver 创建另一个测试目标,然后使用 -only-testing 标志进行 xcode 测试。

如果测试相互依赖,你可以做

-only-testing:RiderUITests/Test1
-only-testing:DriverUITests/Test1

-only-testing:RiderUITests/Test2
-only-testing:DriverUITests/Test2

你懂的。

基本上可以写个脚本或者用fastlanehttps://github.com/fastlane/fastlane和运行一次只测试一个,一个一个测试。