Android测试:从零开始1——简介
参考文档:https://developer.android.com/training/testing/start/index.html
测试分类
使用android studio进行测试,首先需要先了解android测试的分类,新建工程后,项目会默认包含两个测试目录:
1、本地单元测试(Local unit tests)
测试代码位于module-name/src/test/java/,这些测试直接运行在本地JVM上,不需要使用Android框架的API。
2、设备测试(Instrumented tests)
测试代码位于Located at module-name/src/androidTest/java/,这些测试代码必须运行在Android设备或者Android虚拟机上。
Instrumented测试代码被打包进一个APK,然后在手机上运行。因为运行在设备上,你可以使用app里面的一些方法,修改一些属性,自动化模拟用户交互。
以上两种分类,是根据测试运行在本地JVM上,还是运行在android平台上区分的。一套完整的测试分类如下:
| 类型 | 子类型 | 描述 |
| 单元测试 | 本地单元测试(Local Unit Tests) | 运行在本地JVM上的单元测试。当被测试代码不依赖于android框架API,或者模拟androidAPI时,可以使用这种测试减少测试执行时间。 |
| 设备单元测试(Instrumented unit tests) | 运行在android设备或者模拟器上的单元测试。这些测试运行的时候需要获取设备信息,比如app的上下文(context)。 | |
| 集成测试 | app组件测试 | 这类测试为了验证,当用户在activity上进行某些操作或者输入某些值时,app是否按照预期去响应。 |
| 跨app组件测试 | 这类测试为了验证,用户app和系统app之间交互时的正确行为。 |
测试API
下面是介绍一些在android上的通用测试API
1、JUnit
2、Android Testing Support Library(AndroidJUnitRunner,Espresso,UI Automator)
3、Assertion classes(Hamcrest 库)
4、Monkey and mokeyrunner
之后会分别介绍使用如何。
Android测试:从零开始1——简介的更多相关文章
- Android测试:从零开始2——local单元测试
上一篇分析了android项目的测试分类,这一篇讲local单元测试. 参考android官方文档. 测试前需要配置测试环境,新建项目后,目录下会出现app/src/test/java/文件夹,这个文 ...
- 【Android测试】【第九节】MonkeyRunner—— 初识
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4836815.html 不得不说两句,过了这么久才再次更新博 ...
- android hook 框架 libinject2 简介、编译、运行
Android so注入-libinject2 简介.编译.运行 Android so注入-libinject2 如何实现so注入 Android so注入-Libinject 如何实现so注入 A ...
- android hook 框架 ADBI 简介、编译、运行
Android so注入-libinject2 简介.编译.运行 Android so注入-libinject2 如何实现so注入 Android so注入-Libinject 如何实现so注入 A ...
- Android测试提升效率批处理脚本(三)
前言: 前面放出过几次批处理,这次只放一个环境检查的被管理员给打回来了,不得不再找找几个有含金量的放出来,请看正文~~~ 目录 1.Android环境检查 2.Android内存监控 3.模拟蓝牙手柄 ...
- Android测试基础题(三)
今天接着给大家带来的是Android测试基础题(三). 需求:定义一个排序的方法,根据用户传入的double类型数组进行排序,并返回排序后的数组 俗话说的好:温故而知新,可以为师矣 packag ...
- Android测试提升效率批处理脚本(二)
前言: 前面放出过一次批处理,本次再放出一些比较有用的批处理(获得当前包名.查看APP签名信息等),好长时没来写博客了,简单化,请看正文,更多脚本尽请期待~~~(不定期) 目录 1.[手机录屏(安卓4 ...
- iOS 和 Android 测试托管平台 FIR.im 的注册与常用功能
FIR.im 作为专业的 iOS 和 Android 测试包发布网站, 注册超简单,支持输入网址直接下载和二维码扫描下载.功能类似 TestFlight ,但又比它强大,支持游客访问密码,iOS 和 ...
- 【Android测试】【第十七节】Instrumentation——App任你摆布(反射技术的引入)
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5569844.html 前言 学习了上节之后,大家是否已经 ...
随机推荐
- Backbone.js 1.0.0源码架构分析(二)——Event
(function(){ //省略前面代码 var Events = Backbone.Events = { // 根据name订阅事件,push到this._events[name] on: fun ...
- 【转】H.264(H264)视频文件的制作
转自:http://blog.csdn.net/caoshangpa/article/details/51166109 一.准备工作 1.下载并安装优酷客户端 2.下载ffmpeg可执行文件,解压可用 ...
- centos7 crontab 定时执行python任务不执行的原因及解决办法
1.问题描述 在用crontab设置定时任务时,发现py脚本在crontab中报错,显示import某些包找不到,但是手动直接运行py脚本,完全正常. 01 05 * * * ./get_topi ...
- 代码覆盖率?coverage
http://www.infoq.com/cn/articles/test-coverage-rate-role 代码覆盖率?coverage http://www.cnblogs.com/cod ...
- Xcode 警告信息处理:Format string is not a string literal (potentially insecure)
转自:http://www.oschina.net/question/54100_33881 NSObject *obj = @"A string or other object." ...
- matplotlib之极坐标系的极角网格线(thetagrids)的显示刻度
极坐标系的极角网格线(thetagrids)的显示刻度 #!/usr/bin/env python3 #-*- coding:utf-8 -*- ########################### ...
- 解决国内gem不能用的问题
转自:http://www.haorooms.com/post/gem_not_use 最近在安装SASS的时候,用到gem命令,但是运行出行如下错误! C:\Users\len>gem ins ...
- 循环节计算---用到find函数
#include <iostream> #include <algorithm> #include <vector> using namespace std; in ...
- 【Spring】java.lang.IndexOutOfBoundsException: Index: 256, Size: 256
Spring接受前台的数据超过256出现例如以下异常: org.springframework.beans.InvalidPropertyException: Invalid property 'sp ...
- shell课后总结
shell课后总结 作者:高波 归档:学习笔记 2017年12月4日13:31:08 快捷键: Ctrl + 1 标题1 Ctrl + 2 标题2 Ctrl + 3 标题3 Ctrl + 4 ...