目录
1、APP测试基础知识
1.1 APP应用系统架构
APP和Web的异同
相同点:
(1)APP和Web的后端服务器是相同的
(2)前后端都使用HTTP协议进行交互(也有部分APP使用socket来交互)
不同点:
(1)APP是C/S架构,Web是B/S结构
(2)APP使用时需要进行下载安装,有新版本需要升级,Web可以直接在浏览器访问,更新不用用户升级
1.2APP项目环境及发布平台
(1)开发环境
(2)测试环境
(3)预发布环境:连接生产环境的数据库(新代码+线上数据库)
针对基本业务进行测试;如果升级涉及到数据库结构变化,必须将生产环境的数据备份到测试数据库进行测试;涉及到写数据操作时,需要使用自己的测试账号,不能用线上用户的真实账号
(4)灰度发布策略:
灰度发布:一个项目线上部署时有多台机器运行,所以灰度1-3台(将部分流量引到灰度机器),看看新功能是否ok。如果失败则只需要回滚几台,比较方便
策略:灰度机器不宜过多,灰度时间一般持续一周-一个月之间,灰度发布时不影响用户使用;如果运行有问题,进行问题修复,如果问题比较严重,需要回滚代码,保障线上用户正常使用;如果运行无问题,在某个流量少的时间,不停机更新其他服务器环境
(5)生产环境
应用线上发布流程:测试完成- 提交app包到应用市场审核(应用宝,手机应用商店、APP Store)- 给每个APP 包分配平台渠道号- 将平台号打包到对应的APP 包进行测试-正式提交发布
1.3APP敏捷开发模式
瀑布模型:
需求分析-概要涉及-详细设计-编码-测试-运行维护
特点:开发周期长,迭代速度慢,不能适应需要变更
敏捷开发模型
以用户需求进化为核心,采用迭代、循序渐进的方式进行软件开发
将项目切分为多个子项目,每个子项目单独发布,保证软件较早使用,及时收集用户反馈,调整未发布的项目,满足用户实际需要
代表性的敏捷开发框架:scrum
角色:
产品负责人 项目经理(对当前项目安排、负责协调) 开发团队(开发、测试、UI)
开发流程:
产品负责人收集需求- 输出产品功能列表- 开计划会(评审优先级高的功能)- 迭代(需求评审、开发、测试、每日立会)- 反思会(问题复盘、后续规划)