携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第17天,点击查看活动详
1 app测试基础
1.1 app应用架构
- app和web使用的后端服务器是相同的
- 前后端通常使用http协议进行交互
- app是CS架构
- 前后端数据以json格式进行传输
1.2 项目环境和发布平台
- 开发环境
- 测试环境,也有可能划分成手工测试环境和自动化测试环境
- 预发布环境,项目上线之前,做最后一轮的验收测试,预发布环境的数据和生产环境的数据一致
- 镜像环境,当生产环境出现问题时,把生产环境的相关数据和代码全部拉到镜像环境,复现生产环境上的问题,测试辅助开发复现问题。
- 生产环境
总结:系统开发流程和对应环境
开发(开发环境)-测试(测试环境-预发布环境)-上线(灰度发布环境-生产环境)
1.3 灰度发布
灰度发布:就是指在发布生产环境过程中,先将所有服务器中的几个先进行升级,如果这几台服务器能够成功运行一段时间,那么再把未升级或者未发布的服务器进行升级,如果说先发布的几台服务器有问题,就需要回滚到原先的版本。
并且灰度发布是只针对部分用户而言,如果出现问题影响的也是少部分用户。
1.4 app项目发布平台(测试环境下)
-
两种安装包:Android(.apk) ios(.ipa)
-
获取app安装包的方式:
-
方式一
- .apk可以和开发直接要
- IOS将手机给开发人员,让开发人员安装对应的包
-
方式二:内测分发平台,测试包生成之后可以上传到平台,生成安装包的链接地址,然后下载测试包即可
- 蒲公英(国内)
- fir.im
-
-
生产环境下正式版本就可以在手机的应用市场上进行下载
1.5 敏捷开发模型实践-scrum
- 敏捷开发:以用户的需求为核心,采用迭代、循序渐进的方式进行软件开发。
在敏捷开发过程中,软件项目在构建初期会被切分成不同的子系统以及不同的迭代,各个子系统的成果经过测试,具备可集成的特性。
敏捷开发模型是一种思想,该思想有很多种实践方式。
- scrum
在项目开发过程中,是以增量的、迭代的开发过程,把产品分成若干个小迭代,每个小的迭代周期称为一个sprint,每个sprint周期大概是2-4周。
scrum的三种角色
- 产品负责人: 收集产品需求 确定产品上线时间 产品需求优先级
- 项目经理:实现scrum敏捷过程 确保按时完成任务
- 开发团队:开发 UI 测试...
2 app测试流程
- 需求评审,评审前一定要看需求文档
- 制定测试计划,一般由测试负责人或者测试主管制定
- 设计编写测试用例
- 测试用例评审(可能做可能不做)
- 搭建环境
- 冒烟测试(可能做或者可能不做)
- 执行测试用例,跟踪缺陷
- 提交版本测试报告