2010-10-02 64 views

回答

15

好问题。这里列出了一些需要考虑的事项,并提供可以提供帮助的工具链接。

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

测试类型

下面是类型的测试,应该是相关测试Android应用程序的非详尽清单。

  • 单元测试
    • 非Android特异性的,即业务逻辑
    • 的Android单元测试,例如测试UI组件
  • 功能测试
    • Android的仪器测试
  • 集成测试
    • 测试应用程序组件的交互
  • 系统测试
    • 黑箱测试,测试整个应用程序及其依赖
  • 无障碍环境测试
    • 待办事项UI组件具有正确的标签,说明和提示文本包括在内?
    • 是否有任何可能影响人的潜在问题,例如:色盲?
  • 安全性和可靠性测试
    • 是输入之前使用,例如验证在本地数据库中,还是在发送到服务器之前?
    • 用户界面是否可靠地处理所有事件,例如配置更改,硬件事件?

这取决于究竟您的应用程序做,但它应该是可以测试多的这种自动使用一些下面列出的工具。

变量

软件和硬件功能的various Android devices不同。
您应该考虑这些因素,并结合目标市场将使用的设备类型进行测试。

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

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

这样做可以使不同设备的测试更简单。

工具

写作考试

  • 集成的单元测试JUnit支持
  • TestCase类测试Android组件
  • Robotium —库,使得它非常简单的写黑箱功能测试也可以跨越多个活动

使用嘲笑

虽然Android提供了可用于伪造部件用于测试目的几个mock objectsmany more would be useful

由于这个原因(以及一般情况),设计考虑可测试性的应用程序是一个好主意。例如,不要直接访问ConnectivityManager,而是创建一个定义您需要的方法调用的接口。然后编写该接口的两个实现:一个包装Android ConnectivityManager和另一个模拟版本。根据你是否在运行单元测试,选择你想在运行时使用的实现。

运行测试

其他

参考

超越所有的链接上面的一种形式,可以在这里找到一些具体的条款:

+1

很好的答案!你帮了我很多忙。有了新的测试方法,你应该更新这个。 – 2013-11-14 20:32:47

相关问题