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

article/2025/11/10 23:52:41

目录

一、安卓系统知识概述

1.1 安卓系统架构

1.2 安卓权限系统

1.3 认识adb与安卓间的通信

二、安卓APP测试流程图

三、安卓App测试点

3.1 UI测试

3.2 兼容性测试

3.3 安装卸载/本地升级测试OTA

3.4 版本在线升级测试FOTA

3.5 交互测试

3.6并发测试

3.7 客户端数据库测试

3.8 接口测试

3.9 性能测试

3.10安全性测试

3.11其他测试

四、工具技术(第三方)

4.1 系统监控常用ADB命令

4.2 需要功能

4.3 实现原理


一、安卓系统知识概述

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.11其他测试

  • 认证测试
  • 扣费测试
  • 应用商店发布测试结果
  • 上传下载测试
  • 模拟用户体验测试----测试人员测(公司内部人员)
  • 用户体验测试----给实际用户使用(非公司内部人员)

四、工具技术(第三方)

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的帧数据。

感谢每一个认真阅读我文章的人!!!
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片加入群聊与我一起学习交流,群里还有大佬帮忙解答问题。

 


http://chatgpt.dhexx.cn/article/V37hb0lM.shtml

相关文章

App测试流程和要点

APP与Web测试的异同 1、相同点:流程方面相同,都要经过计划,方案,测试分析,用例,环境搭建,测试执行,报告,总结等 都要进行功能测试,性能测试,兼容…

APP测试流程和测试点

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

手机APP测试流程方法

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

APP测试基本流程

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

App接口测试的流程和测试方法以及工具的使用

App接口测试 使用工具 Fiddler、Jmeter、postman 测试设计: 通过性验证: 首先肯定要保证这个接口功能是好使的,也就是正常的通过 性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。 参数组合: 现在有…

APP测试基本流程以及APP测试要点

一、 APP测试基本流程 1、流程图 2、测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。 3、测试资源 测试任务开始前,…

手机APP测试流程规范和方法你知道多少?

目录 流程图 1. 测试资源 2. 测试要点 3. 测试日报及产品上线报告 4. 最终提交 5. 相关文档 流程图 测试周期 9.25-10.5 1. 测试资源 测试任务开始前,检查各项测试资源。 1. 产品功能需求文档 2. 产品原型图 3. 产品效果图 4. 行为统计分析定义文档 5.…

APP测试基本流程以及APP测试要点梳理,保证您看了不后悔!

前言:相信很多刚刚步入测试行业的小伙伴对于APP测试不是很熟悉,这次我为大家提供一篇宝藏文章,希望大家喜欢,谢谢! 一、APP测试基本流程 1、流程图 2、测试周期 测试周期可按项目的开发周期来确定测试时间&#xff…

怎么做手机App测试?app测试详细流程和方法介绍

1、手机APP测试怎么做? 手机APP测试,主要针对的是android和ios两大主流操作系统,主要考虑的就是功能性、兼容性、稳定性、易用性(也就是人机交互)、性能。 手机APP测试前的准备: 1.使用同类型的产品&…

APP测试:测试流程及常规测试内容

APP测试 定义:使用人工或自动化来测试某个程序,验证它是否满足规定的需求或者实际结果和预期结果的差别 一、测试流程 1.1 流程图 1.2 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日)&#xff0…

浅谈手机APP测试(流程)

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法…

任务计划程序执行失败 错误值:2147750687

1,服务器上新建一个任务计划去定时执行一个.exe文件,一直失败,但手动执行成功。 试了好多网上的方法都不行,本来用的exe是bin目录下release文件夹下的exe,后来改为bin目录下debug的exe执行即可。至于原因嘛,我自己也是…

VS读取配置文件错误

解决方案: 删除项目文件所在文件夹下的.vs文件夹,重新编译即可。原因在于合并或生成的.suo文件与你本地实际路径不一致导致出错无法识别。

操作系统权限提升(十)之系统错误配置-计划任务提权

系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 操作系统权限提升(三)之Windows系统内核溢出漏洞提权 操作系统权限提升(四)之系统错误配置-Tusted Service Paths提权 操作系统权限提升(五)之系统错误配置-PATH环境变量提权 操作…

关于配置文件出错问题

图一(正确运行) 图二(运行报错) 以上图一与图二配置文件均为一样的配置文件,但只有图一能正确运行。错误原因并未能准确找到,图二 xsi:schemaLocation的spring-aop URL地址是从上一个项目的配置文件复制过来…

Windows计划任务提示 0xE0434352 错误

写了一个计划任务每周去跑一个程序,但是并没有跑,报错是 0xE0434352,应该是没有找到路径(计划任务这么菜的吗)... 解决办法:双击启动程序 写上你当前程序的起始路径 然后在运行一下,就成功了

错误:“应用程序无法启动,因为应用程序的并行配置不正确。请参阅应用程序事件日志,或使用命令行sxstrace.exe工具” 的解决

安装软件后,应用程序无法启动,出现错误:“应用程序无法启动,因为应用程序的并行配置不正确。请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”,该怎么办? 解决办法:&#xf…

HTTP 错误 500.19 - Internal Server Error-配置错误 由于权限不足而无法读取配置文件 解决方法

HTTP 错误 500.19 - Internal Server Error-配置错误 由于权限不足而无法读取配置文件 解决方法 可以看到,这个错误的产生是因为用户权限不足。 第一步 打开IIS管理器 第二步 ,找到对应网站,编辑权限 第三步,点击弹出文件夹的安全页面 第…

Docker容器 - 解决因配置文件错误所导致容器无法启动的问题

目录 一、查看容器日志 二、偷梁换柱 三、启动 原因很简单,因为修改容器内配置文件时出现了错误,所导致容器无法正常start。从而无法进入容器进行修改。。。解决步骤如下: 一、查看容器日志 sudo docker logs 容器ID 查看报错原因的同时找…

【日常记录】错误“应用程序无法启动,因为应用程序中的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”解决办法

win10安装理正深基坑软件出现该错误 错误“应用程序无法启动,因为应用程序中的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”解决办法 网上给的方法是启动Windows Modules Installer服务&…