测试Android应用程序时要记住的要点

时间:2010-10-02 08:26:45

标签: android testing

测试Android应用程序时要注意哪些不同点?什么是用于Android的不同技术或测试用例?

1 个答案:

答案 0 :(得分:16)

好问题。以下是一些需要考虑的事项列表,以及可以提供帮助的工具链接。

至于实现测试,您可以阅读列出的一些教程并使用Robotium之类的框架来简化测试的编写。

测试类型

以下是与测试Android应用程序相关的测试类型的非详尽列表。

  • 单元测试
    • 非Android特定,即业务逻辑
    • Android单元测试,例如测试UI组件
  • 功能测试
    • Android检测测试
  • 集成测试
    • 测试应用组件的互动
  • 系统测试
    • 测试整个应用及其依赖项的黑盒测试
  • 可接受性测试
    • UI组件是否包含正确的标签,说明和提示文字?
    • 是否存在可能影响人们的潜在问题,例如色盲?
  • 安全性和可靠性测试
    • 使用前是否验证了输入,例如在本地数据库中,还是在发送到服务器之前?
    • UI是否可靠地处理所有事件,例如配置更改,硬件事件?

这取决于您的应用程序究竟是做什么的,但应该可以使用下面列出的一些工具自动测试大部分内容。

变量

various Android devices之间的软件和硬件功能不同 您应该结合目标市场将使用的设备类型来考虑这些因素。

重要的是确保您支持multiple screen types,尤其是确保提供正确的resources以支持具有不同屏幕密度和物理屏幕尺寸的设备。

通常,您希望尽可能少地包含图形,但要使用各种Android Drawable类型,这些类型通常允许您通过XML定义所需的图形。同时充分利用automatically scale themselves的布局和图像,无论他们使用什么设备。

这样做可以简化不同设备的测试。

工具

编写测试

  • 对单元测试的集成JUnit支持
  • 用于测试Android组件的
  • TestCase
  • Robotium - 一个库,可以非常简单地编写黑盒功能测试,也可以跨越多个活动

使用模拟

尽管Android提供了一些mock objects可用于伪造组件以用于测试目的,many more would be useful

出于这个原因(并且一般而言),设计具有可测试性的应用程序是个好主意。例如,不要直接访问ConnectivityManager,而是创建一个定义所需方法调用的接口。然后编写该接口的两个实现:一个包装Android ConnectivityManager,另一个包含模拟版本。选择要在运行时使用的实现,具体取决于您是否正在运行单元测试。

正在运行测试

其他

参考

除了上面的所有链接,这里有一些具体的文章: