招行 测试专家朱姗-DevOps 测试在企业中如何落地

说梦秋

2017/11/14 发布于 技术 分类

互联网时代,企业越来越注重产品的快速迭代与交付,当然产品质量也是举足轻重。企业在有限的资源情况下,快速的步调意味着更多的挑战,本次演讲重点在于测试人员如何无缝连接客诉,运营,产品,研发,运维以及高效快速搭建DevOps测试体系从而保证产品快速交付的质量。

文字内容
2. DevOps Test如何落地 Jusa DevOpsDays 2017·上海站
3. 目录 1 什么是DevOps测试? 2 如何适应DevOps的组织和文化 3 一个关于测试的故事 4 测试金字塔 5 建设可靠可重复的交付流水线 6 数字驱动改进 DevOpsDays 2017·上海站
4. 什么是DevOps 测试? 聚焦业务价值 流水线的任何阶段 12 快速反馈 4 3 自动化 DevOpsDays 2017·上海站
5. DevOps中沉默的脊柱 DevOpsDays 2017·上海站
6. DEVOPS给测试带来的好处 测试环境 虚拟化 自动化部署 自动化构建 变得简单 配置管理 数据更新 维护更便捷 提高测试效率 DevOpsDays 2017·上海站
7. 如何适应DevOps的组织和文化 打破部门壁垒 早参与,多参与 分享、信任、主 人翁 运用创新工具改 变做事思维和协 作的方式 拥抱变化,积极 响应团队目标 持续改进 DevOpsDays 2017·上海站
8. 一个关于测试的故事 • 准备测试数据耗时 长 • 依赖第三方,测试受阻 • 被动等待部署 • 抱怨测试效率低 • 测试环境资源紧张 DevOpsDays 2017·上海站 • 测试人员流动 • 新手上路耗时长 • 测试工程师配比有限 • 非自动化测试人员参与感 弱 • 半夜发版,人员疲惫 • Bug浮现
9. 剖析 01 分布图 工作的耗时占比 对比初期人力估算 计划表 02 03 焦点 等待,阻塞,浪费,瓶颈, 消极情绪 DevOpsDays 2017·上海站
10. 方案 1 管理层积极支持 跨部门协作 2 建设测试服务平台 搭建镜像管理平台 3 标准化分层测试 数字驱动改进 建设稳定可重复的交 付流水线 DevOpsDays 2017·上海站
11. Start small • 不要担心无法控制的事情 • 使用精益方法 • 找到一个愿意合作的伙伴 • 准备baseline,前后对比 • 改进一个测试流程,并分享 DevOpsDays 2017·上海站
12. 使用现在拥有的 • 自动化测试不是新技术 • 不要急于自动化,错误的自动化将造成技术债 • 梳理目前所用的自动化工具 DevOpsDays 2017·上海站
13. 单元测试 • 检测函数返回值 • 检测函数抛出的异常 • 检测接口被调用次数 DevOpsDays 2017·上海站
14. 接口测试 • 检测数据类型 • 检测数据格式 • 检测数据正确性 • 检测业务逻辑 DevOpsDays 2017·上海站
15. UI自动化测试框架 DevOpsDays 2017·上海站
16. 测试金字塔 • 更多的开发维护成本 • 增加执行时间 • 增加错误的可能性 User interface tests 10% or above Service /API layer tests 20% or above DevOpsDays 2017·上海站 Unit tests Number of tests 70% or above
17. 分层测试 Unit Tests Why:'>Why:'>Why:'>Why: 确保代码开发正确 What:'>What:'>What:'>What: 自动化测试始于单元测试 Who:'>Who:'>Who:'>Who: 开发和测试人员 When:'>When:'>When:'>When:在编写详细逻辑之前 Where:'>Where:'>Where:'>Where: 开发,测试和持续集成环境 Tools:'>Tools:'>Tools:'>Tools: Junit, Mockito + PowerMock eclemma/Ant/Jenkins/BlueOcean Frequency:'>Frequency:'>Frequency:'>Frequency: 每日多次&代码check in ROI:'>ROI:'>ROI:'>ROI: ü 高频执行,易于修改维护 ü 快速发现bug, 优先处理 ü 单元测试适用于任何应用 Suggestions:'>Suggestions:'>Suggestions:'>Suggestions: ü MVC分层进行单元测试 ü 5-10分钟内快速执行 ü 使用快速的单元测试覆盖尽可能 多的测试场景 Service API Tests Why:'>Why:'>Why:'>Why: 确保组件可正常工作 What:'>What:'>What:'>What:单元测试之后 Who:'>Who:'>Who:'>Who: 开发和测试人员 When:'>When:'>When:'>When: API开发完毕 Where:'>Where:'>Where:'>Where: 开发,测试和持续集成环境 Tools:'>Tools:'>Tools:'>Tools: Jmeter/httpClient/Ant/ Jenkins/BlueOcean Frequency:'>Frequency:'>Frequency:'>Frequency: 每日多次 ROI:'>ROI:'>ROI:'>ROI: ü 高频执行,易于修改维护 ü 在UI测试人员之前发现bug ü 减少UI 测试工作量 Suggestions:'>Suggestions:'>Suggestions:'>Suggestions: ü 5-15分钟内快速执行 User Interface Tests Why:'>Why:'>Why:'>Why: 确保系统之前正常工作 What:'>What:'>What:'>What: Service API之后 Who:'>Who:'>Who:'>Who: 测试人员 When:'>When:'>When:'>When:新功能开发完毕进入待测试环境 Where:'>Where:'>Where:'>Where: 测试环境和持续集成环境 Tools:'>Tools:'>Tools:'>Tools: Selenium/Appium/TestGN/Ant/ Jenkins/BlueOcean Frequency:'>Frequency:'>Frequency:'>Frequency:每日多次 ROI:'>ROI:'>ROI:'>ROI: ü 执行缓慢,维护成本较高 Suggestions:'>Suggestions:'>Suggestions:'>Suggestions: ü 尽量降低UI测试频率 ü 10-30分钟内执行 DevOpsDays 2017·上海站
18. 建设可靠可重复的交付流水线 编码和自测 代码合入,触发编译, 扫描和测试 日常测试 集成测试 Push 静态 扫描 单元 测试 模块 测试 Add/ Commit Merge 编译 微服务A 制作 Docker Img 系统 测试 Push 静态 扫描 单元 测试 模块 测试 Add/ Commit Merge 编译 制作 Docker Img 系统 测试 微服务B 端 到 端 的 集 成自 动 性化 能测 试 压结 力果 人 安工 全决 策 稳 定 性 测 试 编译,制作 Docker Img 提测 拉出 分支 准入 测试 编译,制作 Docker Img 提测 拉出 分支 准入 测试 \ \ 上线 端 到 端 的 集 成自 动 性化 能测 试 压结 力果 人 安工 全决 策 稳 定 性 测 试 灰度/生 产 发版->生 产镜像 灰度/生 产 发版->生 产镜像 生 产 监 控 报 警 DevOpsDays 2017·上海站
19. 搭建测试服务平台 测试数据 服务 • 初始化Job: 脚本+接口自动化 作用:提高效率 Mock • Mock Server可以定义多 套环境,各环境相互分离 • 配置请求来源IP和Mock 环境的映射 • 创建REST API的响应数 据 • 根据请求来源IP区分 Mock环境服务 • 被测系统的REST API请 求根据预先定义的规则返 回模拟响应 作用:降低耦合 日志搜索 引擎 • Elasticsearch:分布式全 文搜索引擎 • Logstash :收集、分析日 志,并将其存储供以后使 用 • Kibana :汇总、分析和搜 索重要数据日志 作用:快速定位问题 DevOpsDays 2017·上海站
20. 数字驱动改进 • 一天才能出测试结果? No! • 量化测试结果 • 报警推送收敛 • 多环境测试,秒级反馈 DevOpsDays 2017·上海站
21. 会议 培训 咨询 • 8月18日 DevOpsDays 上海 • 全年 DevOps China 巡回沙龙 • 11月17日 DevOps金融上海 DevOpsDays 2017·上海站 • EXIN DevOps Master 认证培训 • DevOps 企业内训 • DevOps 公开课 • 互联网运维培训 • 企业DevOps 实践咨询 • 企业运维咨询 商务经理:刘静女士 电话 / 微信:13021082989 邮箱:liujing@greatops.com
22. Thanks 荣誉出品 高效运维社区 国际最佳实践管理联盟 DevOpsDays 2017·上海站
23. 想第一时间看到 高效运维社区公众号 的好文章吗? 请打开高效运维社区公众号,点击右上角小人,如右侧所示设置就好 DevOpsDays 2017·上海站