测试的种类

按岗位划分

  黑盒测试:测试逻辑业务

  白盒测试:测试逻辑方法

按测试粒度分

  方法测试:function test

  单元测试:unit test

  集成测试:integration test

  系统测试:system test

按测试的暴力程度分

  冒烟测试:smoke test

  压力测试:pressure test

单元测试(unit testing)

  单元测试是指对软件中的最小可测试单元进行检查和验证。

  针对Android开发,目前网上有很多在Eclipse环境下进行单元测试的教程,然而随着Google对Android Studio的大力推广,开发者在Android Studio下进行单元测试已是大势所趋,幸运的是,在Android Studio下进行单元测试要简单得多。

  下面创建一个简单的项目,简单介绍在Android Studio环境下进行单元测试的流程:

  一、在新创建的项目中,Android Studio已经为我们自动创建了一个androidTest包,以及ApplicationTest类(继承自ApplicationTestCase类),如下图所示:

  

  二、编辑ApplicationTest.java,添加要测试的方法,方法名必须以test开头,本例要测试的方法是test方法,ApplicationTest.java代码如下:

package org.dorm661.junit;

import android.app.Application;
import android.test.ApplicationTestCase; /**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
// 测试方法,打印一条语句
public void test()
{
System.out.println("测试框架跑起来了");
}
}

  三、点击工具栏“app”下拉框中的"Edit Configurations"

  

  在弹出的Run/Debug Configurations对话框中点击左上角的"+",在下拉框中选择"Android Tests"

  

  在弹出的配置对话框中按下图配置:

  

  

  配置完点击OK,在运行,即可进行单元测试(可选择下拉框中的test()单独运行test方法,也可选择下拉框中的ApplicationTest运行ApplicationTest下所有以test开头的测试方法,在本例中两者效果等同)

  

  

  测试结果如下,绿条表示测试方法运行成功,没有任何bug,如果是红条则说明有bug,本例测试方法中仅包含一条简单的打印语句,必然不会报出bug

  

  查看LogCat可以看见期望输出,再一次验证了测试方法运行成功

  

Android Studio 单元测试的更多相关文章

  1. Android Studio单元测试入门

    Android Studio单元测试入门 通常在开发Android app的时候经常会写一些小函数并验证它是否运行正确,通常做法我们是把这个函数放到某个界面(Activity上)执行一下,运行整个工程 ...

  2. Android Studio 单元测试

    在功能测试有时要通过Log来验证,每次编译都需要时间,对于一些功能测试可以用Android Studio自带的单元测试功能进行调试: 在新建项目时,Android studio就已经集成了二个单元测试 ...

  3. Android studio下gradle Robolectric单元测试配置

    android studio下gradle Robolectric单元测试配置 1.Robolectric Robolectric是一个基于junit之上的单元测试框架.它并不依赖于Android提供 ...

  4. 使用Android Studio进行单元测试

    Android Studio默认支持Android单元测试,不需要像网上说的配置mainifest.xml或build.gradle. 创建单元测试文件夹 可以把单元测试文件夹放到你自己创建的文件夹中 ...

  5. 在Android Studio进行“简单配置”单元测试(Android Junit)

    起因 在Android studio 刚出.本人就想弄单元测试,可惜当时Android studio不知道抽什么风(准确来说,应该是我不会弄而已).无法执行到相应的代码.后来今天突然自己又抽风.又想去 ...

  6. 在Android Studio中进行单元测试和UI测试

    本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...

  7. Android studio 怎么使用单元测试(不需要device)

    关于单元测试的使用,写代码过程中有时候需要检测下代码逻辑的可行性与正确性,又不想通过设备运行,那么就可以通过单元测试跑下代码~ 1.首先建立一个Android studio的Android项目: 2. ...

  8. 软件工程第二次作业(Android Studio利用Junit进行单元测试)

    一.开发工具的安装和运行 1.安装 由于我的电脑之前就安装好了Android Studio,就不再重装了.在这里就给出几条安装过程中需要注意的地方吧: 安装包最好在官网下载已经带有Android SD ...

  9. Android Studio中进行单元测试

    写单元测试类 1.创建单元测试文件夹,即新建一个用于单元测试的包,存放单元测试的类. 2.创建一个类如 ExampleTest,注意要继承自InstrumentationTestCase类. 3.创建 ...

随机推荐

  1. PHP CI框架email类发送邮件

    用CI框架发送邮件类 在中文标题太长的情况下会出现乱码,搜索后说是发送邮件的时候有标题长度的限制,按说的方法修改后,还是没能得到解决,后来发现需要转换邮件标题的编码,解决方法如下: 打开 librar ...

  2. 开源 VS 商业,消息中间件你不知道的那些事

    11月23日,新炬网络中间件技术专家刘拓老师在DBA+社群中间件用户组进行了一次主题为“开源 VS 商业,消息中间件你不知道的那些事”的线上分享.小编特别整理出其中精华内容,供大家学习交流. 嘉宾简介 ...

  3. android webview如何加载asset目录里的页面

    在asset里的页面都可以这样获得 file:///android_asset/index.html

  4. 我看的公开课系列--《TED:对无知的追求》 by stuart firestein

    http://open.sina.com.cn/course/id_1047/ What scientists do is not just collect data and collect fact ...

  5. 二叉搜索树(Binary Search Tree)

    二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树. 二叉搜索树:一棵二叉树,可以为空:如果不为空,满足以下性质: 非空左子树的所有键值小于其根结点的键值: 非空右 ...

  6. eclipse workspace出错而导致启动不了

    遇到这种问题也是第一次让我觉得eclipse没有vs强大. 说正题,关于怎么解决的问题,也是上网搜了一大堆.主要有两种吧: 1.就是删除这个workspace的整个metadata,这样就可以打开这个 ...

  7. java web目录结构

    转自:http://blog.csdn.net/javaloveiphone/article/details/7828894 Javaweb项目的源文件与字节码文件的目录结构 1.新建项目的源文件目录 ...

  8. box2dweb 学习笔记--sample讲解

    前言: 之前博文"台球游戏的核心算法和AI(1)" 中, 提到过想用HTML5+Box2d来编写实现一个台球游戏. 以此来对比感慨一下游戏物理引擎的巨大威力. 做为H5+box2d ...

  9. nginx+tomcat集群配置(2)---静态和动态资源的分离

    前言: 在web性能优化的领域, 经常能听到一个词, 就是静态/动态资源分离. 那静态/动态资源分离究竟是什么呢? 本文不讲文件系统服务, 云存储, 也不讲基于CDN的优化. 就简单讲讲基于nginx ...

  10. 在WAS 中建立db2 dataSource

    1: 安全性->JAAS配置->J2C认证数据: 新建-> 名称(随意起) 数据库用户名 密码.数据库密码 2:应用程序服务器?server1?Web容器?会话管理?分布式环境设置 ...