Android中测试框架使用简介

测试

好的程序是测出来的。

测试的目的:尽可能多的测试出程序中的bug。

测试分为

黑盒测试:测试业务逻辑

白盒测试:测试逻辑方法。一般是写一段脚本代码,通过脚本代码去调用业务逻辑方法。

按照测试粒度分为:

方法测试:function test   测试某一个方法

单元测试:unit test      测试某一个类或者某一个单元的多个方法

集成测试:integration testv服务器和客户端联合调试,测试的是多个单元。

系统测试 system test      测试的是整个系统的功能,所有的单元一起测试

按照测试的暴力程度分为:

冒烟测试:smoke test     程序在高负荷的状态下运行,没有内存溢出,也没有出错,则表明程序正常。

压力测试:pressure test   模拟一定量的用户连接服务器,看服务器是否会宕机。

回归测试:是指修改了旧代码后,重新进行测试以确认修改没有引入新  的错误或导致其他代码产生错误。

单元测试

在Android中,通过集成AndroidTestCase类表名一个类是测试类。

测试类中的每一个方法都可以单独运行。

在Android中,进行单元测试时,需要在清单文件中添加测试的指令集或者使用的测试类库。在application标签之前添加。

测试框架与其定义在哪里,跟其要测试那个项目是没有关系的。

测试方法是固定的公开的访问权限,没有返回值的。方法名一般以小写的test开头。其后面是要测试的方法的名字。

定义格式为public void  test方法名(){}

在测试框架中测试某一个方法时,不要运行该项目,只运行该测试方法即可,但是必须要打开模拟器或者连接上真是手机。

在Android中也可以使用unit测试框架。

package com.test.unittestdemo.utils;

public class Utils {

public static int add(int a, int b){

return a + b;

}

}

package com.test.unittestdemo.test;

import com.test.unittestdemo.utils.Utils;

import android.test.AndroidTestCase;

public class TestCase extends AndroidTestCase {

public void test(){

int result = Utils.add(10, 5);

//断言:用来检测实际值与期望值是否一致,第一个值是期望值,第二个值是实际值

//没有返回值的方法,断言没有实际的意义

//没有返回值的方法,一般测试的是期业务逻辑是否正常

assertEquals(15, result);

}

}

时间: 2024-11-05 12:29:59

Android中测试框架使用简介的相关文章

Android兼容性测试框架(CTS)手册

了解老码农个人隐私,请看这里:http://www.koulianbing.com/?page_id=12 本文翻译自Android官方的CTS手册android-cts-manual-r4.pdf Android兼容性测试框架手册 1.为什么需要兼容性测试(以下称CTS)? 1.1.让APP提供更好的用户体验.用户可以选择更多的适合自己设备的APP.让APP更稳定. 1.2.让开发者设计更高质量的APP. 1.3.通过CTS的设备可以运行Androidmarket. 另外,CTS是免费的,而且

[转]Android中Xposed框架篇—利用Xposed框架实现拦截系统方法

一.前言 关于Xposed框架相信大家应该不陌生了,他是Android中Hook技术的一个著名的框架,还有一个框架是CydiaSubstrate,但是这个框架是收费的,而且个人觉得不怎么好用,而Xposed框架是免费的而且还是开源的,网上也有很多文章介绍了Xposed框架的原理实现,不了解的同学可以自行查阅即可,本文主要介绍如何通过这个框架来进行系统方法的拦截功能,比如我们开发过程中,对于一些测试环境很难模拟,特别是测试同学有时候像随机改变设备的imei,mcc等信息用来模拟不同测试场景,这时候

Android Junit测试框架的配置

instrumentation指令集需要在manifest节点下 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.junittest" /> uses-library 需要在application节点下 <uses-library android:name="android.t

Android开源测试框架学习

近期因工作需要,分析了一些Android的测试框架,在这也分享下整理完的资料. Android测试大致分三大块: 代码层测试 用户操作模拟,功能测试 安装部署及稳定性测试 代码层测试 对于一般java代码,采用传统的Junit测试,开发人员通常会编写重要接口和函数的白盒测试代码,不做过多讨论. 但因Android的特殊运行机制(Dalvik虚拟机),其中存在Application.Activity.Service等特殊组件,而这些组件都涉及到生命周期管理的问题. 为了对这些组件进行测试,Goog

Android测试(一):在Android中测试App

Android测试(一):在Android中测试App 发布时间 2017年12月20日 虫师 原文:https://developer.android.com/training/testing/index.html 测试你的App是开发过程中的重要组成部分.通过对应用程序持续的运行测试,你可以验证程序的正确性.功能和可用在发布之前. 测试还提供了以下优点: 快速反馈失败. 开发周期的早期问题检测. 安全地重构代码,让你优化代码而不用担心回归. 稳定开发速度,帮助你减少技术债务. 这里的特指测试

Android中ButterKnife框架

Android中ButterKnife框架 前言:发现一个不错的注入框架,为了偷懒,还是拿来用了,其实我不是一个喜欢偷懒的码农,但 - - Introduction Annotate fields with @Bind and a view ID for Butter Knife to find and automatically cast the corresponding view in your layout. class ExampleActivity extends Activity

Android中Toast的用法简介

转自:http://www.cnblogs.com/GnagWang/archive/2010/11/26/1888762.html Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失.下面用一个实例来看看如何使用Toast. 1.默认效果 代码 Toast.makeText(getApplicationContext(), "默认Toast样式",     Toast.LEN

关于linux input device输入子系统架构及android中的框架

关于linux input device输入子系统架构及android中的框架 应用app和windowmanagerservice的input event通信方式 在Native层的InputChannel就是一个通道,仅仅是一个通道,仅仅具有通信功能,不包含其他的.至于从数据流动方向,与InputChannel无关.数据流向是由InputPublisher和InputConsumer在组合了InputChannel后决定的.把InputChannel由应用程序传递到WindowManageS

Android中网络框架的简单封装

个人博客 http://www.milovetingting.cn Android中网络框架的简单封装 前言 Android作为一款主要应用在移动终端的操作系统,访问网络是必不可少的功能.访问网络,最基本的接口有:HttpUrlConnection,HttpClient,而在后续的发展中,出现了Volley,OkHttp,Retrofit等网络封装库.由于各种原因,在实际的项目开发中,我们可能会需要在项目的版本迭代中,切换网络框架.如果对于网络框架没有好的封装,那么当需要切换网络框架时,可能就会