Android中常见的三种测试

概述

作为一个Android开发工程师,你不仅需要开发软件,同时需要简单了解Android测试,而常见的也就三类测试:单元测试、UI测试、压力测试。

单元测试

单元测试时我们最常见的测试了,可以针对功能模块、类、方法进行测试,我们完成代码后,如果能进行一遍单元测试,能够极大减少线上出现的bug概率。

  1. 首先,我们新建一个项目,直接next下去。

  2. 在项目的app模块中的build.gradle中添加一下依赖
    testCompile 'junit:junit:4.12'

  3. 右键需要测试的类名(如果是方法,右键方法名),然后选择Go To ——>Test,如下图


    test.png
  4. 点击“Create New Test”,此时会弹出一个界面,如下


    image.png

    如果你只需测试某个方法, 那勾选对应的方法即可,其中第一行必须选择JUnit4,然后点击OK,进入弹出如下界面


    image2.png

    选择途中框出的即可,然后点击OK,就回自动生成测试类 ------- 原因:单元测试是在src下test文件夹中新建类,包名与测试类一样。
  5. 找到对应的测试类,打开后,如下图


    image3.png

    @Test下的方法可以编写你需要测试的逻辑,编写好后。如果你想单独测试某个方法,可以右键方法Run'方法名',当然,你还可以右键类名,选择run'类名',然后就可以测试整个类中的测试方法。
    这时,单元测试就完成了。

UI测试

UI测试在实际的工作中其实应用比不多,主要就是通过测试代码来实现界面的点击更新。

  1. 添加依赖
    在defaultConfig中添加
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    在dependencies中添加
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
  1. src下创建androidTest文件夹(一般添加依赖后会同步生成)


    image4.png
  2. 右键Java创建测试类,然后再测试类中实现相应的逻辑,具体逻辑省略,如果想要了解,请查看:
    http://www.jianshu.com/p/03118c11c199

压力测试

压力测试常用的工具就是monkey,位于SDK\tools\bin,用命令行测试,通过连续n次点击你的应用,测试应用的稳定性。

  • 命令行:
    adb shell monkey -p your.package.name -v number
    your.package.name:你的应用包名
    number:点击次数

  • 参数: -v
    用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:
    日志级别 Level 0
    示例 adb shell monkey -p com.htc.Weather –v 100
    说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息
    日志级别 Level 1
    示例 adb shell monkey -p com.htc.Weather –v -v 100
    说明 提供较为详细的日志,包括每个发送到Activity的事件信息

日志级别 Level 2
示例 adb shell monkey -p com.htc.Weather –v -v –v 100
说明 最详细的日志,包括了测试中选中/未选中的Activity信息

参考文档:http://www.jianshu.com/p/03118c11c199

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,361评论 25 707
  • 一、Monkey简介:monkey是Android中的命令行工具,monkey测试是为了测试软件的稳定性,健壮性快...
    街角的那只喵阅读 1,075评论 0 0
  • 标签(空格分隔): Android 单元测试的好处:Martin Fowler在《重构》里面还解释了为什么单元测试...
    背影杀手不太冷阅读 5,797评论 3 25
  • 第一点、不要驼背。只要一沾“驼背”两字,终生和气质无缘,做到抬头挺胸收腹,从容迈步,你在气质这条路上就成功了一半。...
    悠幽奶茶阅读 705评论 3 8
  • 青春,如一段跌跌撞撞的旅行,一边走,一边受伤,一边成长,好多时候我都不明白为了什么去奔波,为了一口饭,亦或是,只是...
    浅安那年阅读 103评论 0 1