云化测试七种武器(上)

敏捷小智 发表于 2022/01/04 09:42:40 2022/01/04
【摘要】 本文首先介绍了云化测试基本概念。之后,解释了测试左移、测试右移、高度自动化和智能化、数据驱动四项基本原则。最后,结合华为云Devcloud 的优秀实践,重点讲解了服务接口测试、在线全链路压测、Mock 服务、Web 全自动化测试、现网导流测试、现网拨测和AI 辅助质量评估,七种云化测试常见方法。对于测试人员了解并熟悉云化全流程持续测试,具有指导意义。本篇为介绍云化测试基本概念部分。1 云化持...

本文首先介绍了云化测试基本概念。之后,解释了测试左移、测试右移、高度自动化和智能化、数据驱动四项基本原则。最后,结合华为云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:数据驱动质量提升



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。