一,手机APP测试的范围
-功能模块测试:
1.1 运行
-App安装完成后的试运行,可正常打开软件
-APP打开测试,是否有加载状态进度提示
-APP打开速度测试,速度是否可观
-APP页面间的切换是否流畅,逻辑是否正确
注册
-用户名密码长度
-注册后的提示页面
-前台注册页面和后台的管理页面数据是否一致
-注册后,在后台管理页面提示
登录
-使用合法的用户登录系统
-系统是否允许多次非法的登录,是否有次数限制
-使用已经登录的账号登录系统是否正确处理
-使用禁用的账号登录系统是否正确处理
-用户名,口令(密码)错误或漏填时能否登录
-删除或修改后的用户, 原用户登录。
-不输入用户口令和用户,重复点(确定或取消按钮)是否允许登录
-登录后,页面中登录信息
-页面中有注销按钮
-登录超时的处理
注销
-注销原模块,新的模块系统能否正确处理
-终止注销能否返回原模块,原用户
-注销原用户, 新用户系统能否正确处理
-使用错误的账号,口令,无权限的被禁用的账号进行注销。
1.2 应用的前后台切换
-APP切换到后台,再回到APP,检查是否停留在上一次操作界面
-APP切换到后台,再回到APP,检查功能及应用状态是否正常
-APP切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换到前台数据有自动更新的时候
-手机锁屏解屏后进入APP注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候
-当APP使用过程中有电话进来中断后再切换到APP,功能状态是否正常
-当杀掉APP进程后,在开启APP,APP能否正常启动
-出现必须处理的提示框后,切换到后台,在切换回来,检查提示框是否还存在, 有时候会出现应用自动跳过提示框的缺陷
-对于有数据交换的页面,每个页面都必须要进行前后台切换, 锁屏的测试,这种页面最容易出现崩溃
1.3 免登录
-APP有免登录功能时,需要考虑OS版本差异
-考虑无网络情况时能否正常进入免登录状态
-切换用户登录后,要校验用户登录信息及数据内容是否相应更新,确保原用户退出。
-根据MTOP(淘宝无线开放平台)的现有规则,一个账户只允许登录一台机器。所以,需要检查一个账户登录多台手机的情况。原手机里的用户需要被剔出,给出友好提示。
-APP切换到后台,再切换回前台的校验
-密码更换后, 检查有数据交换时是否进行了有效身份的校验
-支持自动登录的应用在进行数据交换时,检查系统是否能自动登录成功并且数据操作无误
-检查用户主动退出登录后,下次启动APP,应停留在登录页面。
1.4 数据更新
-根据应用的业务规则,以及数据更新量的情况,来确定最优的数据更新方案。
-需要确定哪些地方需要提供手动刷新,哪些地方需要自动更新,哪些地方需要手动+自动刷新
-确定哪些地方从后台切换回前台时需要进行数据更新
-根据业务,速度及流量的合理分配,确定哪些内容需要实时更新,哪些需要定时更新。
-确定数据展示部分的处理逻辑,是每次从服务端请求,还是有缓存到本地,这样才能有针对性的进行相应测试。
-检查有数据交换的地方, 均有相应的异常处理。
1.5 离线浏览
很多应用会支持离线浏览,即在本地客户端会缓存一部分数据提供用户查看
-在无网络情况下可以浏览本地数据。
-退出APP再开启APP时能正常浏览
-切换到后台在切换回前台可以正常浏览
-在对服务端的数据有更新时会给予离线的相应提示。
1.6 APP更新
-当客户端有新版本时,有更新提示
-当版本为非强制升级版时,用户可以取消更新,老版本能正常使用,用户在下次启动APP时,扔能出现更新提示。
-当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端,下次启动APP时,仍出现强制升级提示
-当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。
-当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。
-当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本,如果以上无法更新成功的,也都属于缺陷。
-升级后可以正常使用。
-在线跨版本升级
1.7 定位,照相机服务
-APP有用到相机,定位服务时,需要注意西永版本差异。
-有用到定位服务,照相机服务的地方,需要进行前后台的切换测试,检查应用是否正常
-当定位服务没有开启时,使用定位服务,会友好性弹出是否允许设置定位提示。当确定允许开启定位时,能自动跳转到定位设置中开启定位服务。
-测试定位,照相机服务时,需要采用真机进行测试。
1.8 时间测试
-客户端可以自行设置手机的时区,时间,因此需要校验设置对APP的影响
-中国为东8区,所以当手机设置的时间非东8区时,查看需要显示时间的地方,时间是否展示正确,应用功能是否正常。时间一般需要根据服务器时间在转换成客户端对应的时区来展示,这样的用户体验比较好。(比如发表一篇微博在服务端记录的是10点,此时,华盛顿时间为22:00点,客户端去浏览时,如果设置的是华盛顿时间, 则显示的发表时间即为22:00,当时间设回东8区时间时,在查看则显示为10:00)
1.9 PUSH测试
-检查PUSH消息是否按照指定的业务规则发送
-检查不接受推送消息时,检查用户不会在接收到PUSH
-如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到PUSH。
-在非免打扰时间段,用户能正常收到PUSH
-当PUSH消息时针对登录用户的时候, 需要检查收到的PUSH与用户身份是否相符,没有错误的将其他人的消息推送过来, 一般情况下,只对手机上最后一个登录用户进行消息推送
-测试PUSH时,需要采用真机进行测试
2 交叉事件测试
又叫事件冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰测试。如:APP在前/后台运行状态时与来电,文件下载,音乐收听等关键运用的交互情况测试等
执行干扰的冲突事件不能导致软件应用软件异常,手机死机或者花屏等严重问题。
-多个APP同时运行是否影响正常功能
-APP运行时前/后台切换是否影响正常功能。
-APP运行时拨打/接听电话。
-APP运行时发送/接收信息。
-APP运行时发送/收取邮件
-APP运行时切换网络(2G/3G/WIFI)
-APP运行浏览网页
-APP运行时使用蓝牙传送/接收数据
-APP运行时使用相机,计算器手机自带设备
-APP运行时插拔充电器
-注意各交叉事件的优先级别,检验系统是否能依据各事件的优先级别依次进行处理。不能因为执行优先级别高的事件而导致优先级别较低的事件吊死
-有中英文模式切换的手机要注意中英文模式切换后的功能实现存在的问题。
3 性能测试
3.1 极限测试
在各种边界压力情况下,如电池,存储,网速等,验证APP是否能正确相应。
-内存满时安装APP
-运行APP时手机断电
-运行APP时断掉网络
3.2 响应能力测试
-测试APP中的各类操作是否满足用户响应时间要求
-APP安装,启动,卸载的响应时间
-APP各类功能性操作的影响时间
3.3 压力测试
-反复/长期操作下,系统资源是否占用异常
-APP反复进行安装卸载,查看系统资源是否正常
-其他功能反复进行操作, 查看系统资源是否正常
-大数量的测试
在特定环境下,客户端一次性更新大量的数据及人员列表时,客户端能否正常处理,分为三种情况:
①客户端第一次使用,第一次就更新大量数据及人员列表
②客户端在平时更新中,更新大量的数据
③客户端已经在手机本地下载很多数据后,再次更新大量。
3.4 性能评估
-评估典型用户应用场景下,系统资源的使用情况
-Benchmark测试(基线测试):与竞争产品对比测试,产品演变对比测试等。
3.5 特定场景测试
-通过模拟终端低电量(例如5%电量)的状态来测试功能在该状态下的正确性。
-通过模拟终端处于特殊地理位置(如上海)来测试功能在该状态下的正确性
-通过模拟终端处于特定网络状态下(例如3G)来测试功能在该状态下的正确性
3.6 深度性能测试
-获取APP在典型使用场景及状态下消耗的电量流量消耗
-获取APP在典型使用场景及待机状态下消耗的流量
-获取APP在典型使用场景及待机状态下的CPU占用率
-获取APP在典型使用场景及待机状态下内存量
-获取APP特定页面的内容加载耗时
-获取APP退出的耗时
-获取APP在典型使用场景下的帧率
4 安全测试
4.1 软件权限
-扣费风险: 包括发送短信,拨打电话,链接网络等
-隐私泄露风险:包括访问手机信息, 访问联系人信息等。
-对APP的输入有效性校验,认证,授权,敏感数据存储,数据加密等方面进行检测
-限制/允许使用手机功能接入互联网
-限制/允许使用手机发送接受信息功能
-限制/允许应用程序来注册自动启动应用程序
-限制或使用本地连接
-限制/允许使用手机拍照或录音
-限制/允许使用手机读取用户数据
-限制/允许使用手机写入用户数据
-检测APP的用户授权级别,数据泄露,非法授权访问等。
4.2 安装与卸载安全性
-应用程序应能正确安装到设备上。
-能够在安装设备上找到应用程序的相应图标
-是否包含数字签名信息
-JAD文件和JAR包中包含的所有托管属性及其值必须是正确的
①下载JAVA程序是通常会发现是两个文件,即JAR和JAD
②JAR文件:是许多信息经过封装后形成的捆绑体,是一个压缩文件。
③JAD文件:是Java应用程序描述器文件
-JAD文件显示的资料内容与应用程序显示的资料内容应该一致
-安装路径应能指定
-没有用户的允许,应用程序不能预先设定自动启动
-卸载是否安全,其安装进去的文件是否全部卸载
-卸载用户使用过程中产生的文件是否有提示
-其修改的配置信息是否复原
-卸载是否影响其他软件的功能
-卸载应该移除所有的文件
-高/低版本覆盖安装
-安装、卸载、更新错误报告
4.3 数据安全性
-当将密码,信用卡明细或者其他的敏感数据输入到应用程序时,其不会被储存在设备中,不以明文形式将数据写到其他单独的文件或者临时文件中,以防止应用程序异常终止而又没有删除它的临时文件,文件可能遭受入侵者的袭击,然后读取这些数据信息
-输入的密码将不以明文形式进行显示,同时密码也不会被解码
-不同的应用程序的个人身份证或者密码长度必须有设定的要求
-备份应该加密,恢复数据应考虑恢复过程的异常
5 兼容性测试
-Android,iOS版本的兼容性
-手机不同操作系统版本的支持
-手机不同厂家系统的支持
-手机不同尺寸的支持
-手机分辨率兼容性
-网络的兼容性:2G/3G/4G/5G/wifi,弱网下,断网时
-不同浏览器兼容性
-与其他APP兼容性
6 安装、卸载测试
-生成apk文件在真机上可以安装及卸载
-Android手机端通过使用安装工具,如豌豆荚
7 网络测试
-外网测试主要现实模拟客户使用网络环境,检验客户单程序在实际网络环境中使用情况进行业务操作
-外网测试主要覆盖到WiFi/2G/3G/4G/5G/wap 电信/移动/联通所有可能的组合进行测试
-模拟信号屏蔽时候
-在高山,丘陵,火车上等特殊环境下进行全面测试。
8 接口测试
-client端和service端的交互
-client端的数据更新和service端的数据是否一致
-client端更新时断开
-client端更新时,service端挂掉