移动端APP测试总结--转
来自:https://www.cnblogs.com/linxiu-0925/p/7636570.html
移动APP测试,除了基础功能测试测试方法外,需要额外关注以下方面:
兼容性测试
流量测试
电量测试
弱网络测试
稳定性测试
安全测试
环境相关测试
- apk性能测试
兼容性测试
针对App通常会考虑这些方面:
1、操作系统版本
包括Andoird版本,iOS版本
2、屏幕分辨率
android 800*480, 960*640,1280*720(720p),1920*1080(1080p),2560*1440(2k).
对于iOS,考虑最近几代机型对应的分辨率即可.
3、不同厂家的ROM
不同厂家的ROM,大多厂家都对android 系统进行了定制、实际中会遇到例如调用相机和底层服务出现的不兼容问题以及摇一摇遇到的不同手机对于方向和重力传感器灵敏度设置不同的问题.
4、网络类型
网络类型通常考虑wifi,2g,3g4g下的功能情况。另外针对m版网站考虑不同浏览器类型和屏幕分辨率.
流量测试
在移动产品的测试中,很有必要对App使用的流量进行度量,大致来说,流量可以从用户使用的的相关性角度分为:一类是用户的操作直接导致的流量消耗;另一类是后台,即在用户没有直接使用情况下的流量消耗。
流量的测试方法:
1、基于系统自带功能.
eg android proc/uid_stat/{uid} /tcp_send
android proc/uid_stat/{uid} /tcp_rcv
2、通过API或者系统埋点来获取数据。
3、通用的流量测试方法:手机抓包,或者wifi代理(Fiddler, Charles)。
常见的流量节省方法:
1、数据压缩。
2、压缩包含接口文本数据的压缩,js文件的压缩及图片的压缩。
3、不同数据格式的采用
例如采用JSON格式作为接口数据返回格式通常比XML格式要小。
4、控制访问的频次
这个主要针对后台数据上报,PUSH消息检查等定时机制的。
5、只获取必要的数据
有时候APP一页的内容非常多,而用户可能只会看一部分,过多的从后台拉去数据就是浪费,所以可以采用分屏加载或者懒加载的方式来减少流量消耗。
6、缓存
可将图片,js等数据暂存起来,但由于手机存储空间有限,也需要控制整个缓存大小,并给用户提供清理缓存的选项。
7、针对不同网络类型设计不同的访问策略
有些APP不同的网络类型返回的内容不一样。
电量测试
在电器电池技术没有取得巨大突破前提下,这方面始终会存在一些瓶颈,如果一些App架构设计的不好,或者代码偶缺陷,就可能导致电量消耗比较高,所以电量测试也是很重要的。
工具 GSam Battery Monitor Pro.
弱网络测试
移动互联网产品相比PC互联网产品,有一个特点是前者使用的网络比较多样,除了Wif之外,很多时候是在移动网络下使用的,移动网络遇到的情况又比较复杂,比如地铁、隧道、体育场等。所以网络不稳定的情况是比较容易发生的,很多情况下App的一些问题是在复杂的网络情况下才会暴露,与其让用户发现和投诉这些问题,不如我们在测试阶段尽量模拟这样的网络情况,及早发现和修复这些问题。
工具:
Windows下的Network Delay Simulator
Mac下的Network Link Conditioner
稳定性测试
在保证基本功能正确基础之上,App的稳定性就显得非常重要,如果一个App经常出现闪退或者卡死,那么用户体验就会受到很大伤害,在有其他竞争产品的情况下很容易造成用户的流失。
稳定性测试的概念有2种,
一, 稳定性测试,对应于异常性测试,即发生异常情况时,系统如何反应的测试。包含:
1 交互性测试,被打扰的情况,如来电,短信,低电量等。这些其实在上章的功能测试中有提到。
2 异常性测试,断网,断电,服务器异常等情况
二,稳定性测试指的是性能测试,压力测试
1 基准性能测试,通过压服务器端口及客户端在不同网络环境下响应速度
2 大数据测试,在特定环境下,客户端一次性更新大量数据及人员列表
另有其它文章,提到性能测试,为评估APP的时间和空间特性(真是高深啊,时间和空间,再来个4维,5维?),包括:
1 极限测试:在各种边界压力情况下,如电池,存储,网速等,验证app是否能正确响应
--内存满时安装app
--运行app手机断电
--运行app时断掉网络
这几点倒是与第一条的内容重复
2 响应能力测试:测试app中的各类操作是否满足用户响应时间要求
--app安装 ,卸载的响应时间
--app各类功能性操作的影响时间
3 压力测试:反复、长期操作下,系统资源是否占用异常
--app反复进行安装卸载,查看系统资源是否正常(弄个几次就行吧,正常人,谁反复安装卸载啊)
--其它功能反复进行操作,查看系统资源是否正常(这倒是应该的)
4 性能评估:评估典型用户应用场景下,系统资源的使用情况
这里要定义,什么是典型用户应用场景
5 benchmark测试(基线测试),应该不是基准性能测试:与竞争产品的benchmarking,产品演变对比测试等(没有多大意义)。
安全测试
1、包括安装包的安全测试(能否反编译代码、安装包是否签名,完整性校验,权限设置检查等)。
2、敏感信息测试(数据库,日志,配置文件)。
3、软键盘劫持(金融类APP登录页面的用户名密码输入框)、
账户安全(密码是否明文,密码传输是否加密,账户输入错误次数过多锁定,同时会话提醒, 注销机制)
数据通信安全(关键数据是否散列或加密,关键连接是否使用安全通信,是否对数字证书合法性进行验证,是否校验数据合法性。
4、组件安全测试。
5、服务器端接口测试(SQL注入测试、XSS跨站脚本攻击, CSRF跨站请求伪造,越权访问等)。
环境相关测试
在实际项目中,有一些缺陷我发现是和App所处的运行环境相关的,所以设计测试的时候,要多考虑这些场景,比如:
1、干扰测试
收到电话、收到短信、收到通知栏消息、无电提示框弹出、第三方安全软件告警弹出。
2、权限测试
一些用户在实际使用App的时候回有意识阻止某些功能。例如有的用户感觉让某个App访问电话本或者相册可能泄漏隐私,就在手机中设置了禁止了该App访问相册的权限。
3、边界测试
手机环境本身也有其边界情况需要在测试中覆盖。常见的场景有:
可用存储空间过少、没有SD卡/双SD卡、飞行模式、系统时间有误(晚于和早于标准时间)、第三方依赖(比如我们的App依赖第三方App,但是现在第三方App没有安装或者版本过低的测试情况)。
4、Android定位测试
用白盒方式模拟
apk性能测试
普遍的apk性能测试,主要是以下七类
1、响应
2、内存
3、cpu
4、FPS (app使用的流畅度)
5、GPU过度渲染
6、耗电
7、耗流
移动端APP测试总结--转相关推荐
- 移动端APP测试总结(二)
移动APP测试,除了基础功能测试测试方法外,需要额外关注以下方面: 兼容性测试 流量测试 电量测试 弱网络测试 稳定性测试 安全测试 环境相关测试 apk性能测试 兼容性测试 针对App通常会考虑这些 ...
- 移动端APP测试总结
移动APP测试,除了基础功能测试测试方法外,需要额外关注以下方面: 兼容性测试 流量测试 电量测试 弱网络测试 稳定性测试 安全测试 环境相关测试 apk性能测试 兼容性测试 针对App通常会考虑这些 ...
- 移动端APP测试总结(一)
1.首先是测试资源确认及准备 (1) 产品需求文档.产品原型图.接口说明文档以及设计说明文档等应齐全: (2) 测试设备及工具的准备:IOS和andriod不同版本的真机,以及相关测试工具的准 ...
- android 程序 读logo,Android端APP更换logo和名称后都需要些测试哪些内容呢?
原标题:Android端APP更换logo和名称后都需要些测试哪些内容呢? 之前有人在搜狗测试粉丝群中问过APP更换logo和名称后需要怎么测试呢?小编正好经历过这样的需求,下面来系统整理一下APP更 ...
- 移动端app设计指南
移动端app设计指南 原文来自:http://weibo.com/2589512460/ze9eQtRW8?type=repost 转载于:https://blog.51cto.com/duxinfe ...
- 前端代码(移动端app, vue 源代码)打包方法
一,移动端APP代码打包 H5写的app,开发工具HBuilder X 打包方式 帮助文档:http://ask.dcloud.net.cn/docs/ 安卓apkd 打包方式: 1,将项目代码导入h ...
- UI设计师必须了解:2015年十大移动端APP设计主流趋势
从移动端兴起,主流设计风格定型,再到Uber.Vine等现象级APP的崛起,移动端的APP设计直到现在才渐入佳境.促成这一切的影响因素很多,比如社会发展趋势的变化.共享经济的大热.新技术的积累,等等等 ...
- 传统APP与微信端APP十大优劣对比
随着微信公众平台的开放,经过二次开发的微信端APP涌现市场,老蔡的团队最近为很多传统企业开发了微信端的APP应用.在很多场合,都有人咨询老蔡:微信端APP是否会替代传统的APP应用?两者的优劣如何? ...
- 使用友盟+的APM服务实现对移动端APP的性能监控
简介: 对于信息系统服务,一般我们的重点监控对象都是核心的后端服务,通常会采用一些主流的APM(Application Performance Management)框架进行监控.告警.分析.那么对于 ...
最新文章
- c++ mysql ctime_C++操作mysql数据库范例代码
- C语言的本质(35)——共享库
- Android中pendingIntent的深入理解
- nginx和apache 配置
- 岭回归——减少过拟合问题
- 美国高级情报研究计划局(IARPA)发起公共安全问题预测机器学习挑战赛(总奖池10万美金)...
- java中的浮点数相加
- 关于Java IO流学习总结
- PHP线程安全和非线程安全有什么区别
- 魔兽争霸如何修改快捷键
- 不可多求的压电式雨量传感器内部技术问答
- ORA-12705:无法访问NLS数据文件或者指定的环境无效
- AppStore隐私政策网址(URL)
- 【log4j 2.x】【log4j日志升级漏洞修复】log4j2日志 [简单明了][一眼就会]
- ATM异地跨行取钱收费大比拼
- Java6、7章总结复习
- 密码学那些事———SHA-512及其C++实现
- 回首系列01: 假如我的人生就像是在炒股
- 物联网无线传感器复习
- C#串口连接的读取和发送详解
热门文章
- 网络安全渗透测试的相关理论
- 这篇文章来告诉你几个实用的视频转文字的方法
- 3D建模师和3D动画师哪个职业前景好些?
- 如何使用Python在Excel中插入和删除行和列?你只需要这个工具
- Qt widget事件传递顺序以及监听特定控件是否接收某个事件
- Codeforces 480D Parcels(dp)
- java 音频倍速播放_如何让视频加速播放
- android重力感应横竖屏,Android开发 apk强制横竖屏
- 3.2.3.2Golang的数据类型--字符串
- 遇到一点难题,请大拿帮忙看一下 万分感谢