APP通用测试用例大全
APP安装
是否可以间隔版本覆盖安装。
是否可以覆盖安装更低版本。
应用是否可以在不同系统版本上安装(有的系统版本过低,应用不能适配)。
软件安装后的文件夹及文件是否可以写到指定的目录里。
安装过程中可以取消(杀进程)。
安装空间不足时是否有相应提示。
APP卸载
卸载,安装目录清理,SD卡存储数据不被清理。
是否可以删除应用(可通过桌面删除,也可以通过软件卸载安装。曾发现在IOS手机上有个应用安装时未完全安装,终止安装后,未完成安装的应用图标一直显示在手机上,并且无法成功删除)。
测试卸载后文件是否全部删除所有的安装文件夹。
卸载过程中出现死机,断电,重启等意外的情况,待环境恢复后是否可以正确卸载。
APP升级
当客户端有新版本时,有更新提示。
通过第3方软件升级。
升级中用户数据、设置、状态的保留,特别注意新版本已去掉的状态或设置。
如果升级有忽略本次版本升级,那么当有新的升级版本时,是否还有提示升级。
跨版本升级应该能成功。
选择非强制更新时,是否可以选择暂不更新和立即更新;是否可以关闭弹框不显示。
非强制更新弹框的提示频率,一般遇到的一天提示一次或固定时间提示一次。
大版本更新不升级无法使用。
当版本为强制升级版时,但给出强制更新后用户没有做更新时,退出客户端。下次启动App时,仍出现强制升级提示。
强制升级的弹窗是否可以关闭。
当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。
查看老账户升级后是否可以正常使用。
查看老账户升级后的老数据是否丢失或异常。
检查新功能替换老功能,是否按最新的逻辑执行。
检查旧版本上去掉或者隐藏的功能,对新版本有没有影响。
升级时断电、重启、来电等中断
APP启动与停止
首次启动是否出现欢迎界面,可否进入app,停留时间是否合理。
首次启动后拉取的信息是否正确。
再次启动时间是否符合预期。
再次启动app功能是否异常。
再次启动后状态检查:如初始化信息、初始状态、启动对网络。
再次启动进程服务检查:进程名、进程数、服务名、服务数、第三方调用的SDK如GPS。
再次登录的应用是否再次启动的时候正常登录。
出现崩溃是否可以再次启动。
手动终止进程、服务是否可以再次启动。
其他系统软件工具停止进程、清理软件数据,是否可以启动。
APP权限以及安全
需要用户确认的权限没有授权,权限默认关闭,相关功能正常。
联网权限被管家、系统安全类软件限制情况下的联网操作。
使用安全软件进行安全漏洞、病毒扫描、看被测app是否会被这些安全软件提示有问题而影响用户的对被测app的使用或者印象。
扣费风险:包括短信、拨打电话、连接网络等。
隐私泄露风险:包括访问手机信息、访问联系人信息等。
对App的输入有效性校验、认证、授权、数据加密等方面进行检测。
当将密码或其它的敏感数据输入到应用程序时,其不会被存储在设备中,同时密码也不会被解码。
密码、信用卡明细或其他的敏感数据将不被存储在它们预输入的位置上。
登录
登录用户名和密码错误时,界面有提示信息。
用户主动退出登录后,下次启动APP时,应该进入登录界面。
对于支持自动登录的APP,是否能自动登录成功。
密码更改后,登录时是否做到了有效数据的校验。
对于未登录时一些页面的操作,是否做了控制。
切换账号登录,检验登录的信息是否做到及时更新。
对于多个端都进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新。
对于一些软件,支持一个账号只允许登录一台机器,这时,需要检查账号登录多个手机时,是否将原用户剔除,且能够给出提示信息。
对于IOS与android不同设备登录同一个账号时,对个人信息等数据进行操作后,确保数据数库操作无误,且IOS与android设备看到的数据都是最新的。
用户登录状态太久,sessionId会过期,会出现“虽然是登录状态,系统会提示用户没有登录。
网络与流量
网络信号,尤其是弱网络环境下app的表现。
不同运营商网络:电信、联通、移动、2/3/4G。
网络中断、网络恢复场景的逻辑处理(如重试),以及网络提示。
首次启动app的流量是否符合预期。
统计、异常上报对流量的影响。
app中图片大小、尺寸是否有考虑对网络流量的影响。
基于流量安全的特殊业务,如仅WiFi下支持该功能。
对于一些程序,需要在登录进来后,这时没有网络的情况下可以浏览本地数据。
对于无网络时,刷新获取新数据时,不能获取数据且能给出友好提示。
对于一些界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据。
确认在无网情况下可以浏览本地数据。
无网络情况时能否正常进入免登录状态。
中断测试
停留在程序操作界面进行锁屏,恢复后检查操作是否正常。
停留在程序操作界面,通过home键,进行程序的前后台切换。
页面接口请求、界面框架加载时,通过home键、返回键、快速切换操作进行中断。
系统异常中断:关机、断电、重启、充电。
App切换到后台,再回到App,检查是否停留在上一次操作界面,功能及应用状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
当App使用过程中有电话/短信/闹钟/定时进来中断后再切换到App,功能状态是否正常。
出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。
对于有数据交换的页面,每个页面都必须要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。
App运行时使用蓝牙传送/接收数据。
App运行时使用相机、计算器等手机自带设备。
PUSH测试
检查Push消息是否按照指定的业务规则发送。
检查不接收推送消息时,用户不会在接收到Push消息。
如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到Push。在非免打扰时间段内,用户能正常收到Push。
当Push消息是针对登录用户的时候,需要检查收到的Push与用户身份是否相符,没有错误的将其他人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送。
测试Push时,需要采用真机进行测试。
兼容测试
分辨率、屏幕大小、系统版本、不同手机品牌。
与本地、主流App(安全、输入法、通信等)、竞品app是否兼容。
是否支持横竖屏自适应处理。
数据及存储
一般的增、删、改、查测试。
当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务器中获取回来并保存。
在业务需要从服务器端取回数据保存到客户端的时候,客户端能否将数据保存到本地。
当业务需要从客户端取数据时,检查客户端数据存在时,App数据是否能自动从客户端数据中取出,还是仍然会从服务器端获取?检查客户端数据不存在时,App数据能否自动从服务器端获取到并保存到服务器端。
app使用过程中产生的临时文件存储途径、命名方式等。
app中涉及的下载操作产生的文件存储方式。
存储的文件被锁、占用。
有外置SD、内置SD卡都要考察app产生的文件是否正确。
app被安装在SD卡或者手机存储空间。
磁盘空间不足、磁盘无权限(如读,写)。
性能测试
性能:核心操作的性能指标是:CPU/内存、响应时长、电量、流量。
稳定性:选择某些场景做持续反复操作;Monkey稳定性操作,持续多个小时。
流畅度:列表滑动、返回进入、快速点击(这个肉眼不好判断,可以借助GT)。