在 Android 平台上测试应用  |  Android 开发者  |  Android Developers

问Bito:Android中的测试分为几种?

我们探讨的测试技术主要包括单元测试和接受测试,单元测试是程序员用于测试自己写的函数/库代码是否正确运行,一般不涉及界面,所以单元测试是程序员写的,用户不参与。因为用户不需要知道程序内部的函数是否正常,用户只需要在运行APP时看到界面上的功能是否正常。而这是接受测试的范畴,接受测试某种意义上是用户写文档并执行,用户操作APP,看APP的响应是否正确,所以接受测试一般是UI测试。Android单元测试根据可以分为两种,一种纯粹是Java语言,不需要模拟器的运行,也就是不需要Context,例如解析Json数据、排序算法等;另一种单元测试就是依赖手机的单元测试,测试需要APP的Context,比如测试读取手机APP文件,需要模拟机运行,但此时APP不需要启动。Android接受测试,是一定需要模拟机运行并且APP启动有界面可以操作的。

Android Studio的java目录有三个目录,一个是源代码,另外两个放测试,带androidTest的为需要启动模拟器的测试,只带有test的目录的表示纯粹Java的单元测试。

Untitled

单元测试-纯粹Java测试(test)

单元测试-Android手机相关的(anroidTest)

接受测试-Android APP界面测试(anroidTest)

注意

  1. 测试要能自动运行,而不是手动操作的测试。
  2. 测试要能反复运行,因此保持每次测试前后的测试环境一致。
  3. 测试不是把程序运行一遍走一个流程,测试一定要有断言,既程序运行的结果要和预期的结果比较。
  4. 测试要考虑到所有流程,既包括正确的分支,也包括异常的分支。人们写测试时往往忽略错误异常的测试。