实际工作中的常见测试方法
2017-10-24 18:32
253 查看
兼容性测试、流量测试、电量测试、弱网络测试、稳定性测试、安全测试和环境相关测试。
第一:兼容性测试
针对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. 数据压缩。
压缩包含接口文本数据的压缩,js文件的压缩及图片的压缩。
2. 不同数据格式的采用
例如采用JSON格式作为接口数据返回格式通常比XML格式要小。
3. 控制访问的频次
这个主要针对后台数据上报,PUSH消息检查等定时机制的。
4. 只获取必要的数据
有时候APP一页的内容非常多,而用户可能只会看一部分,过多的从后台拉去数据就是浪费,所以可以采用分屏加载或者懒加载的方式来减少流量消耗。
5. 缓存
可将图片,js等数据暂存起来,但由于手机存储空间有限,也需要控制整个缓存大小,并给用户提供清理缓存的选项。
6. 针对不同网络类型设计不同的访问策略
有些APP不同的网络类型返回的内容不一样。
第三:电量测试
在电器电池技术没有取得巨大突破前提下,这方面始终会存在一些瓶颈,如果一些App架构设计的不好,或者代码偶缺陷,就可能导致电量消耗比较高,所以电量测试也是很重要的。
工具 GSam Battery Monitor Pro.
第四:弱网络测试
移动互联网产品相比PC互联网产品,有一个特点是前者使用的网络比较多样,除了Wif之外,很多时候是在移动网络下使用的,移动网络遇到的情况又比较复杂,比如地铁、隧道、体育场等。所以网络不稳定的情况是比较容易发生的,很多情况下App的一些问题是在复杂的网络情况下才会暴露,与其让用户发现和投诉这些问题,不如我们在测试阶段尽量模拟这样的网络情况,及早发现和修复这些问题。
工具:
1. Windows下的Network Delay Simulator<
4000
/div>
2. Mac下的Network Link Conditioner
第五:稳定性测试
在保证基本功能正确基础之上,App的稳定性就显得非常重要,如果一个App经常出现闪退或者卡死,那么用户体验就会受到很大伤害,在有其他竞争产品的情况下很容易造成用户的流失。
第六:安全测试
包括安装包的安全测试(能否反编译代码、安装包是否签名,完整性校验,权限设置检查等)。
敏感信息测试(数据库,日志,配置文件)。
软键盘劫持(金融类APP登录页面的用户名密码输入框)、
账户安全(密码是否明文,密码传输是否加密,账户输入错误次数过多锁定,同时会话提醒, 注销机制)
数据通信安全(关键数据是否散列或加密,关键连接是否使用安全通信,是否对数字证书合法性进行验证,是否校验数据合法性。
组件安全测试。
服务器端接口测试(SQL注入测试、XSS跨站脚本攻击, CSRF跨站请求伪造,越权访问等)。
第七:环境相关的测试
在实际项目中,有一些缺陷我发现是和App所处的运行环境相关的,所以设计测试的时候,要多考虑这些场景,比如:
1)干扰测试
收到电话、收到短信、收到通知栏消息、无电提示框弹出、第三方安全软件告警弹出。
2)权限测试
一些用户在实际使用App的时候回有意识阻止某些功能。例如有的用户感觉让某个App访问电话本或者相册可能泄漏隐私,就在手机中设置了禁止了该App访问相册的权限。
3)边界测试
手机环境本身也有其边界情况需要在测试中覆盖。常见的场景有:
可用存储空间过少、没有SD卡/双SD卡、飞行模式、系统时间有误(晚于和早于标准时间)、第三方依赖(比如我们的App依赖第三方App,但是现在第三方App没有安装或者版本过低的测试情况)。
4)Android定位测试
第一:兼容性测试
针对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. 数据压缩。
压缩包含接口文本数据的压缩,js文件的压缩及图片的压缩。
2. 不同数据格式的采用
例如采用JSON格式作为接口数据返回格式通常比XML格式要小。
3. 控制访问的频次
这个主要针对后台数据上报,PUSH消息检查等定时机制的。
4. 只获取必要的数据
有时候APP一页的内容非常多,而用户可能只会看一部分,过多的从后台拉去数据就是浪费,所以可以采用分屏加载或者懒加载的方式来减少流量消耗。
5. 缓存
可将图片,js等数据暂存起来,但由于手机存储空间有限,也需要控制整个缓存大小,并给用户提供清理缓存的选项。
6. 针对不同网络类型设计不同的访问策略
有些APP不同的网络类型返回的内容不一样。
第三:电量测试
在电器电池技术没有取得巨大突破前提下,这方面始终会存在一些瓶颈,如果一些App架构设计的不好,或者代码偶缺陷,就可能导致电量消耗比较高,所以电量测试也是很重要的。
工具 GSam Battery Monitor Pro.
第四:弱网络测试
移动互联网产品相比PC互联网产品,有一个特点是前者使用的网络比较多样,除了Wif之外,很多时候是在移动网络下使用的,移动网络遇到的情况又比较复杂,比如地铁、隧道、体育场等。所以网络不稳定的情况是比较容易发生的,很多情况下App的一些问题是在复杂的网络情况下才会暴露,与其让用户发现和投诉这些问题,不如我们在测试阶段尽量模拟这样的网络情况,及早发现和修复这些问题。
工具:
1. Windows下的Network Delay Simulator<
4000
/div>
2. Mac下的Network Link Conditioner
第五:稳定性测试
在保证基本功能正确基础之上,App的稳定性就显得非常重要,如果一个App经常出现闪退或者卡死,那么用户体验就会受到很大伤害,在有其他竞争产品的情况下很容易造成用户的流失。
第六:安全测试
包括安装包的安全测试(能否反编译代码、安装包是否签名,完整性校验,权限设置检查等)。
敏感信息测试(数据库,日志,配置文件)。
软键盘劫持(金融类APP登录页面的用户名密码输入框)、
账户安全(密码是否明文,密码传输是否加密,账户输入错误次数过多锁定,同时会话提醒, 注销机制)
数据通信安全(关键数据是否散列或加密,关键连接是否使用安全通信,是否对数字证书合法性进行验证,是否校验数据合法性。
组件安全测试。
服务器端接口测试(SQL注入测试、XSS跨站脚本攻击, CSRF跨站请求伪造,越权访问等)。
第七:环境相关的测试
在实际项目中,有一些缺陷我发现是和App所处的运行环境相关的,所以设计测试的时候,要多考虑这些场景,比如:
1)干扰测试
收到电话、收到短信、收到通知栏消息、无电提示框弹出、第三方安全软件告警弹出。
2)权限测试
一些用户在实际使用App的时候回有意识阻止某些功能。例如有的用户感觉让某个App访问电话本或者相册可能泄漏隐私,就在手机中设置了禁止了该App访问相册的权限。
3)边界测试
手机环境本身也有其边界情况需要在测试中覆盖。常见的场景有:
可用存储空间过少、没有SD卡/双SD卡、飞行模式、系统时间有误(晚于和早于标准时间)、第三方依赖(比如我们的App依赖第三方App,但是现在第三方App没有安装或者版本过低的测试情况)。
4)Android定位测试
相关文章推荐
- 如何将常见的黑盒测试用例设计方法运用到实际测试工作中?
- 常见的测试用例设计方法都有哪些?分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
- PM工作中常见问题及解决方法
- CETK测试原理/测试方法/测试结果分析以及常见WinCE Test Kit运行问题的排查
- UFT GUI 测试—— 概述 相关项: GUI 测试和组件 UFT GUI 测试解决方案采用关键字驱动测试的概念, 以增强测试创建和维护。 关键字驱动测试是一项将大量编程工作与实际测试步骤分离的技术
- Monkey压力测试Android常见的错误类型及黑白名单的使用方法
- 测试管理常见问题及其解决方法
- 黑盒测试用例设计方法&理论结合实际 -> 边界值分析法
- [转]SQL Server几种分页方法实际测试
- 黑盒测试用例设计方法&理论结合实际 -> 错误推断法
- 探讨自动化网页截图方法在全球化测试中的实际应用
- 工作学习笔记1:大小端测试方法
- 面试常见的功能测试考试题关于测试方法的
- 添加,查询,修改,删除测试方法及常见bug说明
- Android客户端性能测试常见指标及测试方法--转载
- 软件测试中遇到的常见问题及沟通方法
- 几种常见的性能测试方法
- 黑盒测试用例设计方法&理论结合实际 -> 判定表驱动法
- 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符(_)分
- 测试架构师之路---实际工作中如何开展Android App性能自动化测试