构建测试平台与对应的组织架构需要哪些能力?

简介: 腾讯、阿里、百度、华为等知名公司里的测试平台与测试产品越来越多,他们是如何做的,又有什么样的价值,来听思寒仔细给你解答。### 01我们先来说下测试平台这几年开始火爆的原因。随着DevOps与持续交付的成熟应用,交付速度越来越快,对测试的要求也会越来越高。很多测试团队中都有大量的测试过程需要执行,比如手工测试、UI自动化测试、接口自动化测试、性能测试、安全测试以及大量的非功能/专项测试

腾讯、阿里、百度、华为等知名公司里的测试平台与测试产品越来越多,他们是如何做的,又有什么样的价值,来听思寒仔细给你解答。

01

我们先来说下测试平台这几年开始火爆的原因。

随着DevOps与持续交付的成熟应用,交付速度越来越快,对测试的要求也会越来越高。很多测试团队中都有大量的测试过程需要执行,比如手工测试、UI自动化测试、接口自动化测试、性能测试、安全测试以及大量的非功能/专项测试。
在持续交付体系下同时还要覆盖多套环境,比如关键测试过程还需要在联调环境、测试环境、预发布环境、线上环境等多套环境里重复的执行测试验证。
在git flow管理模式下,我们还要自动化的对相关的branch、tag甚至是commit进行细粒度的测试。以前通过jenkins来实现持续集成的方式已经很难管理这么多复杂的测试过程和测试数据了,测试行业里需要更高效的测试形态。

随着数据分析、图像识别、机器学习/深度学习/人工智能等相关技术在测试行业的落地,越来越多的智能化测试的方式开始涌现。

比如基于图形识别的自动化测试、测试用例自动生成、自动遍历与自动探索测试、diff测试、精准测试、基于历史数据自动识别bug,修正bug等等,这些测试技术与能力需要有好的封装以提供给整个团队进行高效的应用。

随着测试能力越来越丰富与强大,有些测试能力可以输出到测试之外的团队。比如通过测试左移的技术去支撑研发的质量改进,通过测试右移支撑DevOps的平稳运行,通过质量监控支撑产品与运营能力。

甚至阿里系的部分团队已经做到了可以直接支撑用户服务,比如在产品上线后,让客户自查质量问题以实现让客户快速响应跟进产品变化。部分测试能力不再局限于具体的岗位职责,而是逐渐的以测试服务的形式去服务更多的团队。

02

上述的三个趋势,给我们带来了一些思考。作为测试工程师,在这个趋势里应该如何发挥更大的价值?作为测试管理层,又该如何建设自己团队的测试能力呢?我们可以从康威定律里获得一些解答。

根据康威定律,测试团队如果想快速的提升团队的生产力,可以从四个方向入手。

  • 增加沟通效率
  • 快速迭代
  • 根据产品组织团队
  • 拆分为小规模团队

如果要满足前面提到的测试服务化、测试智能化、测试中台化趋势,结合康威定律可以得出这样的几个结论

  • 通过成熟的测试产品,管理测试能力,降低应用门槛与沟通成本,从而最终提高测试效率
  • 通过快速小规模的技术改进与创新,实现测试服务的快速迭代与能力提升
  • 根据测试产品,来划分对应的测试团队,而不再简单的根据被测业务与职能。
  • 让测试团队与其他团队之间像微服务那样调用,团队规模尽量不要超过经典邓巴数(5/15)

如果把这几点连接起来,我们就得到了一个未来的测试发展模式雏形。多个5到15人的测试团队,构建各种测试能力,管理团队测试过程,并持续改进,实现对自身和周围团队的产品级支持,这样就可以大大提高测试生产力。

从以上的发展趋势里我们可以看到,测试行业需要一种便捷的测试能力管理方式。他要具备如下能力

  • 管理内部测试过程,让测试效率更高,流程更顺畅
  • 管理内部测试能力与测试数据,降低应用门槛与应用成本,提高对测试数据的利用以提高质量
  • 输出测试能力到外部团队,支撑整个团队的高效率高质量交付

大家可以明显的看到,产品化、SAAS化是可以很好的满足测试行业的发展诉求的,也很好的符合了康威定律。
其实在阿里、腾讯、百度、华为等公司,对应的测试平台已经越来越多,小到自动化测试平台、测试用例录制平台、mock服务平台,大到压测平台、精准测试平台等,都得到了非常多的应用。测试平台也逐渐成了很多测试团队,甚至是研发团队的一个重要业务。
整个测试行业先后经历了几个重要的测试发展形态

  • 人工测试阶段
  • 自动化测试框架阶段
  • 低代码测试工具阶段
  • 测试产品与测试服务平台阶段

每次的技术改进其实都是生产力飞跃的一次重要里程碑。

但是随着测试开发人群的崛起,人们对测试平台的打造已经进入了疯狂的阶段,很多设计错误的测试平台也喷涌而出,甚至还出现了一定程度的测试能力倒退。比如经典的行业反例

  • 使用数据库维护测试用例,失去了强大的git版本管理能力
  • 使用在线手工编写用例的方式,失去了良好的编程模型支持
  • 使用了面条式的测试用例关键字结构,既缺乏page object模式支持,又缺乏复杂逻辑支持

这些问题会导致测试平台与产品不但不能提高测试效率,还会让测试能力退步,把测试团队拖入了难以维护的深渊。

03

那么如何应对这一趋势?什么才是好的测试平台?什么好的测试框架?个人和团队如何改进才能实现生产力的提升?
测试行业的资深测试架构师、霍格沃兹测试学院创始人思寒给大家带来了测试平台开发系列公开课。4月22,28号,在线跟测试大咖畅聊测试平台的构建。

原文链接

相关文章
|
6天前
|
运维 持续交付 API
从零构建微服务架构:一次深度技术探索之旅####
【10月更文挑战第28天】 本文记录了作者在从零开始构建微服务架构过程中的深刻技术感悟,通过实战案例详细剖析了微服务设计、开发、部署及运维中的关键要点与挑战。文章首先概述了微服务架构的核心理念及其对企业IT架构转型的重要性,随后深入探讨了服务拆分策略、API网关选型、服务间通信协议选择、容器化部署(Docker+Kubernetes)、以及持续集成/持续部署(CI/CD)流程的设计与优化。最后,分享了在高并发场景下的性能调优经验与故障排查心得,旨在为读者提供一套可借鉴的微服务架构实施路径。 ####
38 3
|
4天前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
2天前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
20 1
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
|
12天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
18 4
|
10天前
|
前端开发 API UED
深入理解微前端架构:构建灵活、高效的前端应用
【10月更文挑战第23天】微前端架构是一种将前端应用分解为多个小型、独立、可复用的服务的方法。每个服务独立开发和部署,但共同提供一致的用户体验。本文探讨了微前端架构的核心概念、优势及实施方法,包括定义服务边界、建立通信机制、共享UI组件库和版本控制等。通过实际案例和职业心得,帮助读者更好地理解和应用微前端架构。
|
12天前
|
监控 API 调度
开放源代码平台Flynn的架构与实现原理
【10月更文挑战第21天】应用程序的生命周期涉及从开发到运行的复杂过程,包括源代码、构建、部署和运行阶段。
|
2天前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
21 0
|
7天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
4天前
|
监控 安全 应用服务中间件
微服务架构下的API网关设计策略与实践####
本文深入探讨了在微服务架构下,API网关作为系统统一入口点的设计策略、实现细节及其在实际应用中的最佳实践。不同于传统的摘要概述,本部分将直接以一段精简的代码示例作为引子,展示一个基于NGINX的简单API网关配置片段,随后引出文章的核心内容,旨在通过具体实例激发读者兴趣,快速理解API网关在微服务架构中的关键作用及实现方式。 ```nginx server { listen 80; server_name api.example.com; location / { proxy_pass http://backend_service:5000;

热门文章

最新文章