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 ...
随机推荐
- node.js微信小程序配置消息推送
在开发微信小程序时,有一个消息推送,它的解释是这样的. 消息推送具体的内容是下面的这个网址 https://developers.weixin.qq.com/miniprogram/dev/fra ...
- C#枚举(Enum)小结
枚举概念 枚举类型(也称为枚举)提供了一种有效的方式来定义可能分配给变量的一组已命名整数常量.该类型使用enum关键字声明. 示例代码1 enum Day { Sunday, Monday, Tues ...
- .net core下Redis帮助类
0.引入.net core环境下Redis的NuGet包,StackExchange.Redis,现目前最新的2.0.519. 帮助类Code: using System; using Syste ...
- Oracl 一条sql语句 批量添加、修改数据
最近一直在用,也一直在学oralc,项目上也用到了批量的添加(读取上传CSV文件信息,把符合条件的信息写入到数据库中),在写的时候想到了可能是数据量大就想该怎么快,(由于本人在.NET开发期间没有做过 ...
- SQLServer之锁简介
锁定义(Definition) 锁定是 DBMS 将访问限制为多用户环境中的行的过程. 以独占方式锁定行或列,不允许其他用户访问锁定的数据,直到锁被释放. 这可确保两个用户不能同时更新行中的同一列. ...
- vuetify
vue add vuetify打包之后再发过来另外剪头发 typescript 1.配置 2.当用 let 声明一个变量,它使用的是词法作用域或块作用域. let与var区别,所以要--- 3.看来 ...
- FB商务管理平台(Business Manager) (2)
Business Manager 商务管理平台(以下简称BM)API 一站式管理广告帐户.主页及相关的工作人员. BM功能结构(其中:账户下的节点属于市场营销API) API / SDK FB提供了多 ...
- Linux SHELL中sh和bash的区别
什么是SHELL? shell的中文意思就是贝壳,其实比较类似于我们内核的壳.简而言之就是只要能够操作应用程序的接口都能够称为SHELL.狭义的shell指的是命令行方面的软件,广义的SHELL则包括 ...
- 安装sql server2017出现错误:Visual Studio 运行时"Microsoft visual c++2017 X64 Minimum Runtime - 14.10.25008"需要修复
安装sql server 2017 Developer Edition时,安装选择“基本”,发生如下错误: 解决方法: 1.进入控制面板→程序中,找到“Microsoft visual c++2017 ...
- ansible-playbook(nginx例)
一.创建目录结构 cd /etc/ansible/roles/ mkdir nginx/{files,templates,vars,handlers,meta,default,tasks} -pv 二 ...