[APP测试要点 总结1]2024年4月3日
APP应用系统架构
客户端程序+应用服务器+数据库
APP 与 Web
相同点 :
1.该应用与Web应用采用了相同的后端服务器架构
2.前后端均采用HTTP协议进行数据传输(此外,在少数情况下可以通过socket协议实现数据传输)
不同点 :
- APP 采用了 C(客户端)/S 架构, 而 web 浏览器则采用 B(浏览器)/S 架构。
- APP 前后端交互的数据格式主要采用 JSON 格式进行, 而 web 平台前后端交互则主要采用 HTML 格式进行. APP 开发项目及发布平台之间开发环境与测试环境进行了分离设置.
APP 项目环境(后端)
开发环境:指的是技术人员在进行软件开发时所使用的运行环境设置。
测试环境:为测试人员提供的工作平台,在此环境下能够执行较为复杂的测试任务以及处理回归性问题。
预发布阶段:通常会配置生产数据库连接权限,并在此环境下完成相关功能验证工作。
生产环境中:指的是正式投入使用的服务系统,在此环境下可为实际用户提供稳定可靠的业务支持。
预发布环境过后,正式发布生产环境之前,一般会进行灰度发布
灰度发布:在同一个项目中,在一般情况下,在线上部署时会使用多台服务器运行的情况下进行灰度发布测试时通常会选择1到3台服务器进行测试。为此,在进行灰度发布测试时通常会选择1到3台服务器进行测试。考察新功能是否正常工作是必要的步骤之一。如果测试结果不理想,则只需回滚相应的服务器即可完成整个操作流程并返回稳定的环境状态。这样做会非常简便
预发布注意点
- 按照基本业务模块进行相应的功能验证。
- 为了确保系统的稳定运行,在开发阶段应当采用自定义数据集来模拟实际场景下的系统运行情况。
- 在升级过程中若遇到数据库结构变更的情况时,则应当首先将当前生产环境中的数据迁移至备用的测试数据库中进行相应的验证操作。
APP 应用发布(前端)
APP 开发完成后,相应的开发人员会打出程序包,由测试人员安装测试
安卓 :APK 测试包 xx.apk
IOS :IPA 测试包 xx.ipa
应用内测分布平台
蒲公英 、fir.im
应用线上发布平台
常用的发布平台和渠道:
安装应用 :豌豆荚、应用宝、360 手机助手、各类手机品牌商城
IOS 应用 :主要有 APP store、ITools
项目完成后
- 将 app 包上交至平台审核部门
- 为每个 App 包安排相应的平台账号
- 将各个平台账号整合至相应的应用包中
- 完成一次测试后立即进行发布操作
瀑布模型(线形顺序模型)
可行性研究与计划->需求分析->设计->编码->测试->运行维护
定义阶段 开发阶段 维护阶段
缺点 :周期过长、迭代速度慢 敏捷开发模式的介绍
概念:
敏捷开发则以用户需求的演变为中心,并通过迭代法和渐进式方法实现。在构建初期阶段,则会被划分为若干个子项目。每个子项目的完成成果均经过严格的测试,并确保其均具有直观可见性、良好的可集成性和运行实用性。换句话说,则是把一个大型项目分解成若干相互关联但又相对独立的小模块,在完成各自模块后保证系统始终处于可用状态。
代表性的敏捷开发模型:scrum
scrum 介绍
关键概念
sprint:一个最小的开发周期(一个迭代周期),需求分析-设计-编写-测试-发布
backlog:产品功能列表
scrum 三种角色
作为产品负责人:负责收集相关信息,并将其转化为具体的产品功能列表;同时按照重要性进行优先级排序
scrum master 项目经理: 保证项目稳定运行
Dev Team 开发团队: 开发人员 测试人员 ui 设计人员 保证项目的正常开发
scrum 敏捷开发流程
1.产品负责人收集需求,转化为产品功能列表
2.发起迭代会议,并对产品功能清单进行审核,筛选出高优先级的需求作为迭代内容。
3.项目组成员完成迭代任务的开发、测试工作
4.迭代结束后,开评审会,评估当前迭代任务的完成情况
5.开会反思。总结迭代过程中的好的与不好的地方
6.下一个迭代循环 2-5
APP 应用测试流程(一次迭代)
1.参与需求评估->2.规划并制定相应的测试计划及方案(在Scrum模型中该过程会更加简化)->3.编写相应的测试用例并组织评审会议->4.执行所有定义的用例,并跟踪缺陷的解决进度->生成完整的版本报告
2.制定测试计划和测试方案
- 要测试的功能模块
- 测试人员分工和时间安排
- 测试环境
- 测试策略
4.执行测试用例、跟踪缺陷解决
- 冒烟测试用例,开发执行
5.编写测试报告
- 邮件提交方式
- 覆盖范围内的功能模块
- 测试样例集合规模及潜在问题检测能力
- 缺陷统计与遗留问题分析
- 上线条件允许与否
APP 测试要点
1.功能测试
2.兼容性测试
3.安装、卸载、升级测试
4.交叉事件测试(中断)
5.PUSH 测试
6.性能测试
1.cpu 2.内存 3.流量测试 4.流畅度测试 5.启动速度 6.电量测试
7.用户体验测试
8.稳定性测试
业务功能测试
明确需求:基于软件文档遵循软件规范进行设计文档与用户需求分析以验证 app 各个功能模块的实现情况。
隐形需求
相关业务:功能影响到相关业务
其他角度:分支流程、逆向操作、异常操作
补充精简:测试策略、业务知识、测试经验
兼容性测试
兼容性测试关注点
1、⼿机型号
- 为主流安卓机型(包括三星Galaxy系列、小米手机系列、OPPO手机系列及华为手机系列)提供定制版系统支持
- 根据在线应用用户的设备类型进行排序统计
2、系统版本
安卓系统(5.0以上) ios系统(9.0以上)
3、屏幕尺⼨、分辨率
- 分辨率
1080•1920 、720•1280
- 屏幕尺⼨
5.5、 4.7
4、⽹络
2G、3G、4G、5G、Wi-Fi
5、应⽤兼容性
- 与⼿机硬件兼容
home键、电源键、⾳量调节等
- 与外部硬件设备兼容
⽿机、蓝⽛等
- 与操作系统软件的兼容
WLAN设置,系统调节时间、LBS定位等
- 与其他app的兼容
后台播放⾳乐时,进⼊动态⻚⾯点击动态视频的播放,系统如何处理
扩展:查看线上排名⽹站(流量研究所: https://mtj.baidu.com/data/mobile/device)
