APP测试全流程以及测试点
一、APP测试完整流程
1.需求评审
目标:深入理解需求,从测试角度提出疑问和风险点;
做什么:参与产品、开发、测试三方会议;理解每个功能点的业务逻辑、用户场景和预期结果;思考这个需求到底要解决什么问题?
2.测试计划与策略
目标:制定测试方案,分配资源
做什么:确定测试范围(测什么、不测什么)、测试的重点、所需要的资源(设备、账号、时间)、是否引入自动化/性能测试、风险预估
3.测试用例设计
目标:将需求转化为可执行的测试步骤;
做什么:使用思维导图Xmind梳理测试点,然后使用等价类、边界值、场景法等设计方法编写详细的测试用例(前置条件、步骤、预期结果)。
4.测试用例评审
目标:查漏不缺,确保用例覆盖全面;
做什么:邀请产品、开发、其他测试同学一起进行用例的评审;开发能帮你发现逻辑理解错误,产品能确认是否符合预期,测试同行能提供更多测试角度;
5.测试执行
目标:执行用例,发现并提交bug
做什么:根据测试计划,执行冒烟测试(决心东是否开展全面测试)、功能测试、回归测试(验证bug修复且未引入新问题)。详细、准确地记录bug
6.缺陷管理
目标: 跟踪bug的生命周期,直至关闭;
做什么:使用Jira、Tapd等工具提交bug,并包含:清晰标题、复现环境、详细步骤、预期结果、实际结果、日志/截图/录屏。定期跟着bug状态,与开发沟通;
7.测试报告与总结
目标:汇报测试结果,为上线提供决策依据;
做什么:输出测试报告,内容包括:测试概述、测试结果、Bug统计与分析(数量、严重等级、模块分析)、遗留风险、上线建议;
二、核心关注维度
在实际项目中,你会从以下多个维度对App进行考察:
维度 | 核心关注点 |
功能测试 | 业务逻辑是否正确、需求是否实现;这是最根本的测试 |
兼容性测试 | 在不同的设备、操作系统、屏幕尺寸、网络环境下是否能正常工作 |
性能测试 | App的响应速度、流畅度、耗电量、流量消耗、内存占用等 |
用户体验测试 | 界面布局、交互设计、操作流程是否符合用户习惯,是否美观易用 |
稳定性测试 | App是否会出现崩溃、闪退、无响应等问题 |
安全测试 | 数据加密、权限控制、漏洞扫描、业务安全(如越权操作)等 |
接口测试 | 测试App与后端服务器交互的API接口是否正确、可靠、高效 |
升级/安装测试 | 覆盖安装、平滑升级、强制升级、安装失败等场景 |
三、详细测试点
1.功能测试:
业务逻辑:核心功能流程是否畅通(如:登录-》浏览-》架构-》下单-》支付-》成功)
边界值:输入框字符长度限制(如:用户最多20字符,第21字符是否被截断或提示?)
异常场景:
- 网络异常:断网、弱网、网络切换(4G/5G/WIFI)下的表现,是否有友好提示?
- 交互终端:来电、短信、弹窗、低电量、插拔USB线、切换至后台再切回;
- 数据异常:提交非法数据(如特殊字符)、服务端返回错误信息时,客户端如何处理?
权限控制:拒绝App所需的权限(如相机、定位)后,相关功能是否正常(是无法使用还是引导开启提示)?
2.兼容性测试
操作系统:覆盖主流的IOS和Android版本(如IOS 15-17,Android 11-13)
设备型号:不同厂商(华为、小米、OPPO、VIVO等)、不同屏幕尺寸和分辨率(全面屏、刘海屏、折叠屏)
第三方应用:与常用App(如微信、支付宝、输入法)的兼容性;
3.性能测试
- 启动速度:冷启动、热启动的耗时
- 页面加载:首页、列表页、详情页等页面的加载和渲染速度;
- 内存占用:长时间操作或频繁切换页面,内存是否存在泄露(持续增长)?
- 耗电量:连续使用30分钟/1小时的耗电百分比;
- 流量消耗:执行特定操作(如浏览10条视频)所消耗的流量;
- CPU占用:操作时CPU的使用率是否异常过高
4.用户体验测试
- 界面布局:文字、图片是否显示完整,有无重叠、遮挡、错位
- 交互反馈:点击、滑动等操作是否有及时的视觉或触觉反馈(如按钮按下效果)
- 提示信息:操作成功/失败的Toast、弹窗提示是否清晰、友好
- 导航路径:返回逻辑是否清晰,是否符合平台习惯(IOS无物理返回键需特别注意)
5.稳定性测试
- Monkey测试:使用Android ADB 命令或第三方工具进行长时间随机压力测试,看是否会崩溃
- 边界压测:快速、连续地操作某个功能(如疯狂点击按钮),看应用是否处理得当
6.安全测试
- 数据安全:敏感信息(密码、支付信息)是否明文存储或传输?是否做了加密?
- 越权操作:普通 用户是否能访问或操作管理员才能看到的数据和功能?
- 日志安全:App的日志文件是打印了敏感信息?
- 安装包安全:是否可反编译、二次打包?
7.接口测试
- 接口功能:请求参数正确时,返回预期结果
- 参数验证:参数错误、缺失、类型不对、值为空时,服务端是否返回正确的错误码和提示?
- 安全性:接口是否做了鉴权?未登录或token 失效能否访问?
8.安装/升级测试
- 全新安装:能否正常安装、启动?
- 覆盖安装:新版本覆盖旧版本后,用户数据(如登录状态、缓存)是否保留?
- 版本升级:跨版本升级(如从V1.0直接升级到V3.0)是否正常?
- 强制升级:旧版本是否提示升级,并阻止用户使用是否升级?
在实际项目中,你不需要每次都对所有点进行穷尽测试。要根据项目的版本特性、时间、资源和风险来决策本次测试的重点;如:本次版本只是修改按钮颜色,那重点就是UI和回归测试;如果是重构了支付模块,那功能、性能、安全测试都是重点;
四、