1、基于模型驱动的复杂系统测试方法和实践杨雷高级工程师,华为云计算杨雷12年测试从业经历,其中分别有9年云领域测试和3年测试架构设计经验,长期专注于自动化测试、测试工程能力、DevOps流水线以及测试架构设计领域。现任华为云某产品测试系统架构师,负责相关的架构设计和产品规划、测试自动化基础工程框架设计。同时,在华为自动化测试专题组和华为云测试工程工具TMG中担任相关工作。华为云计算 高级工程师目录CONTENTS问题背景01 核心解决思路02 关键技术03 实践效果04 01多云场景下复杂系统的测试挑战问题背景研发态交付态云服务上云维护态运行态50PM200PM1000PM云 服 务 数 量接 入
2、 用 户 数 量流 量 规 模金融工业政务城市互联网跨行业、跨领域的建云、用云、管云场景云的规模持续扩大业务流量复合增长云的生命周期有多种状态云计算复杂系统的特征挑战1:有限的时间、人力条件下,如何完成复杂系统的测试?云服务交付复杂场景的测试困境私有云:局点A架构版本A非标硬件云服务清单A规模XXXPM私有云:局点B架构版本B非标硬件云服务清单B规模XXXXPMCN-HB-Region公有云CN-GY-RegionCN-GZ-RegionCN-Other-Region公有云架构版本标准硬件全栈云服务云服务X挑战2:如何说清楚云服务在各种交付场景下的覆盖?测试资产的协同困境云服务A云服务D云服务
3、C云服务Bp 云服务A测试资产p 云服务B测试资产p 云服务A测试资产p 云服务B测试资产p 云服务C测试资产p 云服务A测试资产p 云服务B测试资产p 云服务C测试资产p 云服务D测试资产p 云服务C测试资产p 云服务D测试资产A团队框架B团队框架C团队框架D团队框架云服务A云服务B 云服务C云服务D云服务接口测试框架性能测试框架可靠性测试框架云解决方案其他专项框架资产团队领域业务测试挑战3:测试资产烟囱式建设,重复,难集成02测试系统探索思路解决思路问题本质u 缺乏规划问题本质u 缺乏标准脑力有极限业务无极限u 缺乏工程方法边际效应问题规模人力投入大型复杂系统的工程方法-产品线工程理论时间
4、维度:管理资产和产品演进(版本管理)多产品管理:管理产品线中资产和产品的多样性,即多产品管理(产品A/产品B)生命周期维度:资产和产品的生命周期活动(需求、设计、开发、测试、发布、交付)大型复杂系统的工程方法-软件工程理论12 Architecting the Future of Software Engineering CMU Software Engineering Institute高级架构范式、先进的开发范式可演化的确保方式,可演绎的推理结构系统整体演进方式基于可信装配组装的构建方式测试系统简述测试系统是测试团队特有的生产力,是测试能力和实例的综合体现。u 测试系统是被测系统的价值和竞
5、争力标尺u 测试系统是被测系统的生态系统u 测试系统让算力代替人力提供测试服务测试系统的核心价值华为 测试系统与测试开发白皮书测试系统:大型复杂系统的测试方案目标系统被测系统测试系统业务功能DFx功能功能支持集成验证系统伴生微服务/虚拟机/组件测试套/测试环境/测试工具软件包/补丁包测试系统编排包开发使能系统流水线、代码库、IDE测试系统开发平台/测试系统硬平台功能实现编排组成实现测试资产和测试能力开放共建。生态化测试资产全局唯一,消费和生成满足测试系统框架约束。标准化测试系统作为产品发布,版本化发布和演进,基于统一的框架协同应用。产品化与被测系统需求同源,架构同源、版本同步,历史可追溯。同源
6、化测试系统与被测系统是目标系统的一体两面测试系统:测试资产治理原则测试环境目标系统被测系统测试系统功能验证功能测试支撑调用支撑AW(Action Word):对外可感知的测试行为封装测试活动u 基于被测对象设计u 独立封闭性原则u 开闭原则u 全局唯一原则u 无状态原则u 最小SLA原则工程化的治理原子测试资产测试系统:测试资产工程原则CodeAW面对测试的多样化场景,测试资产应满足III工程原则(Importable、Invokable、Integrable)ImportInvokeIntegrate消费方式APISDK工程框架生产方式生成测试系统:测试资产与架构模型同源云管平台XXXXXX