Android测试系列之一 - 测试分类(节选)

Android测试系列之二 - 构建本地单元测试

Android测试系列之三 - 构建仪器单元测试


Android 测试是在 JUnit的基础上进行,你可以选择在JVM虚拟机上进行一个本地单元测试,也可以选择在Android设备上进行一个

仪器测试。本章节将讲述Android 测试相关的一些概念和工具。


测试类型

当使用Android Studio去编写测试的时候,你测试的代码必须放在两个目录的其中一个。对于你工程的每个模块,Android Studio

都包含了以下测试类型的目录:


本地单元测试:(Local unit tests)

本地单元测试位于module-name/src/test/java/目录下

这些测试是运行在本地的JVM虚拟机上,它是没有访问Android framework层的API的。

想要进行本地单元测试,可以参考 Building Local Unit Tests.


仪器测试:(Instrumented tests)

仪器测试位于module-name/src/androidTest/java/目录下

这些测试必须运行在真机或者模拟器上

当处于测试状态下时,仪器测试会被编译进一个APK文件中。这个APK文件和你的app是运行在系统的同一个进程中的,

所以在测试文件中,你可以去调用app中的方法或者去修改它的属性,也允许用户与你的app进行一个交互


想要了解更多关于如何创建仪器测试的问题,可以参考以下这些:

  • Building Instrumented Unit Tests:
    Build complex unit tests with Android dependencies that cannot be satisfied with mock objects.
  • Automating User Interface Tests:
    Create tests to verify that the user interface behaves correctly for user interactions within
    a single app or for interactions across multiple apps.
  • Testing App Component Integrations:
    Verify the behavior of components that users do not directly interact with, such as aService 
    or a Content Provider.





然而,以上所述,只是本地单元测试和仪器测试的一个概述,主要是为了帮助大家弄清本地单元测试和仪器测试的一个区别。

当构建一个完整的测试套件时,你必须理解真正的测试分类如下所述:

Android测试系列之一 - 测试分类(节选)_第1张图片

Android测试系列之一 - 测试分类(节选)_第2张图片


构建Anddroid 测试指南

以下这些文档更详细地说明了如何去构建和运行各种测试类型:

Building Local Unit Tests

这种方式是运行在JVM虚拟机上的,主要是用在没有依赖项的时候,或者一些简单的依赖项可以去模拟的时候

Building Instrumented Unit Tests

这种方式是运行在真机或者模拟器上的,主要是用在需要Android依赖项,而这些Android依赖项没办法去模拟的时候

Automating User Interface Tests

主要是用于去检验用户界面是否正确

Testing App Compontent Integrations

主要是用于校验那些不与用户直接去进行交互的组件,比如服务或者内容提供者

Testing Display Performance

主要是用来测试用户界面是否运行流畅



参考:

Getting Started with Testing


更多相关文章

  1. [置顶] Android异步处理系列文章索引
  2. android 渗透测试必备工具
  3. Android系列开发博客资源汇总
  4. Robotium自动化测试框架使用教程
  5. Android Jetpack系列之Lifecycle组件(一篇文章掌握Lifecycle)
  6. Android系列之Content Provider
  7. Android2.2 API 中文文档系列(1)
  8. Android 动画系列之逐帧(Frame)动画详解
  9. 【Android 电量优化】电量优化 ( 耗电量测试 | Battery Historia

随机推荐

  1. 最强指南!超级全面的企业报表平台建设白皮
  2. Python 内置模块之 random
  3. 【深度学习】③--神经网络细节与训练注意
  4. RHEL7.6安装Oracle11g数据库--4、创建数
  5. 2021年国内BI厂商推荐_大数据分析工具
  6. 程序员职业发展方向有哪些?
  7. 技多不压身,手把手教你零基础秒上手成为数
  8. 图表控件AnyChart如何使用JavaScript创建
  9. 点云处理库pclpy安装
  10. 汇总:Linux文件管理的50个命令