精华内容
下载资源
问答
  • android测试
    千次阅读 多人点赞
    2020-06-15 22:38:57

    Android以及iOS是当下手机的两大主流操作系统,APP测试中,iOS测试和Android测试需要分开测试。

    IOS 和安卓系统比较

    从以下几个方面,先简单了解一下这两大操作系统的不同之处

    1、系统与框架结构

    1. Android系统的底层建立在Linux系统之上;而ios基于UNIX系统。
      这一点就造成了Android与iOS的生态不同了,Android完全开源,任何软件开发商或者个人都能开发安卓的软件;ios完全封源开发。

    2. Android的编程语言是Java和KotLin;而ios的则为ObjectC和Swift。
      Android的Java,面向对象,性能比C语言和OC低;ios的OC,基于对象,完全兼容C语言的语法,可以直接操作内存。
      Android生成class文件,需要虚拟机来进行解释;ios直接执行程序的二进制代码。
      这也在根本上造成了iOS与Android性能不同:Android和Window一样,目的是打造一款通用性非常好的系统,在任何机器上面都可以运行;ios目的是让软件和硬件完美的结合到一块,该操作系统只能在极少数机器上面才能运行。

    3. iOS与Android的运行机制:ios采用的是沙盒运行机制;安卓采用的是虚拟机运行机制。
      iOS采用伪后台,当用户HOME键退出应用时,IOS其实关闭了程序,只保留应用的图像入口,只会默认将最后的运行数据记录在RAM中。之所以IOS也能收到推送,是因为应用程序开启推送后,系统会增加一些进程,这些进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在这里是起到了中转的作用。
      安卓手机的后台是真后台,将应用保留在RAM中,之所以能够收到推送,也因为它常驻内存。
      所以Android在软件关闭的情况下,无法接收推送信息;ios在软件关闭的情况下,依然可以接收推送信息
      iOS系统在系统内存不足时会自动释放内存。

    2、渲染机制

    2.1 iOS最先响应屏幕

    IOS的UI渲染采用实时优先级,Android的UI渲染遵循传统电脑模式的主线程普通优先级

    IOS的响应顺序依次为Touch–Media–Service–Core架构
    Android系统的优先级响应层级是Application–Framework–Library–Kernal架构

    当我们使用iOS或者是Android手机时,第一步就是滑屏解锁找到相应程序点击进入。而这个时候往往是所有操控开始的第一步骤,iOS系统产品就表现出来了流畅的一面,但Android产品却给人一种卡顿的现象,更别说后续深入玩游戏或者进行其它操控了。

    这也就是为什么我们常说iOS比Android流畅了,因为iOS最先响应屏幕,iOS对屏幕反应的优先级是最高的,它的响应顺序依次为Touch–Media–Service–Core架构,换句话说当用户只要触摸接触了屏幕之后,系统就会最优先去处理屏幕显示也就是Touch这个层级,然后才是媒体(Media),服务(Service)以及Core架构。

    而Android系统的优先级响应层级则是Application–Framework–Library–Kernal架构,和显示相关的图形图像处理这一部分属于Library,你可以看到到第三位才是它,当你触摸屏幕之后Android系统首先会激活应用,框架然后才是屏幕最后是核心架构。

    2.2 iOS系统优先处理Touch层级

    优先级的不同导致了iOS产品以及Android手机在操控过程中的表现差异,当你滑动屏幕进行操控的时候,iOS系统会优先处理Touch层级,而Android系统则是第三个才响应Library层级,这是造成它们流畅度不同的因素之一。

    不过优先级对系统流畅性有有影响不假,但并不是最绝对的,造成两系统之间流畅性不一的现象还有其它因素。 目前智能手机硬件装备竞赛当中,其实处理器等配置已经达到了一个瓶颈期,各大旗舰产品在硬件比拼当中基本上没有太大的区别,而这时候GPU就成为了一个凸显差异的重要因素。一些大型软件像是3d游戏对GPU性能要求都会比较高,苹果iPhone产品采用的Power VR SGX系列GPU在当下来说非常的主流,跑分测试数据证明了它并不会比一些旗舰级别的Android产品差劲。

    2.3 iOS图形特效基于GPU加速渲染

    iOS系统对图形的各种特效处理基本上正好都是基于GPU硬件进行加速的,它可以不用完全借助CPU或者程序本身,而是通过GPU进行渲染以达到更流畅的操控表现。

    但是Android系统产品则并非如此,因为Android需要适应不同的手机硬件,需要满足各种差异配置,所以很多图形特效大多都要靠程序本身进行加速和渲染,并严重依赖CPU运算的操作自然会加大处理器的负荷,从而出现卡顿的问题。

    iOS系统对图形的各种特效处理基本上正好都是基于GPU硬件进行加速的,它可以不用完全借助CPU或者程序本身,而是通过GPU进行渲染以达到更流畅的操控表现。
    Android系统产品则并非如此,因为Android需要适应不同的手机硬件,需要满足各种差异配置,所以很多图形特效大多都要靠程序本身进行加速和渲染。
    (虽然Android 4.0以及4.1等更高版本中进行了改进将硬件加速设为默认开启,但依旧无法做到所有特效全部都靠GPU进行加速。在很多Android手机里面都自带有“是否开启GPU渲染”这个功能选项,不过开启之后的改善也是微乎其微。)

    屏幕最先响应的优先级关系,再加上iSO本身GPU加速程序的特性,使得在操控过程中感觉iOS手机拥有着良好的流畅性。因为它本身的整个流程都是在为最大化的流畅做服务,不管是第一印象的滑动接触屏幕,还是你进一步使用程序之后的更深层操作都是如此。而GPU加速这点特性,是它优于Android系统流畅性的又一个因素。

    iOS测试和Android测试

    APP测试中,iOS测试和Android测试主要会针对以下几个点进行测试:

    • 分辨率的测试:Android端有20多种,iOS相对少一点。
    • 操作系统版本:Android的操作系统版本比较多,现在常见的是Android9和Android10,还有不同手机厂商的版本,比如小米的MIUI,魅族的Flyme;
      iOS的比较少,而且它只支持单向升级,不能支持降级。
    • 操作习惯的不同:像Android,习惯的去点击back键,虽然现在很多都是全面屏,都是通过手势滑动返回,但还是属于back键的功能,所以Android需要测试back键是否被重写了,点击了back键系统的反馈是不是正常的。
    • 推送消息的测试:Android点击home键后,程序运行到后台,那么这个时候,推送消息是否可以正常被推送,以及点击应用程序,唤醒到前台运行的时候,然后点击消息,是否可以正常的跳转;
      iOS点击Home键或是锁屏,或者是关闭程序的时候,消息推送是否是正常的。
    • 安装和卸载测试:Android的安装的平台和渠道相对会比较多,而iOS的话一般只支持官方的渠道比如说 APP store 、 iTunes 工具以及 testflight 的下载
    更多相关内容
  • Android测试点和测试工具介绍

    千次阅读 2021-11-04 15:41:04
    1.测试点 2. 缓存 2.1 什么是缓存 2.2 缓存管理的适用环境 3. 适配测试 3.1 为什么需要做适配测试 3.2 适配测试的基础测试点 3.3 适配测试的方法 4.云测试 4.1 为什么需要云测试 4.2 云测试的基本流程 ...

    目录

    1. 测试点

    2. 缓存

    2.1 什么是缓存

    2.2 缓存管理的适用环境

    3. 适配测试

    3.1 为什么需要做适配测试

    3.2 适配测试的基础测试点

    3.3 适配测试的方法

    4. 云测试

    4.1 为什么需要云测试

    4.2 云测试的基本流程

    4.3 云测试主要主要解决的问题:兼容测试、单机调试

    5. 性能测试

    5.1 移动端

    5.2 移动端和服务器端的性能指标

    5.3 辅助工具详解

    5.4 perfdog

    5.5 耗电量测试

    5.6 相关命令

    6. App抓包

    6.1 Fiddler 的使用

    6.2 移动端抓包\微信小程序\微信公众号

    7. SDK 工具介绍

    7.1 SDK目录介绍

    8. 调试命令

    8.1 am

    8.2 pm

    8.3 Dumpsys

    9. 安全工具介绍

    9.1 安全工具

    10. monkeyrunner

    10.1 什么是monkeyrunner

    10.2 monkeyrunner的作用

    11. monkey

    11.1 什么是monkey          

    12.Uiautomator

    12.1 什么是Uiautomator

    13. 自动化测试

    13.1 相关文章(概念,框架演示模式,效率提升方案)

    13.2 概念

    13.3 本质

    13.4 过程

    13.5 UI自动化测试的前提条件 

    13.6 不适合做UI自动化测试的软件产品

    13.7 最佳实践场景

    14. Appium

    14.1 Appium概念

    14.2 特性

    14.3 Appium是由nodejs的express框架写的 Http Server

    14.4 Appium 环境搭建

    14.5 查找页面元素,与selenium一致

    14.6 超控页面元素

    14.7 xpath

    14.8 Appium实战

    14.9 简单的架构

    14.10 自动化用例设计

    15. 测试全栈工具

    15.1 UI自动化工具和接口自动化测试工具​ 

    15.2 单元测试工具​

    15.3 性能测试工具 ​

    15.4 安全测试工具


    1. 测试点

    功能(正向)

    异常(例外)

    性能

    安全

    用户体验

    用例的写法

    简洁,测试点覆盖全面

    缓存

    蓝牙(可穿戴设备,特别关注,注意硬件测试有可能是单个硬件的故障导致测试不通过)

    2. 缓存

    2.1 什么是缓存

    缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据。如果找到了则直接执行,找不到的话则从内存中找。

    由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。

    Android缓存主要从手机与服务器网络交互角度考虑,采用缓存可以进一步大大缓解数据交互的压力,又能提供一定的离线浏览。

    2.2 缓存管理的适用环境

    (1)提供网络服务的应用

    (2)数据更新不需要实时更新,但是哪怕是3-5分钟的延迟也是可以采用缓存机制。

    (3)缓存的过期时间是可以接受的(不会因为缓存带来的好处,导致某些数据因为更新不及时而影响产品的形象等)

    (4)一定程度上可以支持离线浏览(或者说为离线浏览提供了技术支持)

    3. 适配测试

    3.1 为什么需要做适配测试

    分辨率UI问题;

    前置摄像头位置对ui的影响;

    不同的厂商会选择不同的硬件,硬件驱动也可能会出现问题;

    Android API 的问题,比如高版本API废弃了低版本的API,如果还是用低版本的API开发,在低版本下运行,就会造成程序的崩溃;

    厂商定制的系统,会围绕硬件的特性对系统API进行改动,造成使用标准API接口的应用程序在深度定制的系统上无法兼容。

       

    3.2 适配测试的基础测试点

    安装\卸载、UI、蓝牙、连网等等与硬件相关的功能点。

    3.3 适配测试的方法

    (1)明确确应用运营方案,明确用户群体,随着应用的用户数不断增加,逐步拓展需要适配的机型。无需在app首次发布前就适配大量机型(app首次发布往往是在验证产品的需求是否合理,验证产品是否是用户真正需要的东西,可以说发布的app就是为了改良的),这样做既影响产品发布速度,又浪费金钱。

    第一期、计划适配哪些机型

    第二期、计划适配哪些机型

    ….

    第N期、计划适配哪些机型

    备注:

    在前二期可以借助云测试,适配部分主流机型

    注意:不同用户群体所倾爱的手机不同(例如:年轻mm偏爱oppo,IT人士小米较多)

    (2 )确认适配机型的型号,系统类型以及分辨率

    根据适配统计中的信息(国内应用建议参考友盟),确认要覆盖测试的手机厂商、系统、分辨率、屏幕大小等信息确认需求,通过排列组合即可确认适配顺序和目标。

    具体实施方法:

    采购 (根据淘宝,京东等电商统计的手机销量排名购买)

    内部协调 (可以采用租赁内部员工手机的方式)

    租用 (专业手机租赁机构)

    云测试(推荐,相对成本较低)

    购买二手手机

    外包

    备注:外包app的测试有两种类型

    甲方提供适配机列表和适配手机(***公司为中国移动开发的某款app);

    甲方通过给乙方酬劳的方式进行适配工作。例如:合同中指定App需在10款手机中完成适配。在此之外每多出一部手机适配,甲方就需额外支付一定的费用。

    4. 云测试

    4.1 为什么需要云测试

    移动开发者面临着多终端时代的碎片化挑战,相对苹果单一的终端,Android设备碎片化更加严重,多种型号款式、多样的分辨率、加之设备自动化测试稳定性差,都让开发者头疼不已,在此背景下产生了移动云平台。

    4.2 云测试的基本流程

    简单的说,云平台就是为应用提供商提供真机来对应用进行测试,基本流程如下:

    应用提供商把apk通过网络上传至云平台

    >云平台将apk安装在自己平台提供的真机上

    >通过技术手段对apk进行测试并生成测试报告

    >云平台将测试报告反馈给应用提供商

    4.3 云测试主要主要解决的问题:兼容测试、单机调试

    Testin

    开始测试 https://www.testin.cn/

    百度云 http://mtc.baidu.com/

    腾讯云 http://wetest.qq.com

    https://data.qq.com/product/mta数据统计中心

    5. 性能测试

    5.1 移动端

    Apk(重点)、浏览器、微信公众号,微信小程序

    5.2 移动端和服务器端的性能指标

    https://blog.csdn.net/liwenxiang629/article/details/109527637

    5.3 辅助工具详解

    https://blog.csdn.net/liwenxiang629/article/details/119421594

    5.4 perfdog

    https://blog.csdn.net/liwenxiang629/article/details/119211587

    5.5 耗电量测试

    https://blog.csdn.net/liwenxiang629/article/details/118932940

    5.6 相关命令

    adb shell am start -S -W [packageName]/[activiytName]

    LaunchState:启动模式,上诉启动模式为冷启动

    WaitTime:系统启动应用耗时= TotalTime +系统资源启动时间(单位 ms )

    TotalTime:应用自身启动耗时=该 Activity 启动时间+应用 application 等资源启动时间(单位 ms )

    Google chrome 调试webview

    chrome://inspect/#devices

    adb shell am start -S -W

    com.smzdm.client.android/com.smzdm.client.android.app.WelComeActivity

    6. App抓包

    6.1 Fiddler 的使用

    Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是 web调试的利器。

    官网下载地址:http://www.telerik.com/download/fiddler

    6.2 移动端抓包\微信小程序\微信公众号

    https://blog.csdn.net/liwenxiang629/article/details/114366106

    7. SDK 工具介绍

    7.1 SDK目录介绍

    (1)常用命令:

    adb: adb shell命令 /system/bin 

    (-s\install\uninstall\start-server\kill-server)

    常用命令ls |more

    按Enter键:翻屏

    Logcat   adb logcat> file    adb shell logcat|grep ***

    (2)adb通过wifi连接手机

    1. 使用USB数据线连接设备

    2. 命令输入adb tcpip 5555 ( 5555为端口号,可以自由指定)。

    3. 断开 USB数据

    4. 再命令输入 adb connect <设备的IP地址>:5555

    5. adb shell

    Thread

    File Explorer)

                   

    (3)tools\mksdcard.exe  创建模拟器中sdcard的镜像文件

         \lint.bat 检查源码,发现潜在的问题

         \proguard 代码混淆

    http://blog.csdn.net/catoop/article/details/47208833

    build-tools\build number\aapt.exe 即Android Asset Packaging Tool,该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)

    aapt dump badging < file.apk>

    http://blog.csdn.net/hytfly/article/details/49364241

    zipalign.exe  对apk文件进行存档对齐的

    优化工具,目的是使所有的未压缩数据都从文件的开始位置以指定的

    对齐方式排列

    (4)GPU呈现模式分析(重要)

    主要反映应用的卡顿现象

    性能分析工具,启动 tools\monitor.bat

    Heap   关注:虚拟机的堆  ,hprof文件用mat分析

    Allocation tracker关注:对象分配的内存

    TraceView 关注:方法的运行时间

    需要开发加debug代码,android.os.Debug.startMethodTracing();和android.os.Debug.stopMethodTracing();

    在/sdcard目录中生成trace文件

    http://blog.csdn.net/guchuanhang/article/details/51181716

    Systrace 关注:方法以及系统方法占用的cpu时间

    http://blog.csdn.net/hfreeman2008/article/details/53538155

    两个概念

    surfaceflinger http://blog.csdn.net/xuesen_lin/article/details/8954508

    http://blog.csdn.net/w401229755/article/details/38420191

    binder

    http://blog.csdn.net/cauchyweierstrass/article/details/50701102

    卡顿的主要原因

    1.人为在UI线程中做轻微耗时操作,导致UI线程卡顿;

    2.布局Layout过于复杂,无法在16ms内完成渲染;

    3.同一时间动画执行的次数过多,导致CPU或GPU负载过重;

    4.View过度绘制,导致某些像素在同一帧时间内被绘制多次,从而使CPU或GPU负载过重;

    5.View频繁的触发measure、layout,导致measure、layout累计耗时过多及整个View频繁的重新渲染;

    6.内存频繁触发GC过多(同一帧中频繁创建内存),导致暂时阻塞渲染操作;

    7.冗余资源及逻辑等导致加载和执行缓慢;

    8.臭名昭著的ANR

    8. 调试命令

    8.1 am

    am全称activity manager,使用am可以模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等。

    例子 应用启动时间

    adb shell am start -S -W [packageName]/[activiytName]

    com.android.calculator2/.Calculator

    8.2 pm

    pm全称package manager,你能使用pm命令去模拟android行为或者查询设备上的应用等。

    pm list packages

    8.3 Dumpsys

    dumpsys | grep "DUMP OF SERVICE" //获得可查询的信息

    dumpsys cpuinfo | grep your app package

    9. 安全工具介绍

    9.1 安全工具

    Drozer

    https://labs.mwrinfosecurity.com/tools/drozer/

    代码混淆  http://www.cnblogs.com/classic/archive/2011/04/27/2030234.html

    腾讯金刚 ,扫描常见android 漏洞

    https://service.security.tencent.com/kingkong

    10. monkeyrunner

    10.1 什么是monkeyrunner

    是SDK自带的自动化测试工具

    核心:点击像素坐标的方式进行模拟用户操作

    脚本语言:jython

    10.2 monkeyrunner的作用

    Monkeyruner脚本可以支持安装卸载应用、进入任一模块、点坐标事件、按键事件、编辑文本、循环测试、截图对比(缺陷)等操作

    通过HierarchyViewer识别页面元素Id,但是速度太慢

    11. monkey

    11.1 什么是monkey          

    Money就是一组随机事件流

    adb shell monkey -v -p your.package.name 500

    com.android.calculator2

    http://blog.csdn.net/gzh0222/article/details/7222612

    12.Uiautomator

    12.1 什么是Uiautomator

    (1)Android 4.1 SDK中可以使用uiautomator 用来做UI测试。

    路径 sdk\platforms\android-24

    (2)SDK目录\tools\uiautomatorviewer.bat,一个图形界面工具来扫描和分析应用的UI控件,使用其抓取页面元素

    SDK目录\ platforms\android-17\ uiautomator.jar,一个测试的Java库,包含了创建UI测试的各种API和执行自动化测试的引擎。

    (3)在Android API Level18及其以上的版本增加了一个Android控件的属性ResourceId

    (4)推荐文章

    http://blog.csdn.net/u010961631/article/details/9616581

    http://developer.android.com/intl/zh-cn/tools/testing-support-library/index.html#UIAutomator

    13. 自动化测试

    13.1 相关文章(概念,框架演示模式,效率提升方案)

    概念
    https://blog.csdn.net/liwenxiang629/article/details/109385552

    框架演示模型
    https://blog.csdn.net/liwenxiang629/article/details/109462056

    效率提升方案
    https://blog.csdn.net/liwenxiang629/article/details/109527716

    13.2 概念

    自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

    13.3 本质

    编程测试,即 编写一个程序测试另一个程序

    13.4 过程

    录制脚本>修改录制脚本>回放脚本>查看报告。

    13.5 UI自动化测试的前提条件 

    (1)软件需求变动不频繁;
    (2)项目周期足够长;(一般回归6次,自动化测试与手工测试成本相当)
    (3)UI变动小

    13.6 不适合做UI自动化测试的软件产品

    游戏类
    软件的UI动态生成的内容较多;
    软件用户交互性功能多;
    注重UI体验的校验。

    13.7 最佳实践场景

    回归测试
    多场景(测试点)的随机组合测试   A B C D

    14. Appium

    14.1 Appium概念

    Appium 是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iOS, Android 和 FirefoxOS 平台。Appium 驱动苹果的 UIAutomation 库和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 协议。

    官网:http://appium.io/

    Github https://github.com/appium/appium

    14.2 特性

    (1)跨平台, native/ hybrid/ webview(H5) 

    (2)跨设备, android/iOS 

    (3)跨app,可以在多个app之间交互

    (4)不依赖APP开源代码

    (5)支持Selenium WebDriver / Selenium Grid 

    (6)跨语言, java/python/ruby

    (7)Open Source 

    14.3 Appium是由nodejs的express框架写的 Http Server

    Appium不是它⾃⼰创建⼀套新的测试框架,是将现有的优秀的框架进行了集成,以Selenium WebDriver的协议(JsonWireProtocol/Restful web service)统⼀起来. 使得这个框架满⾜多⽅⾯的需求。

    Appium启动自动化测试后,在被测设备上启动⼀个server,监听来⾃ Appium server的指令。不同的平台(如IOS,Android)采⽤不同的运⾏和交换⽅式。Appium将某个桩程序“侵入”平台,用于接受指令,来完成测试脚本的运行。

    在Android端,appium基于WebDriver,并利用Bootstrap.js,最后通过调⽤用UiAutomator(\Sdk\platforms\android-30)的命令,实现App的自动化测试。另外由于UiAutomator对H5的支持有限,appium引入了chromedriver来实现基于H5的自动化。

    14.4 Appium 环境搭建

    https://blog.csdn.net/liwenxiang629/article/details/117015669 

    14.5 查找页面元素,与selenium一致

    findElementByClassName(String using)

    findElementByCssSelector(String using)

    findElementById(String id) 

    findElementByLinkText(String using)

    findElementByName(String using)

    findElementByPartialLinkText(String using) 

    findElementByTagName(String using)

    findElementByXPath(String using)

    findElementsByAccessibilityId(String using)

    https://blog.csdn.net/liwenxiang629/article/details/116454410  xpath定位详解

    14.6 超控页面元素

    driver.findElementById("com.worktile:id/btn_login").click(); //通过控件id点击元素

    driver.findElementById("com.worktile:id/et_username").sendKeys("kevin @test.com"); //在控件中输入字符串

    driver.execute(“mobile: <commandName>”, <JSON serializable argument>) //按键命令,mobile: scroll", ImmutableMap.of("direction", "down")

    driver.setLocation(location);//设置位置信息

    driver.getBatteryInfo() //获取电池信息

    http://appium.io/docs/en/about-appium/api/

    http://appium.io/docs/en/writing-running-appium/caps/

    14.7 xpath

    (1)Web 元素识别,利用浏览器developer tool
    xpath详解 starts-with 和contains方法
    http://www.w3school.com.cn/xpath/index.asp  重点函数章节
    基础知识点如下 


    (2)xpath=.//*[contains(text(),'请输入用户名')] 获取页面中的文字

    14.8 Appium实战

    什么值得买

    1.首页的Tab页面切换

    2.个人页面设置性别

    查看apk的 AndroidManifest.xml

    java -jar apktool.jar d yourapk

    apktool.jar 是apk的反编译软件,下载地址

    https://bitbucket.org/iBotPeaches/apktool/downloads/

    启动activity

    <action android:name="android.intent.action.MAIN"/>

    <category android:name="android.intent.category.LAUNCHER"/>

    包信息 package=

    14.9 简单的架构

    (1)PO设计模式:Page Object直译就是页面对象,也就是把界面定位和业务操作分开。

    (2)ObjectStore:用来存放自动化测试中所需要操控的UI对象(变量类型为:public static final String )例如定义public static final Login_Button=””;表示登陆按钮的UI string路径。项目需要统一变量的命名规范,确保项目成员看到定义的变量名称就能够了解其对应的页面UI元素是什么。
    parseObject的应用,考虑如何设计

    (3)businesslib:把常用的场景写成方法,便于用例设计人员复用。

    (4)利用junit框架中执行完成后导出的xml日志,点击下图中的Export

    14.10 自动化用例设计

    (1)场景设计,一个testcase中包括一个完整的流程,流程中包括若干个点(各个点之间有前后关联),每个点都用断言校验。

    (2)测试点的设计,各个测试点之间没有任何联系,一个testcase中只有一个测试点。

    (3)注意单元测试中的setup和teardown

    (4)Junit中顺序执行用例,用例顺序排序 case1_   case2_

    @FixMethodOrder(MethodSorters.NAME_ASCENDING)
    import org.junit.FixMethodOrder;
    import org.junit.runners.MethodSorters;

    (5)使用suite管理用例集合
    @RunWith(Suite.class)
    @SuiteClasses(case1.class,case2.class)
    public class AllTests {

    }
        补:
    Junit3
    Junit4
    TestNg 
    Junit5

    15. 测试全栈工具

    15.1 UI自动化工具和接口自动化测试工具

     

    15.2 单元测试工具

    15.3 性能测试工具
     

    15.4 安全测试工具

    【知识点补充1】

    (1)功能测试(基于场景的测试:正常+异常场景)、性能测试、安全测试的思路、适配测试、易用性测试

    (2)移动端测试

    终端(各种设备+手表)+手机(ios +android),ios的测试,直接使用mac本(既可以做android开发又可以做ios开发),不要在windows上搭建mac的虚拟机

    android (apk+微信类(小程序+公众号)+android浏览器)

    apk 类测试(重点)

    android浏览器的测试等价于web浏览器,主要差别是UI(屏幕大小)

    我们的测试是基于android 应用的测试,如果有机会进入小米、oppo,vivo,华为  (自身的系统+自带应用)

    移动设备的核心是,根据用户设备屏幕的大小来设计自身的ui

    (3)做app 功能的时候,大家可以参考竞品(我们的功能跟竞品的功能一定是大于等于的关系,要特别关注易用性测试)

    这两次课程开发内容少一些,我会根据进度引入一些android 自动化测试的东西

    (4)docker stats container id     监控单个容器的性能

    物理机 ,里面有十个docker ,通常的监控方式,都是对整个物理机的监控

    1.docker stats id > 输出到某个文件(产生数据),文件的产生格式,与stats  的参数有关系

    2.我们通过代码(python 也可以是java,找到对应的模块即可),对数据进行解析,并生成图片并保存

    3.在需要使用图形界面的地方调用步骤2中生成的图片即可

    (5)做android 测试最重要的两个技术点:1.adb 2.logcat 看日志

    (6)android studio 是android 应用的开发ide,他是idea(android开发插件)+android sdk(android 开发的jar包,以及一系列工具)

    把下面两个路径加到环境变量中

    C:\Users\kevin\AppData\Local\Android\Sdk\platform-tools

    C:\Users\kevin\AppData\Local\Android\Sdk\tools   

    (7)android 系统以及开发的基础知识

    (8)java 代码被编译成dex 字节码,在虚拟机中运行,原因是性能考虑,dex字节码性能更高

    (9)android各个版本的新功能以及api的变化可以查看

    https://developer.android.google.cn/about/versions/

    adroid 逐渐变得稳定完善是从4.4开始的

    (10)每一个应用的启动本质上是启动了一个进程,有好多应用会有多个进程

    我们的一个ui页面就是一个activity,activity 本质就是类

    各种状态,就是对应了某个方法,然后我们呢需要重写某个方法

    当activiy被打扰的时候,无论进入onpause 或者onstop的状态,都会进入到方法onpause 或者onstop ,在方法里会对当前的数据和context进行保存

    结束被打扰,进入到onreusume状态,即进入到onreusume方法,在方法里对你保存的数据和context 进行恢复,确保在running状态时继续正确运行

    每一个activity 都会对应一个同名的xml 资源配置文件 res\layout

    webview 是activity的一个资源组件,在里面可以显示web相关内容

    在配置文件中

    activity  中这个标签代表着启动类

     <category android:name="android.intent.category.LAUNCHER" />

    在android开发中没有 main方法,先运行哪个activity就是通过android.intent.category.LAUNCHER

    contentprovider 提供接口,让其他应用访问内容(访问是有权限控制的)

    (12)看xml

    看资源和AndroidManifest.xml

    java -jar apktool.jar d wt-android-3.18.0.apk

    (13)android app >接口调用 >webview(展示网页)>调用到后端的服务

    (14)通过PC 端chrome可以调试你的webview中的元素,但是前提是代码中把调试开关打开!!!!

    (15)浏览器是一个应用程序,而浏览器引擎是浏览器的核心,他负责处理js,做页面对象的展示

    (16)web 功能点设计,就是一句话。安卓app的测试用例,更重要的作用是列出要测试的点,怕遗漏了。而不侧重每个用例的详细步骤的描述。

    比如:

    用例:微信发送文字消息

    具体操作:

    正常长度文字

    常超文字

    文字带表情

    文字中有特殊符合

    文字有代码(安全性)

    (17)app 核心功能点的使用,从主页面点击不超过三下,就能够使用

    (18)处理数据

    cpu>内存>磁盘

    第一次,磁盘读取,到内存,cpu从内存读取数据

    第二次,先判断要读取的数据是否在内存中,如果在则直接从内存读取,如果不在重复第一步

    作为一个扩展!

    处理数据

    cpu>内存>磁盘 等价于

    请求数据>缓存服务器(redis)>数据库

    手机>手机数据>服务器数据

    比如:

    双十一来了

    周期变长,1-11(周期变长:减少同一时间,并发量过大)

    提前加入购物车(把商品加入到缓存服务器了),即使缓存服务器数据丢失,也无所谓,如果丢失在查库!!!!!

    请求于请求之间,间隔10ms,压力都会有显著改善

    (19)手机>手机数据>服务器数据

    从手机中读取数据,

    第一可以减少服务器的压

    第二没有网络的时候,应用也有数据展示

    第三 要确认数据在手机中的缓存时间

    注意:缓存虽好,但不是万能的方法,例如实时性强的软件就没有缓存机制,航班、铁路、股票

    打车软件,个人觉得没有必要试时,三十秒左右的缓存都可以

    缓存是android 应用中特别特别重要的技术

    (20)适配测试

    简言之,就是应用在不同设备中的表现

    华为      小米         oppo    vivo

    11         10           12         9

    分辨率1  分辨率2  分辨率3  分辨率4

    屏幕1     屏幕2     屏幕3     屏幕4

    通常,各个品牌主流手机 都至少有一部(真机)

    各个大厂都有云测平台,原因是什么?

    各个大厂功能相差不多,比较价格!!!!!

    个人非常推荐云真机的租赁,可以验证个别机型上是否纯在某些问题

    (21)android 应用的性能测试,是不关注并发的,所谓的并发 是对服务器的压力!!!!!!!

    对于android 应用来讲,性能主要的关注点:

    应用对手机的cpu、应用的内存占用、耗电量、流畅度(卡顿)、移动网络时流量的消耗

    apk

    浏览器

    微信小程序      >发送请求到服务器(而对于服务器来讲,我不关注你是什么设备发来的,服务器都是处理连接)

    公众号

    终端

    (22)服务器的入口程序,会把不同的终端请求进行解析,然后返回不同的资源文件

    (23)adb 是连接我们手机和电脑的一个窗口

    adb shell 可以进入手机的内核

    通过 top命令持续监控 应用 top |grep 你的应用名称

    adb shell am start -S -W [packageName]/[activiytName]

    LaunchState:启动模式,上诉启动模式为冷启动

    WaitTime:系统启动应用耗时= TotalTime +系统资源启动时间(单位 ms )

    TotalTime:应用自身启动耗时=该 Activity 启动时间+应用 application 等资源启动时间(单位 ms )

    过渡绘制

    GPU分析

    都是在手机的开发者选项里有

    启动时间

    看cpu 内存 网络 top(perfdog更加直接,但是现在收费)

    耗电量,直接用系统自带的apk 查看耗电量即可

    【知识点补充2】

    (1)在测试的时候,一定要考虑角色权限,不同的角色,只拥有该角色的权限!!!!!!
    比如说,一个普通用户,不能使用管理员的功能权限;
    一个管理员不可以随意的看普通用户的消息(查看规则是?)

    (2)场景 大家可以理解为,一系列功能点的集合(组合)

    (3)谈测试:功能\性能\安全\易用性\适配  最后可以谈谈核心场景的测试

    (4)sdk 中最重要的工具就是
    adb
    adb shell 进入手机
    logcat
    dumpsys

    (5)代码混淆,使得类名 方法名 变量名无法猜测,但是仍然能看到源码,如果源码也不想暴露,那么就需要用到加壳方案了(收费方案)

    (6)如果公司不接受,把apk 上传到第三方平台进行扫描(腾讯金刚),那么就需要掌握drozer等工具的使用。

    (7)启动 android studio  >Tool> AVD Manager(创建虚拟机) 和SDK Manager(管理sdk)

    (8)monkeyrunner 最早进行android 自动化测试的工具
    Monkeyruner脚本可以支持安装卸载应用、进入任一模块、点坐标事件、按键事件、编辑文本、循环测试、截图对比(缺陷)等操作
    该工具是,云测中,最基础的自动化测试核心工具,他只能针对页面的坐标进行模拟!!!!!

    (9)monkey 发送随机事件流,对于普通应用来讲,意义不是很大,个人觉得最有用的场景就是 对于游戏的随机点击测试!

    (10)Sdk\platforms\android-30  
    android.jar 就是开发android 应用的api
    uiautomator.jar  就是做ui自动化测试的api

    (11)monkeyrunner>robotium 最早>appium(android自动化测试中,就是调用了uiautomator中的api来操控页面中的ui元素)

    (12)以web自动化测试的实例,来了解android自动化
    web 的主流工具是selenium 3,规范了一套webdriver协议,这个协议是http
    ui 自动化主要的技术是识别到页面的元素,识别到元素后,对元素进行一系列的处理,包括点击、写入、选择、(移动app中的ui元素 还会加入一系列的手势操作)
    一搬来讲,ui自动化测试都会有一款工具,能够录制我们对于ui元素的操作!

    (13)katalon recorder  是一款web录制工具,他支持firefox和chrome,是二者浏览器的一个插件
    以web 为例,我们在使用录制工具的时候,操控页面中的元素,录制工具会对其进行识别(id,class,xpath,css)
    任何一个web 元素都有一个唯一的xpath 或者css用来进行识别
    id =su
    //*[@id="su"]
    #su
    如果一个web 页面中的元素,没有id class 这些属性,那么要想对其进行识别,只能使用xpath (移动端自动化测试,很多都是用xpath进行定位的)或者css
    页面中的元素,并不是只有一种识别方式,只要识别方式具有唯一性就可以!!!!!!!!
    自动化测试录制工具,第一步,就是对页面中的元素进行查找(唯一性的)

    (14)通常录制的代码时不稳定的,要想使得录制的代码稳定就需要对其进行脚本化处理,生成对应的脚本
    把脚本引入到ide中,引入脚本所需要的jar包,进行自动化代码的开发

    (15)自动化测试前提条件是设计好用例
    第一步,识别页面中的元素(有的工具可以通过录制的形式,识别到页面中的元素;如果工具不提供那么需要自己手动实现)
    使用appium也就是uiautomator 时候,我们可以通过\Sdk\tools\bin\下的uiautomatorviewer.bat 对页面中的元素进行识别

    (16)步骤自动化+结果校验的自动化=自动化测试

    (17)新功能的测试,不适合做自动化测试;自动化测试特别适合回归测试

    自动化测试依赖于页面ui元素的属性,所以如果ui不稳定,那么自动化测试是不适合的

    自动化测试是脚本,脚本就会有bug,我们自动化测试的目的是发现产品的bug,但是很多情况下是因为自动化测试脚本执行的失败而影响了测试结果!!!!
    自动化测试若想有效开展,本质还是测试人员编写的测试代码要健壮!!!!
    测试代码不健壮的原因:
    1测试人员代码能力不足
    2没有人对测试人员编写的代码进行测试

    互联网产品不太适合做自动化测试,因为ui变化快,功能更新快;企业级软件适合做自动化测试jira、禅道、ehr就非常的适合做自动化测试了

    移动互联网产品适合做自动化测试的少,但是也建议大家去写自动化测试脚本,原因是能够提升代码水平

    (18)脚本用例的并行
    一个用例 有 12345,我们可以顺序跑12345,也可以多线程分别跑 12345

    (19)appium
    自动化测试的核心是操控页面中的元素,而appium并未编写关于超控页面ui元素的api

    (20)applium/selenium
    !!!ide (代码java、python、ruby)>代码会被转化成webdriver协议>服务端来解析这个协议(appiumserver\各个浏览器的driver)

    (21)driver.findElement(By.id("kw")).click();
    driver.find_element_by_id("kw").click()   都会转化成协议POST     /session/{session id}/element/{element id}/click  https://www.w3.org/TR/webdriver/#element-click
    @driver.find_element(:id, "kw").click
    appium server 0.0.0.0代表本机,可以指定appiumserver的ip,如果代码跟appium server 不在一台机器上,那么在代码中设置如下:
    driver = new AndroidDriver(new URL("http://remoteip:port/wd/hub"), capabilities);

    By.xpath("//*[@text='主页']")  表示在当前页面中找"主页"元素

    在android 里常用的api 也就是 click sendkeys

    (22)在做appium测试时,我们要从androidmanifest 中获得两个信息, 第一个就是package名,第二个就是启动的activity信息

    (23)po模式   把页面中的ui元素,赋值给变量,然后再脚本中调用这些变量即可,好处有两点
    1.一旦页面中元素的属性发生了变化,我们只需要修改变量的赋值,而无需更改变量了!!!
    2.我们可以通过变量的命名规则来很清晰的定义我们再页面中超控的元素是什么


    (24)总结:
    android 测试方法 功能 性能 安全 适配 易用性
    工具 sdk   adb logcat dumpsys     
    GPU呈现模式分析(重要)
    过渡绘制
    fiddler 接口的抓包
    appium(monkey、monkeyrunner)
    自动化测试的原理,适合自动化测试的项目和不适合自动化测试的项目

    展开全文
  • 对比了下App测试中Android测试和IOS测试之间的区别,给你分享一下: 1 . Android长按home键呼出应用列表和切换应用,然后右滑则终止应用; 2. 多分辨率测试: Android端20多种,ios较少; 3. 手机操作系统:...

    对比了下App测试Android测试和IOS测试之间的区别,给你分享一下:
     


    1 . Android长按home键呼出应用列表和切换应用,然后右滑则终止应用;


    2. 多分辨率测试:

    Android端20多种,ios较少;


    3. 手机操作系统:

    Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash);


    4.  操作习惯:

    Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等;


    5. push测试:

    Android:点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转;

    ios,点击home键关闭程序和屏幕锁屏的情况(红点的显示);


    6.  安装卸载测试:

    Android的下载和安装的平台和工具和渠道比较多,ios主要有app store,iTunes和testflight下载;


    7.  升级测试:

    可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法);
     


    推荐阅读:

    App测试与Web网站测试的主要区别在哪?

    一个人如何对APP轻松完成海量机型测试?为你揭晓一个测试方式

    移动App发生崩溃的原因有哪些?

    直播软件APP有哪些功能点?测试时需要关注哪些方面?

    直播软件APP有哪些功能点?测试时需要关注哪些方面?

    手游APP性能测试,需要重视这些常见的性能测试指标

    微信小程序测试,有哪些测试要点?

    安卓手机APP稳定性测试的方法-monkey测试

    手机APP测试主要测试点精要总结

    APP兼容性测试工具有哪些?

    细说几点保障APP兼容性覆盖测试的方式

    展开全文
  • Android 测试机选购指南

    千次阅读 2020-03-23 16:38:37
    这几天一直在选购公司的测试机,如何选择也是很令人头疼,记录下自己选择Android测试机的心得。 首先,如果当前公司还没有测试机,要选购几台,那么友盟榜单是一个很好的参考。 从榜单可知,国内2020年2月, ...

    这几天一直在选购公司的测试机,如何选择也是很令人头疼的一件事,这里记录下自己选购Android测试机的心得。

    首先,如果当前公司还没有测试机,要选购几台,那么友盟榜单是一个很好的参考。(友盟手机榜单已下限,无法访问了)
    可以看这个榜单 艾瑞 移动设备指数
    在这里插入图片描述
    以下是友盟的榜单
    在这里插入图片描述
    在这里插入图片描述
    从榜单可知,国内2020年2月,
    Android9和Android8占比高: Android9占据32.5%,Android8占据24.5%
    华米OV是大头:华为、小米、OPPO、VIVO占据了国内市场绝大部分Android市场份额
    在这里插入图片描述
    如果仅是选购几台,可以从排行榜TOP10中进行选择。

    如果你们接入了友盟,也可以在友盟的你们App访问机型榜单中进行选择。
    在这里插入图片描述
    这里可以选择机型、分辨率、操作系统
    点击导出即可导出相应的排行榜。
    在这里插入图片描述

    然后,如果要覆盖所有的系统版本,选购更多的手机,那么可以在京东拍拍网上进行筛选。
    再此,我整理了一份,售价在800以内,京东拍拍网上销量最高的机型,供大家参考。
    在这里插入图片描述
    我们公司已有vivo y53、vivox9,红米note5、realme Q (刘海屏),荣耀 play3(挖孔屏) 等手机,本次选购,增加了
    oppo A37,Android 5.1,价格308元
    vivo X7,Android5.1,价格548元
    华为P10,Android7.0,价格788元
    oppo R11,Android7.1,价格699元

    最后,公司的测试机,面对市场上这么多机型终究是有限的。
    此时,可以用云测试平台的云真机、兼容性自动化测试进行补充。
    可以随时获得市面上所有的机型进行测试,同时节约了公司成本。
    在这里推荐几个云测试平台:
    详见
    各移动云测试平台对比

    附件

    Android测试机选购.xls

    展开全文
  • 一、什么是自动化测试自动化测试是把以人为驱动的测试行为改成机器执行,通过精心设计的测试用例,由机器按照测试用例的执行步骤对应用进行自动操作,然后输出结果,由测试人员进行比较。自动化测试可以极大的节省...
  • Android测试总结

    千次阅读 2016-07-25 21:17:29
    Android测试总结Android测试总结 简介 代码测试 Junit Mockito Mockwebserver Android自动化测试 Android monkey Android monkeyrunner Android UIAutomator Android Espresso 自动化测试示例 Monkey Monkey Runner ...
  • 几款流行的Android测试框架

    千次阅读 2017-02-21 14:16:59
    谷歌的Android生态系统正在不断地迅速扩张。...不过幸运的是,Android(还有iOS)开发人员可以无限制地访问一些先进的基于云的解决方案,如Testdroid Cloud,就可以在大规模的真实设备上执行自动化测试以确
  • Android 测试上传头像到服务器

    千次下载 热门讨论 2014-12-25 11:29:33
    Android 测试上传头像到服务器, 拍照或者选择文件, 对小米手机进行特殊处理
  • Android 测试存储设备的读写速度

    千次阅读 2017-09-27 09:55:42
    使用Linux的dd命令可以很快捷的获取存储的读写速度。写入测试:for (int i = 0; i (); i++) { MyLog.i("USB.Write>Path:" + arrayFilePath.get(i)); if (new File(arrayFilePath.get(i)).e
  • Android 测试支持库提供了大量用于测试 Android 应用的框架。此库提供了一组 API,让您可以为应用快速构建何运行测试代码,包括 JUnit 4 和功能性用户界面 (UI) 测试。您可以从 Android Studio IDE 或命令行运行使用...
  • android 测试开发概述

    千次阅读 2016-04-12 12:33:37
    android测试主要有两种 1.本地测试(local test) 只在计算机中运行,这些测试运行在本地JVM中以减少执行时间。这种测试适合不需要android framework或者可以用模拟出的依赖来代替的测试。 2.设备测试...
  • 5个最佳的Android测试框架(带示例)

    千次阅读 2016-08-15 09:57:20
    谷歌的Android生态系统正在不断地迅速扩张。有证据表明,新的移动OEM正在攻陷世界的每一个角落,不同的屏幕尺寸、ROM /固件、芯片组以及等等等等,层出不穷。于是乎,对于Android开发人员而言,处理存储碎片变得...
  • Android 测试

    千次阅读 2017-08-04 10:45:33
    Android 测试Android 测试Android 测试Android 测试Android 测试Android 测试Android 测试Android 测试
  • Android测试驱动开发实践2

    千次阅读 2013-10-08 17:25:38
    Android应用开发中,采用测试驱动开发方法,可以同时兼顾开发效率和软件质量,避免片面强调速度而使软件质量下降的问题,同时采用TDD所倡导的测试-实现-重构流程,可以使系统不停进化,最终达到目的。但是在...
  • * 测试当前摄像头能否被使用 * * @return */ public static boolean isCameraCanUse() { boolean canUse = true; Camera mCamera = null; try { mCamera = Camera.open(0); mCamera.setDisplayOrientation...
  • AndroidStudio测试用例合集(一)

    千次阅读 2022-04-10 16:43:40
    android单元测试UT用例
  • Android 测试支持库提供了大量用于测试 Android 应用的框架。此库提供了一组 API,让您可以为应用快速构建何运行测试代码,包括 JUnit 4 和功能性用户界面 (UI) 测试。您可以从 Android Studio IDE 或命令行运行使用...
  • android测试键值 apk

    热门讨论 2013-04-12 16:59:48
    一个测试键值的apk,将apk安装到系统,操作键盘或者遥控器,会把相应键值打印出来
  • 推荐android测试相关:http://www.jianshu.com/collection/b26df74781cb单元测试的流程使用AndroidStudio进行单元测试时,与当前网上众多资料进行比较。在较新版本下(当前我使用的是2.0)的studio中不需要自己进行...
  • Android移动端测试——adb、monkey

    万次阅读 2022-03-04 09:40:33
    点击确定,保存 然后打开cmd,adb version看看如果出了版本号,就说明装成功了 adb命令 1、连接手机:adb devices 2、进入Android设备:adb shell 当电脑上连接设备不止一台时(只有一台模拟器一台手机),指定设备:...
  • 如何在Android中编写测试

    千次阅读 2022-01-13 22:11:29
    如何在android中编写测试类 引入依赖 androidTestImplementation 'com.android.support.test:runner:1.0.2' 在androidTest目录下编写测试类,在此目录下的测试类会在模拟器或者真机上运行,而test目录下的测试...
  • Android测试方法总结汇总

    千次阅读 2016-02-23 15:31:57
    由于工作的需要,最近要对Android客户端软件进行测试,便学习了一下Android客户端测试的方法,现在与大家分享一下。 1.在Android客户端测试方面可以分为如下几个大的类别: 1、安卓黑盒测试工具 1)包括本身...
  • Android测试之Robotium自动化测试框架

    万次阅读 2017-06-14 00:17:07
    Robotium是一款国外的自动化测试框架,是一款免费的Android UI测试工具,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行...
  • Android 和 Ios测试的区别

    千次阅读 2021-03-15 10:27:07
    Android 和 Ios测试的区别 根据平时工作和查看一些相关资料的积累,总结了Android和Ios在测试上存在的异同,可能会有遗漏的地方,欢迎各位评论补充完善,共同进步。 Android 和 Ios测试的区别主要包括以下几点: 1、...
  • Android测试原理(二)

    千次阅读 热门讨论 2014-02-25 12:53:28
    Android的测试API是基于JUnitAPI和扩展的instrumentation 框架以及特定的Android测试类。    2.3.1. Junit 你可以使用TestCase类来做单元测试而不调用 Android的API。TestCase 是 AndroidTestCase类的父类,...
  • Android 测试技能树

    千次阅读 2015-05-01 16:07:46
    Android 测试技能树Android 基础知识 Android 的体系结构 apk 的组成结构 adb 命令的使用 Android 的四大组件 Activity 的生命周期 … 测试/开发环境的准备 JDK 安装 SDK 安装 IDE 的使用(Eclipse/Android Studio) ...
  • android测试用例编写

    千次阅读 2014-11-24 23:28:11
    android中写测试用例也是用junit,测试用例代码风格是junit3的风格。java中测试用例中使用junit3需要继承TestCase(junit4则不需要,直接用annotation即可);android测试用例需要继承AndroidTestCase。连重新的...
  • 如上,如果你的测试文件在上面这个目录下,将依赖改为 androidTestImplementatio开始即可
  • 必知必会 | Android 测试相关的方方面面都在这儿

    万次阅读 多人点赞 2018-03-20 11:29:23
    很多时候,由于迭代周期有限,开发任务多、时间紧,导致很多产品基本没有单元测试,从而也导致很多同学这块都是盲区。其实我对测试接触也非常少,所以深度方面是很难做到了,大家作为扫盲文对待即可,当然我相信只要...
  • 手工测试覆盖 1. 将 3 个类文件放入项目 test 文件夹 FinishListener package com.huisheng.meetingbusinessterminal.test; public interface FinishListener { void onActivityFinished(); void ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 488,983
精华内容 195,593
关键字:

android测试

友情链接: uploadImage.zip