-----感觉很实用,怕博主删,转载下,原文链接:
https://blog.csdn.net/bbs11007/article/details/99699316

一、安卓系统知识概述
1.1 安卓系统架构
应用程序层
应用程序框架层
系统运行库库层
系统内核层
四大组件和API
1.2 安卓权限系统
Android操作系统其实是一个多用户的linux操作系统,每个android应用使用不同的用户,运行在自己的安全沙盘里。系统为所有的文件设置权限,这样一来只有同一个用户的应用可以访问它们。每个应用都有自己单独的虚拟机,这样应用的代码在运行时是隔离的,即一个应用的代码不能随意访问或者意外修改其他应用的内部数据。

1.3 认识adb与安卓间的通信
ADB,即Android Debug Bridge,他是Android提供的一个通用的调试工具,借助这个工具,我们可以很好的调试开发的程序,adb.exe在安装的Android的sdk开发包platform-tools目录下。

它是一个客户端/服务器架构的命令行工具,主要由以下3个部分组成:

adb客户端:一个用于用户开发程序的电脑上运行的客户端
adb服务端:负责客户端与用户设备的守护进程的通信
adb daemon(守护进程):一个以后台进程的形式运行于模拟器或者物理手机设备上的守护程序
二、安卓APP测试流程图(转)

三、安卓App测试点
3.1 UI测试
按钮、对话框、列表和窗口等静态界面测试
内容(列表页、提示框)等动态界面测试
APP与系统相关联之处的UI测试,如:状态栏/锁屏弹出的提示,设置中的应用显示、手机界面的APP显示等
APP与launcher间的交互、与系统其它应用间的交互、与系统本身的交互UI测试
3.2 兼容性测试
不同手机品牌
不同手机的操作系统以及操作系统的不同版本
不同手机屏幕分辨率和不同屏幕尺寸(一般测试主流分辨率)
网络环境的兼容性 (WiFi、移动网络、弱网环境、无网络环境、专网环境)
与本地软件的兼容性
APP匹配硬件设备测试(耳机、蓝牙、NFC、照相机、手环等等)–根据APP的业务需求特性
3.3 安装卸载/本地升级测试OTA
应用程序的正常安装,图标显示正常,安装后正常运行(不同操作系统下安装)、版本号是否正确
不同版本之间的覆盖安装(版本一致,版本大于、版本小于)
覆盖安装后,用户数据的保留
应用程序的正常卸载,卸载后用户数据是否删除
安装/卸载过程中异常情况(断电,空间不足等)
安装/卸载过程是否支持取消操作
手动式、命令式adb、自动式(第三方辅助工具)安装
安装前后恢复出厂设置,app/数据是否丢失、版本是否改变
安装/卸载权限,是否有安装卸载权限,无权限时是否可安装,
root前后安装测试
直接拷贝至手机system/app目录下是否直接使用
3.4 版本在线升级测试FOTA
当客户端有新版本时,有更新提示。
当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动app时,仍能出现更新提示。
当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端。下次启动app时,仍出现强制升级提示。
当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。
用户下载/安装版本过程中断网或断电异常情况,是否可恢复,是否支持断电下载
恢复出厂设置后是否可以支持修改
下载升级包后删除,是否还可以在继续下载/是否还有推送提示
整机FOTA升级、独立APP应用FOTA升级策略
3.5 交互测试
应用的前后台切换
杀进程
锁屏
长时间待机
中断
摇一摇、翻转
开关机、重启
3.6 并发测试
应用与应用间并发场景—使用APP时接收微信/QQ等来信(含视频呼叫)
应用与定位场景----使用APP时不影响定位准确性
应用与通话/短信场景----使用APP时来电话/短信
应用与多媒体场景 ----使用APP时播放音乐/电影
应用与流量并发冲突场景----使用APP时数据业务流量/wifi使用不受影响,且稳定,没有过大消耗流量场景
应用并发时的功耗和数据流量场景
3.7 客户端数据库测试
客户端后台数据的增、删、改、查等数据更新测试
数据为空的情况测试
检查客户端数据存在时,app数据是否能自动从客户端数据中取出,检查客户端数据存在时,app数据是否能自动从客户端数据中取
当业务对数据进行了修改、删除后,客户端和服务端是否会有相应的更新。
没有root权限,是否可以删除全部或重要系统文件,会导致app或手机无法使用的文件
3.8 接口测试
业务逻辑功能测试
边界值测试
参数组合测试
异常情况测试
3.9 性能测试
单位时间耗电量----功耗:软件手段(工具、log)、硬件手段(电流表仪器)、其他策略(专项待机、随机待机、非待机)
单位时间网络流量—公网数据/wifi流量、吞吐量
移动端相关资源利用率—CPU、内存容量是否影响
业务响应时间----响应速度
帧率 ----流畅度
稳定性
可靠性/可恢复性
压力测试
3.10 安全性测试
反编译测试–代码示否混淆(逆向工程)
app签名/密钥/加密测试
完整性校验
敏感信息测试
软键盘劫持
权限设置检查–root
组件安全测试–四大组件:Activity、Service、ContentProvider、Broadcast
服务端接口测试
攻击类测试–SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造、越权访问
安全测试工具–扫描
基础环境–公网环境、网络环境、数据存放环境
数据安全(传输、通信、账户安全)
程序/代码安全–后门
业务安全
3.10 其他测试
认证测试
扣费测试
应用商店发布测试
上传下载测试
模拟用户体验测试----测试人员测(公司内部人员)
用户体验测试----给实际用户使用(非公司内部人员)
四、工具技术(第三方)
4.1 系统监控常用ADB命令
1.4.1 查看应用启动耗时

adb-s *设备id shell am start -W -n 应用名.app/ .MainActivity
1.4.2 获得电池电量和电池温度

adb shell dumpsys battery
1.4.3 获得最耗资源的应用

adb -s ***设备id *** shell top -m 6 -n l -s cpu
1.4.4 获得内存使用情况

adb -s 设备id adb shell dumpsys meminfo 应用程序包名
1.4.5 获取指定程序cpu使用情况

adb -s 设备id shell dumpsys cpuinfo 应用程序包名
1.4.6 获取指定程序PID

adb shell “ps | grep packageName”
4.2 需要功能
检测当前时间被测应用的CPU使用率 以及 总体CPU使用量。
检测当前时间被测应用占用的内存量、百分比,剩余内存量。
检测应用从启动开始到当前时间消耗的流量数。
测试数据写入到CSV文件中,存储在手机/storage/sdcard0目录下,同时支持以邮件形式发送文件。
可以选择开启浮窗功能,浮窗中实时显示被测应用占用性能数据信息。
在浮窗中可以快速启动或者关闭手机的wifi网络。
4.3 实现原理
4.3.1 监控CPU的实现原理

Android系统是基于Linux内核的,所以系统文件的结构和Linux下一样,系统总体CPU使用信息放在/proc/stat文件下,/proc/cpuinfo文件存放CPU的其它信息,包括CPU名称,直接读取即可。Emmagee是将选中应用的PID传入,读取/proc/PID/stat文件信息及可获取该PID对应程序的CPU信息。

4.3.2 监控内存的实现原理

内存和cpu的处理方式类似。先获取到当被测应用的PID,然后按照PID从 /proc/meminfo文件中获取当前被测应用占用的内存信息。

4.3.3 监控流量消耗的实现原理

系统中有存放整体流量和针对当程序的流量统计,/proc/net/dev和/proc/uid_stat/UID下存放tcp_rcv和tcp_send文件,分别存放下行流量和上行流量,操作前后相减就得出结果 。

4.3.4 监控电量的实现原理

电量、电压和温度情况是通过监听系统的电池管理事件的广播来获取的。

4.3.5 监控启动时间的实现原理

我们点击界面的开始测试时,程序会启动,之后所有的数据统计以及更新进行处理的。会在onStartCommand()里面启动一个线程“handler.postDelayed(task, 1000)”,进行数据的更新同时会尝试通过ActivityManger从logcat中获取到软件的启动时间。

红色框框内的东西就是通过调用一个管理Android帧缓冲区的系统服务SurfaceFlinger来获取用于计算fps的帧数据,具体可参考: Android fps的计算方式。
————————————————
版权声明:本文为CSDN博主「测试狂人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bbs11007/article/details/99699316

【转】安卓APP测试流程与技术知识相关推荐

  1. 安卓APP测试流程与技术知识大全介绍--可用于面试储备

    ----再别人基础上新增------全-----有不足/遗漏请补充------- 一.安卓系统知识概述 1.1 安卓系统架构 应用程序层 应用程序框架层 系统运行库库层 系统内核层 四大组件和API ...

  2. 安卓APP测试知识大全【面试储备】

    一.安卓系统知识概述 1.1 安卓系统架构 应用程序层 应用程序框架层 系统运行库库层 系统内核层 四大组件和API 1.2 安卓权限系统 Android操作系统其实是一个多用户的linux操作系统, ...

  3. 安卓APP测试要怎么测,测试流程和重点有哪些?我来告诉你

    目录 一.安卓系统知识概述 1.1 安卓系统架构 1.2 安卓权限系统 1.3 认识adb与安卓间的通信 二.安卓APP测试流程图 三.安卓App测试点 3.1 UI测试 3.2 兼容性测试 3.3 ...

  4. 01_安卓APP开发流程概览

    目录 安卓APP开发流程 前言 一.流程概览 二.分步概述 1.需求分析 2.产品原型设计 3.UI视觉设计 4.数据库搭建 5.服务端开发 6.Android客户端开发 7.APP程序测试 8.上传 ...

  5. App测试流程,测试前途

    1. App测试流程流程图 1.2 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向主管确认 ...

  6. 开发安卓app游戏_「安卓APP开发流程」安卓APP如何开发的?

    21世纪,智能手机走进了人们的生活,现在的智能手机的操作系统基本分为两种,一种是IOS系统(苹果系统).安卓系统,其中,安卓系统是开源的,所以很多品牌商会讲安卓包装成自己的系统,但核心还是一样的,都是 ...

  7. 安卓app开发方案_「安卓APP开发流程」安卓APP如何开发的?

    21世纪,智能手机走进了人们的生活,现在的智能手机的操作系统基本分为两种,一种是IOS系统(苹果系统).安卓系统,其中,安卓系统是开源的,所以很多品牌商会讲安卓包装成自己的系统,但核心还是一样的,都是 ...

  8. 精通移动App测试实战:技术、工具和案例

    本文是根据书籍<精通移动App测试实战:技术.工具和案例>进行学习记录,方便后期查阅,感谢书籍作者提供的学习机会. 目录 第1章 Android系统基础内容介绍 1.6创建模拟器 第2章J ...

  9. 6759字25个APP测试流程以及资料合集【乐搏TestPro】

    App测试流程及资料合集 / 1 / 测试理论知识:跟其他web等测试一样: 如果基础不够建议先看书:给软件测试从业者推荐6本书籍 / 2 / 整体测试流程:同web类似 具体差异化见下方内容 / 3 ...

最新文章

  1. mysql ltree_mysq基础知识总结l
  2. ESXi主机遗忘密码重置密码
  3. Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件...
  4. 数据中心液体冷却技术的“机架经济学”
  5. wxWidgets:绘制自定义控件
  6. 如何用matlab实现文字动态滚动,js 动态文字滚动的例子
  7. 大道至简第三章。感受。
  8. mysql 删除版本信息_mysql5.5版本删除大表
  9. kafka 修改分区_kafka修改分区和副本数
  10. windows中python虚拟环境_Windows下Python虚拟环境的配置
  11. SQL数据库“单个用户”不能访问,设置为多个用户的解决方法
  12. Landsat7大气校正后图像变色
  13. 苹果待处理订单要多久_苹果官网准备发货到发货要多久呀?
  14. ARM Linux 内核 panic 之cache 一致性 ——cci-400 cache一致互联
  15. 【数据库】数据库索引
  16. 苹果、安卓ASO优化,aso安卓苹果(二)
  17. 计算机显卡的专业术语怎么说,电脑显卡知识你知多少?显卡知识普及
  18. 彻底卸载360画报教程
  19. 用win10怎么练计算机一级,你真的懂Win10吗?升Win10后必做的9件事
  20. Java 中String构造方法

热门文章

  1. 天池 IJCAI17《口碑商家客流量预测》回顾
  2. pes2019手游服务器维护,【实况手游】解读PES2019手游未来的更新内容!
  3. 美团偷偷表态了。。。
  4. Linux学习-59-备份还原数据命令(dump、restore、dd命令)
  5. android onclicklistener 参数,Android 的 setOnClickListener(参数)求大哥指导
  6. 合适的休学理由有哪些,休学原因怎么写比较好
  7. 树莓派linux 容量不足,树莓派内存不足,使用zram来压缩数据增加内存
  8. 转贴:参禅与悟道》——浅谈人生
  9. nginx安装和配置详解
  10. 《微店大数据开发平台架构演进》阅读有感