(一)、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没有安装的情况,以及版本过低的情况。