1、移动应用持续交付闭环框架初探今天我们讲盛付通理财的故事 招财进宝主要功能 理财产品购买/赎回 钱包充值/提现 APP附属功能 重服务端-轻客户端研发流程现状需求分析设计开发开发等待测试发布需求池story开发测试storystory开发开发等待测试开发测试 分析设计 开发联调 测试用例设计 功能测试 集成测试 专项测试 回归测试 UAT 灰度 发布问 测试时间集中题:反馈延迟,存在浪费客户前置时间长提测版本质量偏低痛点 低效的流程 如何优化流程提高研发效率?空谈的流程 流程如何落地?失控的交付 如何提供高效的交付平台?反馈&管控交付闭环交付闭环迭代开发分析开发&测试版本集成发布需求池story
2、story交付闭环-基础设施建设1.1 盛付通版本策略asetag tagtagttaTestTrunkDevelopBranch1.2 配置管理 配置管理团队 配置管理 配置管理中心 配置文件配置信息发布单元主机信息主机信息配置信息配置信息发布单元1.3 环境管理 环境管理 VPC+Docker 手机+模拟器 仿真mock1.4 数据管理 发布物管理 发布单元权限管理 数据管理 数据库脚本化 测试数据管理2.1 交付闭环-BDD质量保证技术栈2.1 BDD-OneCucumber 基于Cucumber 跨平台(Android,iOS)2.1 BDD-OneCucumber架构OR机型定义pr
3、ofileAndroid执行器操作步骤实现业务场景Feature关键字定义平台适配器.feature fileiOS执行器env.rbCucumber环境设置OR2.1 BDD-OneCucumber 部署Cucumber Appium_libOneCucumber2.1 BDD report2.2 持续交付闭环持续构建质量保证技术栈2.2 持续构建-Jenkins构建版本否参数化打包脚本构建成功?先编译,再出包是测试标签版本 开发、测试发布标签版本 配管独立部署脚本否冒烟测试通过?是测试版本自动化部署测试版本冒烟测试生成版本标签部署测试生产版本人工触发自动更新Redmin 任务状态灵活性、可
4、靠性和效率之间的平衡否可发布?是发布标签版本2.3 交付闭环持续测试质量保证技术栈2.3 持续测试-分层实现基于BDD的功能测试自动化OneCucumber基于接口的测试自动化SOAPUI代码静态检查Scan-build2.3 持续测试测试阶段Dev&BuildDeploy&Smoke TestDeliver联性功能测试环境Feature Test调能预发环境Pre-Prod环测境试环境集成测试Staging生产环境Production2.3 持续测试 Jenkins plugin2.4 交付闭环持续发布质量保证技术栈2.4 持续发布-Redmine简介使用RoR开发的项目管理工具丰富的插件功
5、能,可以进行扩展树状结构,支持项目式管理、产品式管理可自定义跟踪项类型,适用各种管理跟踪需求基于RoR框架,修改方便,维护效率较高支持任务工作流,可定义各种状态变迁支持角色定义及访问控制统计报表功能相对简单资源管理功能不强多种类型自定义属性,方便维护跟踪项信息可以和第三方工具集成可保存的搜索和查询功能,快速过滤数据甘特图、进度、状态、工时统计等项目管理工具2.4 持续交付基于Redmine的“一站式”交付平台产品生命周期交付反馈交付平台Redmine修订记录版本历史持续集成缺陷状态发布单元状态更新JenkinsCI集成平台SDPQASVNQC自动构建发布单元状态更新自动化测试OneCucumb
6、er2.4 持续交付任务管理-Redmine发布任务基本信息发布清单关联bug关联需求2.4 持续交付 产品交付流程产品经理开发经理开发负责人测试经理需求评审设计、开发、测试产品UAT需求任务开已发布测试完成新建关闭发完成发布任务需求阶段 设计阶段 开发测试阶段交付阶段交付闭环-效果回顾分析开发&测试版本集成发布需求池 专项测试 回归测试 灰度发布 测评团 产品发布storystorystory优 测试前置,缩短周期点:自动测试,提高效率每日集成,高可用性功能迭代,小步快跑交付闭环-核心价值敏捷流程在质量控制领域的应用多平台整合后对流程的支持交付的快速反馈与有效管控未来的改进优化方向Facilityas code资源动态调度的CICI&Docker 环境&Docker环境自动化测试Q&A