用于测试实时Android应用的桌面库

时间:2017-01-12 23:51:01

标签: java android testing real-time android-looper

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

我的系统通过looper / handler接收事件并使用计时器,但除了android.util.log之外,它不依赖于Android API进行调试,我可以轻松地将其包装起来。

哪个桌面框架会提供我需要的API? JUnit测试是否足够?这是否需要进行仪器化测试?我真的需要运行某种模拟库吗?这是我的第一个Android应用程序,我仍然在努力。

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

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

更新:在我寻找答案的时候,很明显我可以编写一个运行所有实时测试的JUnit测试,但是关于模拟速度慢的抱怨让我很担心。在这些测试中,时间安排至关重要。另一方面,台式计算机可能会运行干扰计时的后台进程,因此我可能需要创建一个在设备上运行的测试工具。希望得到建议......

0 个答案:

没有答案