扫码阅读
手机扫码阅读

聊聊测试团队的基础架构建设

132 2024-02-24
大概20年这个时候,听过公司一位架构师的分享,他提到了基础架构团队的定位和主要产出,即为整个技术团队提供所有研发活动开展所必需的基础设施。关于技术基础设施的目标,他定义了如下三点:
  • 成为全站稳定运行的基石
  • 成为业务高速发展的保障
  • 成为大家值得依赖的伙伴
换个角度,从测试工程师的视角来看,测试团队的基础架构设施包含哪些?它们的目标又是什么?这篇文章,我想结合自己的经验,谈谈我的一些想法。

基础技术设施的目标

从软件迭代交付的整个生命周期来看,测试要做的工作几乎贯穿了整个生命周期。
那么测试团队的基础架构设施所产生的作用,从我的角度来说,应该是如下几点:

保障测试活动高效率开展

测试团队的基础架构设施,首先一定是在整个生命周期内,对测试活动的开展提供高效率的保障。通过流程机制确保活动开展过程的正确和合理性,通过工具平台提高测试活动开展过程的效率,通过专业的方法为测试活动开展提供指导

支撑研发活动高质量进行

从软件工程角度来说,测试属于软件研发(开发、测试、运维)的一环。因此测试基础架构设施除了保障测试活动开展以外,还要对软件研发过程提供支撑。比如:质量门禁(准入准出标准)、质量内建(质量保障文化)、测试左移右移

辅助线上业务高可用运营

有句话这么说:测试环境的问题不是问题,线上问题才是问题。测试的基础架构设施,除了保障线下测试活动的开展,还要通过线上质量巡检、质量度量和质量运营,保障线上服务的稳定性,对线上业务的高可用运营提供辅助作用

测试基础技术设施清单

技术同学对于整个技术团队的基础架构设施,应该都比较熟悉,常见的有:
注册中心:Nacos、Consul、Zookeeper;
配置中心:Nacos、Apollo、Spring Cloud Config;
消息队列:Kafka、RocketMQ、RabbitMQ;
监控工具:Zabbix、Skywalking、Prometheus;
任务调度:Airflow,Azkaban、xxl-job;
代码管理:Github、Gitee、Azure Devops;
数据持久化:JPA、Mybatis、JDBC Template;
到这里打住!整个技术团队所需要的基础架构设施是覆盖多个方面的,复杂度肯定很高。但对于测试团队来说,基础架构设施就相对简单。我个人认为,测试团队的基础架构设施,主要是如下三个方面:
设施类型
详细分类
举例
流程规范
评审流程
需求评审、方案评审、用例评审、变更评审
提测流程
code review、code diff、CI构建、冒烟
测试流程
单元测试、集成测试、回归测试
上线流程
变更检查、线上验证
应急响应
bugfix、故障跟进、线上巡检
工具平台
需求管理
Jira、禅道、PingCode
用例管理
Jira、禅道、PingCode
bug管理
Jira、禅道、PingCode
造数工具
自建
度量平台
自建
知识库管理
语雀、飞书文档、Confluence
自动化工具
Appium、Cypress、PlayWright
性能测试工具
Jmeter、Locust、Ngrinder
方法策略
用例设计
\
单元测试
\
性能测试
\
接口测试
\
自动化测试
\
注意事项
  • 需求&用例&bug之间关联性很高,因此相关管理工具一般是技术团队的管理者选型决定;
  • 造数据和度量工具,暂时没有好用的,一般都是测试团队根据团队自身的需求自研搭建;
  • 用例设计方法,各种测试方法和策略,都是通用的,根据测试团队需求选择合适的即可;
  • 自动化测试并不是单独的选择工具或者搭建一个平台就行,而是需要融入到CICD流水线中;
  • 性能测试并非选个工具压测出报告就完事,它既可以融入CICD流水线,也是容量保障的重要手段。





原文链接: http://mp.weixin.qq.com/s?__biz=Mzg2NDAwMjM1NQ==&mid=2247487265&idx=1&sn=c271e8df15aba83705c8dced16920259&chksm=ce71477df906ce6be6c557eac53a75f623fd96653c407a234e310c9051de5de649c969544463#rd