APP测试需结合自动化与人工测试,覆盖功能、性能、安全等多维度。通过系统化流程与工具支持,可有效提升应用质量,减少线上问题。以下是app软件测试面试过程经常问的问题,希望对大家有所帮助!
安装测试:
1. 正常安装测试,检查是否安装成功,安装完成后,能否正常启动应用程序
2. 是否支持第三方安装,比如豌豆荚及91 助手等工具可以正常安装及卸载程序
3. 检测在各大手机市场上下载,并直接安装,看是否能正常安装,安装完成之后,能否能正常启动
4. 检测APP 版本覆盖测试(先安装一个低版本,不卸载。然后再直接安装一个高版本,看是否会覆盖低版本(直接覆盖是否成功,卸载之后,再下载新版本,看是否能安装成功。)
5. 检测版本回退(先装高版本,不卸载,直接再重新安装一个低版本,是否会覆盖高版本)
6. 检测在内存不足的情况下,去安装软件,系统应该会有提示
7. 在安装过程中,所有的提示信息必须是英文或者中文,提示信息中不能出现代码、符号、乱码等
8. 检测在未允许外来程序的安装的情况下,安装软件是否会有提示信息
9. 如果软件需要用到网络,GPS 定位,联系人等其他系统应用程序的时候,安装App会有相应的提示。在不允许的情况,软件是否能正常使用
10. 安装完成后,是否对其他应用程序造成影响
11. 多进程进行安装,是否安装成功(同时安装多个软件,是否能正常安装))
12. 在不同型号、系统的手机进行安装(兼容性)
13. 安装过程中,取消安装,再次重新安装,是否能正常安装
14. 安装完成后,检查手机桌面能否添加快捷方式。(是否有快捷图标生成)
卸载测试:
1. 正常卸载,软件是否能正常被卸载,相应的桌面图标是否会删除
2. 卸载之后,对应的文件是否删除干净#进入安装位置,去看下是否有残留的文件
3. 程序正在运行的时候,卸载程序,是否能正常卸载
4. 卸载过程中,取消卸载,看是否正常退出卸载程序,检查软件是否还能继续正常使用
5. 在没用使用程序时,删除目录文件,看程序是否能运行
6. 不同系统、硬件环境下进行卸载
7. 卸载成功后,是否对其他程序有影响
8. 卸载后再次安装,是否正常使用
9. 在卸载过程中,所有的提示信息必须是英文或者中文,提示信息中不能出现代码、是否有相关的提示信息
10. 卸载过程中,出现意外(比如手机关机,没电,查看信息,接打电话),程序是否还能运行
11. 在卸载过程中,突然重启设备,再次访问程序,是否还能运行
更新测试:
1.当客户端有新版本时,提示更新。
2.非强制更新,可以取消更新,旧版本正常使用,下次使用软件时,仍然会出现更新提示
3.强制更新,强制更新而用户没有更新时,退出客户端,下次启动,依然提示更新
4.不卸载,更新,检查是否可以更新
5.不卸载更新,检查资源同名文件如图片等是否更新成最新版本
6.非wifi 网络下,提示是否更新,取消就加入待下载,wifi 下自动更新
基本功能测试:(浏览器、微信内置浏览器)
登陆:目前H5 与native 各个客户端都做了互通,所以大家在测试的时候要注意两点:
A、若客户端已登录,那么进入H5 后仍然是登录状态
B、若客户端未登录,进入H5,点击对应按钮OR 链接,如果需要登录,须拉起native登录。若取消登录,是否可再次拉起登录,或者停留在的页面是否有对应的登录提示
翻页
遇到翻页加载的页面,需要注意内容为1 页或者多页的情况
A、数据分页加载时,注意后续页面请求数据的正确
B、用户主动点击刷新按钮是否仍然处于当前页面
C、点击返回与back 键,回退页面是否是期望页面
H5 适配相关
H5 的适配其实比客户端的相对来说,要少一些,手机品牌之间的差异不大,所以不用太多关注,最容易出现问题的是android2.3 系统,这个要特别关注下:
A、大屏(如720*1280,重点关注页面背景是否完全撑开页面,刷新是否有抖动)、
小屏手机(如320*480,重点关注下弹框样式和文案折行)
B、android2.3、android4.X 随机找一个即可
C、ios5、ios6、ios7
资源相关
A、页面中有图片的话,淘宝那边建议图片一般不大于50kb,本着一个原则,尽量缩小图片
B、资源是否压缩、是否通过CDN 加载
C、如何保证二次发布后有效更新
流量
A、对于一些不会变化的图片,如游戏动画效果相关图片,不需要每次都请求的东西,做本地缓存
B、数据较多时是否做了分页加载
页面展现时间
A、关注页面首屏加载时间。
页面提示
A、弱网络下,数据加载较慢,是否有对应的loading 提示
B、接口获取异常时,提示是否友好
C、刷新页面或者加载新内容时页面是否有抖动
手机操作相关
A、锁屏之后展示页面
B、回退到后台之后,重新呼出在前台展示
共同点:都需要进行界面测试、功能测试、兼容性测试、网络测试、交互性测试、易用性专项测试、异常测试、安全专项测试以及权限测试。
不同的是:Android测试除了以上的测试之外还要用monkey 进行稳定性专项测试以及用emmagee 或者gt进行性能专项测试。Ios 是用itools 工具对功能进行测试:安装、传输文件以及查看日志。从操作系统,安装卸载,按键操作;
开发语言这几个方面去区分操作系统:android 操作系统较多,IOS 较少只能升级不能降级,并且新的版本的资源库不能完全兼容旧版中系统中的应用,如果低版本应用调用了高版本的资源库,可能会导致系统崩溃。
安装卸载测试,应用发布后:下载安卓包的平台和渠道很多:豌豆荚、应用宝、360
手机助手等;IOS 主要有App store、iTunes,安全性会更高点
本地测试:安卓手机可以通过扫码或者直接安卓APK 包安装测试包;IOS 要安装测试包必须绑定手机的id(证书)才可以安装ipa 测试包
按键操作测试:安卓手机针对每一款手机有不一样的操作;苹果手机操作习惯单一
开发语言:虽然同样的业务安卓和IOS 的展示形式和业务一致,但是底层全完不一样
安卓的应用是有java 语言实现的;iOS 用OC 实现