云化测试七种武器(上)
本文首先介绍了云化测试基本概念。之后,解释了测试左移、测试右移、高度自动化和智能化、数据驱动四项基本原则。最后,结合华为云Devcloud 的优秀实践,重点讲解了服务接口测试、在线全链路压测、Mock 服务、Web 全自动化测试、现网导流测试、现网拨测和AI 辅助质量评估,七种云化测试常见方法。对于测试人员了解并熟悉云化全流程持续测试,具有指导意义。
本篇为介绍云化测试基本概念部分。
1 云化持续测试基础知识
1.1 什么是云化持续测试
云化持续测试,是指基于云平台和测试自动化、智能化技术,对云原生应用进行持续、高效测试。
图1:基于云和AI 技术的云化持续测试
云化测试和传统测试的区别,主要体现在测试对象、测试架构和测试效能的不同。
图2:云化测试与传统测试的区别
1.2 云化测试四项基本原则
目前业界和华为公司的云化测试基础理念,可以总结成四项原则,水平维度,在测试生命周期上,推荐测试左移和右移。垂直维度上,在测试方法和基础数据上,推荐自动化、智能化与数据驱动。
1、测试左移:尽早开展测试,加强开发者测试。
2、测试右移:线上测试,覆盖发布和线上运行阶段。
3、高度自动化:测试设计、执行、分析自动化,减少全流程人力投入
4、数据驱动:利用数据对产品质量进行自动的反馈评估并持续改进
图3:云化测试四项基本原则
1.2.1 原则一:测试左移
测试左移,鼓励尽早开展测试、加强开发自测试、加强接口测试。通过契约测试,解耦前后端和服务间开发依赖
图4:测试左移
1.2.2 原则二:测试右移
测试右移,开展线上测试。在真实环境中进行测试,有效补充研发环境无法开展的测试场景。以业界在线测试开展较好的微软公司为例,在线测试可以进行如下维度的划分:
被动
- 被动监控:观察目标系统
-数据挖掘
-性能监控
-环境验证 - 试验:观察用户行为
-A/B 设计
-新版本质量验证
-狗粮/Beta
主动
- 主动监控: 基于用例
-API 测试
-用户场景测试 - 系统可靠性
-压力测试
-破坏性测试
图5:在线测试分类
1.2.3 测试左移右移之后的金字塔模型
理论上,测试金字塔模型中,单元测试比重最大,然后依次是集成测、端到端测试和UI 测试。但是,多个测试团队在实践中发现,单元测试开展的难度和代价较大,需要有充分的预留时间和专业的单元测试知识,才能高质量开展单元测试。在实际测试中,很多团队正在探索由金字塔模型向纺锤模型的演进,即减少单元测试,增强接口测试、契约测试、在线测试。
图6:由金字塔模型向纺锤模型的演进
1.2.4 原则三:高度自动化与智能化
尽量减少手工测试和手工操作。测试自动化不仅仅包括自动化测试执行,还包括其他所有可以减少人力投入的活动,例如自动化环境创建,自动化部署,自动化监控等。通过AI 辅助用例自动生成、结果智能分析等能力,提升测试效率,助力高度自动化的达成。
图7:高度自动化
1.2.5 原则四:数据驱动质量提升
利用内部研发数据和外部用户数据对产品质量进行自动的反馈评估
被测对象多层次的打点设计、各种方式采集用户的反馈数据、基于业务的指标模型设计
图8:数据驱动质量提升
- 点赞
- 收藏
- 关注作者
评论(0)