测试的种类

按岗位划分

  黑盒测试:测试逻辑业务

  白盒测试:测试逻辑方法

按测试粒度分

  方法测试: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. Rest中获取制定操作的UriTemplate

    UriTemplate uri = WebOperationContext.Current.GetUriTemplate("DownloadFile");

  2. LeetCode Combination Sum II (DFS)

    题意: 在集合candidates中选出任意多个元素,使得他们的和为target,返回所有的组合,以升序排列. 思路: 难点在于如何去重,比如集合{1,1,2},target=3,那么只有一个组合就是 ...

  3. 优先队列(Priority Queue)

    优先队列(Priority Queue) A priority queue must at least support the following operations: insert_with_pr ...

  4. eclipse debug (调试) 学习心得

    eclipse debug (调试) 学习心得   进入debug模式:   1.设置断点   2.启动servers端的debug模式   3.运行程序,在后台遇到断点时,进入debug调试状态   ...

  5. discuz使用

    1.discuz登陆错误过多,后台删除ip SELECT * FROM `lang_common_admincp_session` 2.Discuz与UCenter通信失败的解决方法 应用与 UCen ...

  6. Asp.net内置对象之Request对象(概述及应用)

    Request对象主要用于获取来自客户端的数据,如用户填入表单的数据.保存在客户端的Cookie等,本文将围绕Request对象,讲解其的主要作用:读取窗体变量.读取查询字符串变量.取得Web服务器端 ...

  7. activiti 任务节点 处理人设置【转】

    转自http://blog.csdn.net/qq_30739519/article/details/51225067 1.1.1. 前言 分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自 ...

  8. XML的解析方式(DOM、SAX、StAX)

    (新)  XML的解析方式(DOM.SAX.StAX) 博客分类: XML   一般来说,解析XML文件存在着两种方式,一种是event-based API,比如说象SAX,XNI. 第二种是tree ...

  9. PHP太怪了,in_array() ,strpos,

    PHP中在某个字符中查找另外一个字符串,是否存在,用的是strpos,此函数用法,经常很多人用反了,正确的用法是strpos(string,search),strstr等,前面是原字符串,后面是要在原 ...

  10. Xcode7.0.1(ios9)的部分适配问题

    今天更新了Xcode 7 正式版,App编译出现很多警告,在App运行的时候出现如下的提示......... the resource could not be loaded because the ...