4

我最近一直在努力完善我在应用程序生命周期的各个阶段管理 Android 应用程序状态的知识和技能。具体来说,我一直在测试在活动之间维护和共享全局数据的各种方法。在我的测试应用程序中,为了测试全局应用程序数据和/或单例数据的重建,我需要等待几个小时或更长时间才能让我的手机确定其他进程更重要并放置我的测试应用程序处于流程生命周期文档中定义的空流程状态. 此时,应用程序的数据被释放,一旦应用程序再次被带到前台,就需要重新创建。如果操作不正确,重新初始化应用程序的最后一个已知状态可能会由于各种原因导致强制关闭。

所以,我的问题是,除了等待这种情况有机地发生之外,是否有一种真实的方式来测试这种情况。例如,一个 QA 用例会是什么样子,它会测试应用程序进入后台一段(非常)长的时间,然后在应用程序达到空进程状态后再次被带到前台?

4

1 回答 1

3

我对此进行了一些试验和错误,并提出了一个很好的解决方案:

最终,这归结为每个 Activity 能够独立恢复其状态。这也适用于应用程序。“空进程”状态是操作系统在应用程序被认为不再重要后将其放入的最终状态。

以下是我测试我的应用程序的空进程场景的工作:

  1. 打开您的应用程序到相关页面。
  2. 按下手机上的“主页”按钮。
  3. 打开不少于 3 个具有长滚动列表视图的高资源使用应用程序(我使用 Facebook、Youtube 和 Google Play 商店)。
  4. 在每个应用程序中,向下滚动列表视图以使用系统资源。
  5. 完成所有 3 个应用程序后,重新打开您的应用程序。

对每个活动和片段运行上述测试不仅可以测试活动和/或片段的完整再现,还可以测试整个应用程序。

这有点像 PITA,但它是有效的。

于 2013-11-21T21:52:46.653 回答