App测试的策略
(一)、App测试的策略
1.App测试需要考虑的方面
设备多样性
操作系统、浏览器、应用程序运行时环境、屏幕分辨率、人机交互界面和接口、人体工程学设计、屏幕尺寸等
运营商网络基础设施
自动化脚本编程与开发
可用性测试
2.基于模拟器的测试
使用模拟器进行测试也许不是最佳测试方法,但通常却是最实用和最节约成本的,而且它还有一些其它优点。
第一,模拟器更加便利地进行功能测试,你可以通过单步调试发现没有满足需求设计的地方和细节。通过模拟器调试和分析bug,从而为在真机测试阶段减少不少的花费。
第二,模拟器容易管理,因为模拟器是基于PC的,所以每一个测试人员和开发人员都有这个“设备”。开发人员可以自己管理上面的软件,不需要系统管理员。
第三,不同的模拟器模拟不同的设备。为了模拟在某一种设备上测试,只需要加载该种设备对应的模拟器配置文件即可,最棒的是,你无须为访问运营商网络支付任何费用!
第四,PC上的模拟器具备更快的CPU以及更大的内存容量,这使得运行起来程序更快 ,也使得测试以较快完成。
3.真机测试与基于模拟器的测试方法对比




4.兼容性测试
操作系统版本
屏幕分辨率
不同厂家的ROM
网络类型
5.流量测试
用户的操作直接导致的流量消耗。
在用户没有直接使用情况下的流量消耗。
6.电量测试
测试耗电量。
7.弱网络测试
信号不好的地方(建筑物或隧道),以及基站间切换,或者在体育场等人员密集场所基站容量跟不上等。
8.安全测试
(1)安装包测试
能否反编译代码
能否从这个安装包中获取项目的源代码。
安装包是否签名
保证该App是合法开发者发布的,以防被第三方应用覆盖安装等问题。
(2)敏感信息测试
数据库是否存在敏感信息。
软键盘劫持。
如果用户安装了第三方软键盘,一些敏感信息可能被第三方软键盘截获,可能引起用户数据被盗取并造成用户损失。
如金融类App登录界面的用户名密码输入框等,看是否支持第三方输入法。对于非常敏感的输入,一般建议使用应用内的软键盘。
(3)账户安全
密码是否明文存储在后台数据库
密码传输是否加密
账户锁定策略
同时会话
比如使用不同客户端登录同一账户和密码。
注销机制
在客户端注销后,断网重连后,切换网络连接方式后,账户身份都应该失效。
9.环境相关测试
(1)干扰测试
使用手机上App的时候会遇到一些打断的情况,如收到电话、短信、通知栏消息、提示框弹出、第三方安全软件警告框弹出。
(2)权限测试
App访问电话本或者相册可能泄露隐私。
(3)边界情况
可用存储空间过少。
没有SD卡/双SD卡。
飞行模式。
系统时间有误(晚于和早于标准时间)。
第三方依赖。如果App对其他App有依赖关系(例如QQ,微信联合登录等),那么我们还需要测试第三方App没有安装的情况,以及版本过低的情况。
App测试的策略的更多相关文章
- 如何做好APP测试?
测试一个App具体包括哪些方面,以及每个方面有什么关键点呢? 测试人员常被看作bug寻找者,但你曾想过他们实际是如何开展测试的吗? 你是否好奇他们究竟都做些什么,以及他们如何在一个典型的技术项目中体现 ...
- [转]移动App测试中的最佳做法
Daniel Knott 用过各种不同编程语言和软件质量保证工具.他在软件开发和测试方面干了七年,自2010年起,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议, ...
- 《大话移动 APP 测试》
<大话移动 APP 测试> wiki: Software testing 第5章 常用工具介绍和实践 Android.iOS Monkey Android SDK 提供的一个工具:发送伪随 ...
- APP测试(转载)
(1) 非功能测试 app测试的一个重要方面是app的非功能需求.移动app在推出市场或进行进一步开发前,测试人员有一定的职责做该类需求的跟踪工作. 早期开发阶段要进行的第一个测试应该是实用性测试.通 ...
- 移动App测试中的最佳做法
一说起软件测试,测试员想到肯定是去检查文件,功能,API,性能并确定软件是否安全,以及关于软件特定部分的其他事项.但是对于移动测试,测试员不得不基于用户移动使用模式考虑移动相关的功能. 本文是基于我的 ...
- 【转】移动App测试中的最佳做法
一说起软件测试,测试员想到肯定是去检查文件,功能,API,性能并确定软件是否安全,以及关于软件特定部分的其他事项.但是对于移动测试,测试员不得不基于用户移动使用模式考虑移动相关的功能. 本文是基于我的 ...
- 手机APP测试
注:以下内容来自网络: 一.手机APP测试类型 1.1 接口协议测试 在APP客户端开发设计时,一般服务端会提供相应的接口协议文档,接口协议文档的质量,决定了APP的开发进度.此部分的测试,应首先检测 ...
- APP测试入门篇之APP基础知识(001)
前言 最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...
- App测试
(1)App独特测试点: 客户端兼容性测试:系统版本.不同深度定制的rom.屏幕分辨率.中断测试.安装.卸载.升级.对其他程序的干扰等 需要的一些工具: appnium / lr / jmeter ...
随机推荐
- CMMI 2.0术语变化
过程域 vs. 实践域 “过程域”(Process Areas,PAs)在CMMI 2.0中变成了“实践域(Practice Areas,PAs)”.这样的改变,强调了CMMI 2.0是最佳实践的集合 ...
- go语言框架gin之集成swagger
1.安装swag 在goLand中直接使用go get -u github.com/swaggo/swag/cmd/swag命令安装会报错 翻了很多博客,都没找到太合适的办法,根据博客中所写的操作还是 ...
- iOS多线程GCD的使用
1. GCD 简介 Grand Central Dispatch(GCD)是异步执行任务的技术之一.一般将应用程序中记述的线程管理用的代码在系统级中实现.开发者只需要定义想执行的任务并追加到适当的Di ...
- block的注意点
1). 在block内部使用外部指针且会造成循环引用情况下,需要用__week修饰外部指针: __weak typeof(self) weakSelf = self; 2). 在block内部如果调用 ...
- Linux学习历程——Centos 7 chmod命令
一.命令介绍 chmod 命令,是Linux管理员最常用的命令之一,用于修改文件或目录的访问权限. Linux系统中,每一个文件都有文件所有者和所属群组,并且规定文件的所有者,所属群组,以及其他人队问 ...
- Linux运维跳槽必备的40道面试精华题(转)
Linux运维跳槽必备的40道面试精华题(转) 下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家年后跳槽找个高薪好工作. 1.什么是运维?什么是游戏运维? 1)运维 ...
- SQL 语法使用
SQL 语句 语句 语法 AND / OR SELECT column_name(s)FROM table_nameWHERE conditionAND|OR condition ALTER TABL ...
- 如何在本地编译Fabric Code
之前的博客都是拿官方现成的Docker镜像来用,但是并没有自己动手做镜像,也没有说到如何去开发和测试Fabric的代码.这一篇博客就从入门的角度讲解如何编译.测试和开发Fabric. 一.环境准备 要 ...
- 最新版jQuery v3.3.1的BUG以及解决办法(什么问题不重要,怎么解决问题才重要)
发现问题 最新版的 FineUIPro v5.2.0 中,我们将内置的 jQuery v1.12.4 升级到 jQuery v3.3.1 ,可以看升级记录: +升级到jQuery v3.3.1. ...
- 【续】5年后,我们为什么要从 Entity Framework 转到 Dapper 工具?
前言 上一篇文章收获了 140 多条评论,这是我们始料未及的. 向来有争议的话题都是公说公的理,婆说婆的理,Entity Framework的爱好者对此可以说是嗤之以鼻,不屑一顾,而Dapper爱好者 ...