云化环境中可靠性自动化测试能力提升实践_王朝金
2020-02-27 58浏览
- 1.16/4/26 云化环境中可靠性自动化测试 能力提升实践 作者姓名:王朝金 / wangchaojin 单位:华为技术南京研究所 时间:2016-04-16 www.huawei.com HUAWEI TECHNOLOGIES CO., LTD.
- 2.目录 • 可靠性测试的重要性 • 可靠性测试面临的问题、挑战 • 应对可靠性测试问题与挑战的思路 • 可靠性自动化关键能力要求分析 • 可靠性自动化测试能力实现原理 • 可靠性自动化测试技术实践效果 • 思考&交流 HISILICON SEMICONDUCTOR Page 2
- 3.可靠性测试的重要性 近期影响 • 收入减少 • 运营维护成本上升 • 客户满意度下降 • 损失赔偿 • 市场准入 • ………… 长远影响 • 客户流失 • 品牌价值蒸发 • 市场竞争力下降 • 产品质量口碑劣化 • ……… HISILICON SEMICONDUCTOR Page 3
- 4.可靠性测试面临的问题、挑战 测试环境要求高 • 消耗机器多 • 机器独占性强 • 组网复杂 专业技能要求高 • 要求掌握各种可靠性测试工具 • 要求深刻理解产品实现原理 • 对业务知识要求高 • 要求熟练掌握各种系统或平台使用方 法、常见问题定位 测试周期长 • 用例执行复杂度高 • 测试观察点多 • 用例执行高度依赖人工 HISILICON SEMICONDUCTOR Page 4 无法 低成 本、 快速 运行
- 5.应对可靠性测试问题与挑战的思路 如何做? 测试环境 l 快速申请 l 快速释放 l 缩短使用时间 à应对思路:环境自动获取/释放、自动化环境搭建 专业技能要求高 l 整合工具人机接口: 1)接口使用方式一致化 2)接口尽量傻瓜化 l 过程脚本化:使可以持续优化完善 à应对思路:测试使用的工具或产品知识,尽量固化到用例执行体中 测试周期长 l 用例全自动化:利用DSL降低维护难度,像代码一样维护、持续完善 à应对思路:抽象、提取公共能力和业务逻辑,使自动化易推广和维护 总结:可靠性测试的自动化是关键。 HISILICON SEMICONDUCTOR Page 5
- 6.可靠性自动化关键能力要求分析(1) 一、从用例的步骤来看,工具需要提供的能力 下图是用例自动化包含的步骤 用例 测试 过程 环境自动化搭建 测试数据预置 背景业务执行 领域相关 通用需求 结果设置 测试 需求 分层 领域 需求 通用工 具需求 环境自动化搭建 业务数据预置 通用故障注入 工具自动化部署 工具适应SUT伸缩的能力 …… 调用故障注入 故障构造 故障注入 调用结果检查 环境恢复 数据检查 结果判断 数据归档 …… 总结: 1. 工具能力支持分层开发、维护 构建开放的可靠性自动化测试工具,支持产品定制测试能力和通用工具能力分别开发、维护。 2. 工具使用要简单 允许非常容易地组合测试能力,完成可靠性测试用例的各个执行步骤。 3. 从可靠性测试能力角度看 大部分的故障模拟、数据采集分析能力通用性比较强,可以基于1和2的能力单独考虑开发维护。 HISILICON SEMICONDUCTOR Page 6
- 7.可靠性自动化关键能力要求分析(2) 二、可靠性测试工具要具备的能力 可靠性用例测试中,下图是故障能力与可靠性特性的关系示意图 可靠性 特性集 可靠性 自动化 能力集 成工具 支持故 障能力 分层次 设计 双机 弹性伸缩 可靠性测试工具 自动化部署 可靠性客户验收用例+产品用例基线 集群 容灾 系统监控 流控 备份恢复 备份恢复 故障告警 放通 ...... 用户界面动态配置 用户界面配置动态解析 故障注入执行 故障检查 通用故障注入 通用故障检查 产品族通用故障注入 产品族通用故障检查 定制故障注入 定制故障检查 通用可靠性能力包 产品族可靠性能力包 特定产品定制能力包 总结: 1. 可靠性测试工具最好对所有“故障能力”统一管理 1)统一管理可以屏蔽“故障能力”使用的多样性,使得接口对外展现一致化,方便测试人员使用。 2)统一管理要尽可能简化“故障能力”开发。理想是完全通过配置来完成。 2. 工具要对云化环境、传统环境统一适用 HISILICON SEMICONDUCTOR Page 7
- 8.可靠性自动化测试能力实现原理 开发工具,使支持各种组网、部件组合的可靠性测试 ၥᦶ工程 可靠性自动化工具实现的原理示意图 前台界面 1 ①界面故障注入/ 检查参数配置 1..N ②用户界面解析 ③AW与后台交 互:消息收发 后台SUT ⑤通用命令执行: 故障注入/检查 ④测试代理触 等操作 发后台执行 用例触ݎಗ行 代理ᨮᨱۖ作ಗ行 注:上图仅用于本次实践分享。 HISILICON SEMICONDUCTOR Page 8
- 9.可靠性自动化测试技术实践效果 好处:低成本、快速运行 一、提升测试效率 • 可靠性测试自动化意味着减少了人工低效重复劳动 • 提升了测试的创造性:人工投入更多地聚焦在测试设计、测试检查等测试 有效性上,这在客观上提升了测试的效果 二、更好地服务于版本质量 • 加入持续集成,使之持续运行,可以对版本质量起到看护作用 • 夜间使用机器,提升了机器的使用率,减少了资源浪费 三、放大了单个团队能力 • 自动化促进了测试人员的自动化技能提升 • 扩展了团队间公共能力的复用 • 使团队短期内可快速复用已有的可靠性自动化测试能力 HISILICON SEMICONDUCTOR Page 9
- 10.思考&交流 1. 可靠性自动化用例的测试与功能测试的不同点 有哪些? 2. 可靠性自动化用例的观察点很多时,如何提升 用例自动化效率? 3. 云化环境下可靠性测试与传统可靠性测试有哪 些不同点? ……… HISILICON SEMICONDUCTOR Page 10
- 11.Thank you www.huawei.com Page 11