1

我为 Android 编写了一个实时应用程序,它每秒接收数百个输入事件并每秒吐出几个输出事件。输入事件驱动状态机产生输出事件。每次运行时,我都会将输入和输出事件写入一个文件。我想使用我认为对回归测试有效的运行文件。我会将记录的输入事件提供给系统并寻找预期的输出事件。

我的系统通过循环器/处理程序接收事件并使用计时器,但它不依赖于 Android API,除了android.util.log用于调试目的,我可以轻松包装。

哪个桌面框架将为我提供所需的 API?JUnit 测试就足够了吗?这需要进行仪器测试吗?我真的需要运行某种模拟库吗?这是我的第一个 Android 应用程序,我还在摸索。

理想情况下,我会用 Java 编写一个命令行工具,这样我就可以改变控制测试的参数。我怀疑我想到的测试类型是否适合任何通用测试框架,因为需要一些智能来决定何时尝试将实际结果与预期结果相匹配以及何时停止测试运​​行。我怀疑我只是在寻找合适的桌面库。

我想我知道如何编写另一个可以完成这项工作的 Android 应用程序,但这看起来比从 shell 中执行要复杂得多,而且使用起来也不太方便。我的备用计划是使用常规 Java 线程消息传递在 looper API(我的库的公共 API)下测试我的系统。(我想在原始时间向系统提供事件。)

更新:当我四处寻找答案时,很明显我可以编写一个运行我所有实时测试的 JUnit 测试,但对慢仿真的抱怨让我很担心。在这些测试中,时间是至关重要的。另一方面,台式计算机可能会运行干扰计时的后台进程,所以也许我必须创建一个在设备上运行的测试工具。希望给点建议...

4

0 回答 0