Android程序测试(1)——新建一个简单的测试工程来测试已有的工程

简介: 因为程序测试方面是程序开发中非常重要的一方面,这里结合官方教程,来了解下Android程序是怎样进行测试的。

因为程序测试方面是程序开发中非常重要的一方面,这里结合官方教程,来了解下Android程序是怎样进行测试的。

Android开发环境集成了一个容易使用但同时很强大的程序测试框架,通过这个框架,可以测试程序的各个方面,比如测试程序的ActivityContent ProviderService等。

测试方式也可以根据开发环境而有不同的选择,可以选择在Eclipse中配合使用ADT插件工具进行测试,也可以使用命令行进行测试。

下面结合开发文档中的“HelloTesting”来介绍下在Eclipse中配合使用ADT插件和其他的SDK工具如何进行程序测试的,这里需要说明的是SDK版本需是1.5或者更高。

1.Eclipse中,选择New > Project > Android > Android Test Project 。

2.然后按如下方式,填写:

Test Project名称:HelloAndroidTest

Test Target:选择“An existing Android project”,然后点Browse,选择以前建的“HelloWorld”,以前没有的,可以新建立一个。

Build Target:选择1.5平台或者高于1.5的。

Application名称:HelloAndroidTest

Package名称:com.yaozq.helloandroid.test

3.点finish,新建的这个测试工程就会在Eclipse中出现。

现在你就有了一个名为HelloAndroidTest的测试工程。下一步要做的就是定义一个test case类,这里这个test case需要继承Android的用于测试Activitiestest case类,android中的这个test case类包含四个方法:

1.HelloAndroidTest:定义了这个类的构造器。

2.setUp():这个方法重写了JunitsetUp()方法,主要用于初始化测试环境。

3.testPreconditions():这个方法用于保证“Hello Android”程序能够正常启动起来。

4.testText():这个用于屏幕显示,显示的内容和程序的String资源是一样的。

下面,按照以上内容,继续。

在刚建立的测试工程的src的包下,新建一个名为“HelloAndroidTest”的类,继承自android.test.ActivityInstrumentationTestCase2<HelloAndroid>,父类的参数是要被测试程序的Activity,其他的地方不要改。

打开刚刚新建的这个测试类,它应该是如下的形式:

package com.yaozq.helloandroid.test;
import android.test.ActivityInstrumentationTestCase2;
public class HelloAndroidTest extendsActivityInstrumentationTestCase2<HelloAndroid> {
}

接着就是,引进要测试程序的activity,添加构造器,添加setUp()testText()testPreconditions()方法,分别如下。

要引入的activitycom.yaozq.helloandrodi.HelloAndroidActivity

构造器:

public HelloAndroidTest() {//构造器,Android测试框架所必需的
      super("com.yaozq.helloandroid", HelloAndroidActivity.class);
}


testText()方法:

public void testText() {//测试字符串资源
assertEquals(resourceString,(String)mView.getText());
}


testPreconditions()方法:

public void testPreconditions() {//测试条件
assertNotNull(mView);
}


所以一个完整的测试类,应该如下:

package com.yaozq.helloandroid.test;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.TextView;
import com.yaozq.helloandroid.HelloAndroidActivity;
public class HelloAndroidTest extends ActivityInstrumentationTestCase2<HelloAndroidActivity> {
//要被测试的activity
private HelloAndroidActivity mActivity;
    private TextView mView;
    private String resourceString;
    
public HelloAndroidTest() {//构造器,Android测试框架所必须的
      super("com.yaozq.helloandroid", HelloAndroidActivity.class);
}
@Override
    protected void setUp() throws Exception {//初始测试环境
        super.setUp();
        mActivity = this.getActivity();
        mView = (TextView) mActivity.findViewById(com.yaozq.helloandroid.R.id.textview);
        resourceString = mActivity.getString(com.yaozq.helloandroid.R.string.hello);
    }
public void testText() {//测试字符串资源
assertEquals(resourceString,(String)mView.getText());
}
public void testPreconditions() {//测试条件,只运行一次,主要用来检查要被测试的程序是否被整成初始化
assertNotNull(mView);
}
}


然后在项目名称上点右键Run As>Android JUnit Test,这样ADT插件就会启动测试程序和被测试程序,当这两个程序都运行起来之后,Android测试框架就会在EclipseJUnit视图中报告测试结果。

JUnit视图显示如下,它包含两上下两个窗格。上面的窗格包含:“Finished after xx seconds”、“Runs”、“Errors”、“Failure”,分别是表示测试所用的时间、运行的测试数目、测试中遇到的错误,遇到的assertion failures数目,还包括一个状态栏,如果测试成功显示为绿色,失败为红色。下面的窗格用来显示失败记录,如果成功的话就什么都不显示,如果失败的话就会打印出失败信息。


另外请参见:http://developer.android.com/resources/tutorials/testing/helloandroid_test.html 


最后附上源码:http://download.csdn.net/detail/yaolingrui/4145620 

相关文章
|
4天前
|
安全 测试技术 Linux
Acunetix v25.4 发布 - Web 应用程序安全测试
Acunetix v25.4 (Linux, Windows) - Web 应用程序安全测试
24 3
Acunetix v25.4 发布 - Web 应用程序安全测试
|
2月前
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
45 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
|
2月前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
309 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
1月前
|
自然语言处理 安全 测试技术
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
81 0
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
|
3月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
75 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
4月前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
205 13
|
5月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
128 1
|
6月前
|
安全 Linux 网络安全
Kali渗透测试:远程控制程序基础
Kali渗透测试:远程控制程序基础
104 0
Kali渗透测试:远程控制程序基础
|
7月前
|
测试技术 Shell Android开发
Android 性能测试初探 (六)
本节聊聊性能测试的最后一项- 流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试,但本系列文章都不去一一探讨了。
128 6
|
7月前
|
JavaScript 测试技术 Android开发
Android 性能测试初探 (四)
本文介绍了GPU在移动端性能测试中的重要性,并详细解释了过度绘制、帧率和帧方差的概念。针对GPU测试,文章列举了三项主要测试内容:界面过度绘制、屏幕滑动帧速率和平滑度。其中,过度绘制测试需遵循特定标准,而帧速率和平滑度测试则可通过软件或硬件方法实现。在软件测试中,使用Systrace插件和高速相机是两种常用手段。对于不同机型,帧率及帧方差的测试标准也需相应调整。
105 5

热门文章

最新文章

下一篇
oss创建bucket