Android Testing学习01 介绍 测试测什么 测试的类型

时间:2023-06-20 17:36:08

Android Testing学习01 介绍 测试测什么 测试的类型

Android 测试 测什么

1.Activity的生命周期事件

  应该测试Activity的生命周期事件处理。

  如果你的Activity应该在onPause()和onDestroy()中保存状态,并在onCreate()中恢复;你应该写测试去证明:状态能够被正确地保存和恢复。

  配置改变事件也需要被测试,因为有些事件会导致当前Activity的重建,比如屏幕旋转有时候会重建Activity。你应当去测试事件是否被正确地处理,新建的Activity是否保存了之前的状态。

2.数据库和文件系统操作

  数据库和文件系统的操作应当被测试,确保它们正确地处理。

  这些操作应该在三个层次被测试:1.低层次的独立测试;2.高层次的通过Content Provider的测试;3.从应用本身出发的测试。

3.设备的物理特性

  在发布你的应用之前,你应该确认在所有支持的设备上,应用都能正常运行。或者至少要找出不支持的情况,并采取一些措施。、

  在设备特性中,你可能发现你需要测试:

  网络性能;

  屏幕密度;

  屏幕分辨率;

  屏幕尺寸;

  可用的传感器;

  键盘和其他输入设备;

  GPS;

  外部存储;

  还有很多要测试的内容,可以看看谷歌官网的:what to test: http://developer.android.com/tools/testing/what_to_test.html

测试的种类

  测试分为:

单元测试 Unit tests

  单元测试的粒度最细,用于测试方法、单独的事件等。

  Android单元测试基于JUnit 3。

  为了独立地测试组件,Android提供了这个包android.test.mock,来提供一些桩对象,即模拟对象。

集成测试 Integration tests

  集成测试用于测试组件联合起来运行的情况。即经过单元测试的独立组件现在集成在一起,进行较大粒度的测试。

  工具:http://fit.c2.com/

功能或接受性测试 Functional or acceptance tests

  商务或QA人员进行的测试。

  有一些工具:

  http://www.fitnesse.org/

  http://jbehave.org/

性能测试 Performance tests

  压力测试,通常通过重复性的操作来进行测试。用于找到性能瓶颈,之后才针对瓶颈进行优化。

系统测试 System tests

  系统作为一个整体测试,测试各个组件间的交互,测试软件和硬件。

  一般的,系统测试包含下列几种测试:

  GUI tests

  Smoke tests

  Performance tests

  Installation tests

Android testing framework

  Android的测试框架基于JUnit,并做了一些扩展。

  特点:

Android Testing学习01 介绍 测试测什么 测试的类型

  Instrumentation框架是测试框架的基础,它控制测试中的应用并且允许mock组件的注入。

参考资料

  《Android Application Testing Guide》

  Android Testing官网链接:

  http://developer.android.com/tools/testing/index.html