大概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流水线,也是容量保障的重要手段。
最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
全部资料获取