腾讯WeTest 发表于 2020-12-15 12:46:09

DevOps中的测试实践

万物皆可pipeline,流程自动化解放生产力。在DevOps的pipeline中,我们发现测试环节也需要一套流水线化的能力,来保证研发流程的大批pipeline稳定高品质交付。https://p6-tt-ipv6.byteimg.com/img/pgc-image/d22885c8dc2f47d6aeb7c8d4857c9bae~tplv-tt-shrink:640:0.image

下面介绍下DevOps中如何构建高水平全面的测试能力。
https://p1-tt-ipv6.byteimg.com/img/pgc-image/03701364594f45eb877808385aef02ba~tplv-tt-shrink:640:0.image

· 在DevOps中构建测试工作的难点(流程)在DevOps趋势下,测试部门从原先的大量集中测试,变成了高频快速测试。原先大部分企业采用纯手工测试的方式,从根本上无法适应DevOps的高频快节奏需求。滋生了对自动化测试的诉求。https://p9-tt-ipv6.byteimg.com/img/pgc-image/6da61e958f964653aa72db630b96a275~tplv-tt-shrink:640:0.image

· 头部企业测试部门的现状(组织架构)

https://p26-tt.byteimg.com/img/pgc-image/839751cfbded42edbaca003f167ae535~tplv-tt-shrink:640:0.image

文化、流程、组织架构,以及新技术(容器技术等)多重力量,助推测试的敏捷化。https://p9-tt-ipv6.byteimg.com/img/pgc-image/b464e374fabd43bfbc09a526972e8bea~tplv-tt-shrink:640:0.image

基于DevOps对测试提出的新要求,市面上也越来越多自动化测试的工具,开发者面对大量工具系统,往往需要经验和时间成本去筛选:
问题一、测试可以渗透到哪些环节https://p6-tt-ipv6.byteimg.com/img/pgc-image/f13b6bb68e484af189af25b666934b50~tplv-tt-shrink:640:0.image

在DevOps文化中,强调打破不同职能之间的隔阂,对于测试部门而言,意味着测试活动的"左移"和"右移",从需求分析到产品上线,各个环节把控质量。在一些偏研发和偏运维的环节,测试人员可以帮助建立整套质量评体系和工具组,来保障上下游的整体质量。问题二、在人员结构和组织架构等约束条件下,各环节选取什么样的测试方法和工具?· 测试管理
https://p26-tt.byteimg.com/img/pgc-image/bd9caf84d4074c9b81d36da747d0d96a~tplv-tt-shrink:640:0.image

https://p1-tt-ipv6.byteimg.com/img/pgc-image/33d2aba2f5d94983a3e9fed2847c07b0~tplv-tt-shrink:640:0.image

这种实际环境下,对测试管理平台灵活性的要求就很高。· 工作流程灵活可配置· 可集成现有管理系统· 过程/结果的可视化目前我们平台支持按工作流来组织测试计划,并分配任务,项目进度、人力分配可视化跟踪。测试本身也是一条流水线,支持用户向右无线扩展测试环节;每个测试环节支持向下无线扩展"测试任务项。https://p9-tt-ipv6.byteimg.com/img/pgc-image/4d5187e40c0b4d14ad23234d7677abea~tplv-tt-shrink:640:0.image

同时,平台支持jira/tapd等管理系统的集成,需求和缺陷打通。脚本方面支持打通git和svn,直接同步脚本到WeTest测试平台。· UI测试UI测试是门槛最低,最常见的一种测试类型。一般在功能验收,以及专项测试阶段比较常用。UI测试有web端和移动端。web端的测试主要以selenium框架为主。市面上也有比较通用的录制回放工具。移动端的UI自动化测试由于设备型号多而杂,给测试部门带来更大的挑战,近几年出现的移动端测试框架也越来越多。https://p9-tt-ipv6.byteimg.com/img/pgc-image/d5e6e8e8053848abae013758a2063dd2~tplv-tt-shrink:640:0.image

之前提到组织架构里外包比重较高,因此,UI自动化测试工具的使用门槛一定要低。业界有较多的脚本录制回放工具。在实际操作过程中,往往会发现这些工具有以下弱点
https://p9-tt-ipv6.byteimg.com/img/pgc-image/7774ecc71ef942fe8e2fabcb2c700e48~tplv-tt-shrink:640:0.image

除工具问题外,由于移动端UI测试涉及到大量设备的运维管理,在稳定运营的基础上,有效降低运维成本,提升运维效率,是进行日常UI测试的前提。对于硬件的运维,WeTest在管理上万台设备的过程中,总结出43条运维规则,自动识别和秒速处理"开发者模式误触关闭""内存占满""熄屏锁屏"等问题。保证机房7x24小时稳定运行,实现1个运维人员可管理上千台设备的效果。https://p6-tt-ipv6.byteimg.com/img/pgc-image/5dc37d8a4630496eabafe89a91eb22fc~tplv-tt-shrink:640:0.image

· 接口测试
· 适配性:支持的协议/报文格式范围更全面(例如近几年兴起的dubbo/grpc/trpc,以及经典的http/https,WeTest平台均可支持)https://p1-tt-ipv6.byteimg.com/img/pgc-image/f46fd6b34e5342ba99daa0f74dfcc0f7~tplv-tt-shrink:640:0.image

· 兼顾易用性和管理能力:既要像postman一样实时调试,又可以支持用例管理,测试任务,报告管理的管理功能,便于复用和进行历史追溯。目前WeTest平台可以满足需求
· 自动生成用例组织测试的能力:提供了fuzz 安全测试:支持随机填充、SQL注入、XSS攻击、OS命令注入等攻击模拟脚本的自动生成和执行。https://p3-tt-ipv6.byteimg.com/img/pgc-image/b252c83b282745adb09ea2694407a1c5~tplv-tt-shrink:640:0.image

https://p9-tt-ipv6.byteimg.com/img/pgc-image/d74748c99b8d4919a173ce36a9dfe447~tplv-tt-shrink:640:0.image

· 预处理脚本coding能力:灵活地进行逻辑控制· 上下游链路整合:支持链路性的接口测试,而不仅仅测试单个接口。前序接口输出作为后续接口参数输入· 压力测试
https://p1-tt-ipv6.byteimg.com/img/pgc-image/ad5feff3f7d04e30b80ebcaa4bb53865~tplv-tt-shrink:640:0.image

· 其他除了解决上述工具和系统的问题,我们在流水线上要有设置质量红线的意识质量红线不仅被用来保证转测/发布的质量,还被用来保证Git工作流的代码质量。避免低质量代码进入进入下一个环节,浪费下游测试资源,举例如下https://p6-tt-ipv6.byteimg.com/img/pgc-image/162cad66a60c4b21b8f8a8dd1b9258e1~tplv-tt-shrink:640:0.image

微信MR过程触发WeTest门禁https://p26-tt.byteimg.com/img/pgc-image/dd7ab6d4675542da8da598ddcf95905b~tplv-tt-shrink:640:0.image

腾讯WeTest平台服务于质量领域超过10年,拥有丰富的多行业(包括金融、游戏等)测试经验。2019年正式推出私有化部署解决方案,致力于服务对私密性、安全性有更高要求的企业,帮助企业打造属于自己的质量中台。https://p1-tt-ipv6.byteimg.com/img/pgc-image/56505f77f67b4570ac1d42dd1b7c4b28~tplv-tt-shrink:640:0.image



腾讯WeTest 发表于 2020-12-15 16:09:56

欢迎访问页面,查看解决方案介绍:https://wetest.qq.com/solution/private?from=others_content_private

页: [1]
查看完整版本: DevOps中的测试实践