软件测试架构师究竟干哪些工作?
yuyutoo 2025-05-24 18:04 4 浏览 0 评论
2006年7月的一天,我在CSDN博客上写了一篇题为 “软件测试架构师——众里寻她千百度” 的文章,但那时打着灯笼都很难找到一位测试架构师。16年过去了,今天国内不少公司设置了“软件测试架构师”、“资深测试架构师”的头衔,看到这种令人高兴的变化。
开发架构师做的事情相对明确,但测试架构师做什么事情,却不是那么清楚,各个公司所设置这样岗位的差异性很大,1000家企业也许有1000种解释。据我了解,某家公司的测试架构师只是资深测试开发工程师的代名词,甚至有一家公司的测试架构师的开发能力的确很强,会根据测试人员的要求独立开发测试工具或测试平台,但对测试几乎一窍不通。这样的测试架构师差不多等同于开发架构师,但实际上两者还是有显著差别的,虽然有相同的部分。
1. 什么是测试架构?
为了更好地阐述测试架构师做的工作,先说说什么是测试架构?
众所周知,“架构(architecture)”一词来源于建筑,具有 “建筑学、体系结构” 等含义。建筑学的内涵要比体系结构丰富得多,但其核心往往关注其造型和体系结构的设计,综合考虑环境需求和使用者的需求,进行空间上合理的功能分配,满足安全、经济、适用、美观等需求,达到人和环境的和谐。
今天在软件行业,谈到架构,更多是通过高度的抽象来实现体系结构的设计,包括技术架构、产品架构、业务架构等等。那么测试架构体现在哪些方面呢?主要有:
- 测试过程建模,包括V模型、W模型、TMap模型、TPI模型等;
- 被测对象建模,包括有限状态机、业务流程图、时序图等;
- 测试平台或测试技术设施架构体系、自动化测试框架等;
- 测试模式,如分成测试模式(面向接口测试)、契约测试、探索式测试等;
- 测试用例/脚本结构,如何组织测试用例/测试脚本。
2. 测试架构对软件测试有何价值?
就像建筑学对建筑的价值、软件系统架构对软件产品研发的价值,测试架构对软件测试有重大价值——极大地影响测试效率和质量。可以说,测试需求分析在前,测试架构在后,然后才是测试用例设计、测试执行和测试评估。具体说,其价值有以下几点:
- 能够以简洁直观的方式讲清楚某类复杂的测试问题;
- 指导后续的详细的测试设计
- 基于被测对象的模型可以自动生产测试用例或脚本,提高测试效率;
- 基于被测对象的模型可以完成充分的测试,确保测试的质量;
- 如分层测试模式、精准测试,提升测试效率;
- 良好的测试平台架构,确保测试平台的稳定性、性能和安全性、扩展性等。
- ......
所以有必要设置测试架构师职位。
3. 测试架构师究竟在做什么?
了解了什么是测试架构,不说,你大概就知道测试架构师要做哪些工作,如测试过程建模、被测对象建模、测试平台架构体系设计、测试用例/脚本结构设计等,但不局限于这些,例如测试技术(如自动化测试)发展趋势的把握、测试工具或框架的选型等工作,还包括和业务架构师、开发架构师的对话,即评审业务架构、系统技术架构等,或帮助他们优化业务架构、系统技术架构等。
测试架构师是测试团队的技术带头人,在系统非功能特性的测试设计上(如全链路压力测试、混沌工程实验设计等)、自动化测试框架等方面发挥着主导作用;通过一个全局的观点、宏观的视角来理解软件系统作为一个整体是如何工作的,可以将具体问题抽象为一个模型,从而解决一类问题,并通过不断创新,找到解决问题的新方法,推广新的测试技术。
测试架构师的具体工作有:
- 了解国内外技术趋势,做好测试团队的技术规划,确保团队朝着正确的技术方向持续前进;
- 结合公司具体情况,引入和推广适合公司需要的测试新技术;
- 了解业界的普遍实践,对测试自动化或测试工具所涉及的技术提供很好的支持,或引导团队向正确的方向努力,不断地改进自动化测试工作;
- 制定设计软件系统的测试策略和方法,特别是帮助团队在系统的性能、安全性、稳定性、可靠性等方面的测试方法、技术线路和质量标准;
- 需要以全局的视角来把握软件测试项目,不仅要关注功能性需求,而且要关注非功能性测试,帮助团队确定测试的技术方案。
- 被测对象建模、复杂系统的业务建模等;
- 测试平台架构体系设计、自动化测试框架设计,包括重要的测试工具的研究、评估与设计;
- 复杂系统的非功能特性的测试设计(如全链路压力测试、混沌工程实验设计)等,参与系统的性能、可靠性分析,并提出为改善系统性能、可靠性而进行的设计修改、代码重构的具体建议;
- 参与业务架构、系统技术架构的评审,审查系统架构、系统构件/组件及其接口关系等设计是否合理,确保系统的可测试性等。
- 在复杂的系统测试中,帮助团队分析、解决测试中出现的技术难题(Troubleshooting),帮助做好缺陷的隔离。
- 帮助改进测试流程、提高测试效率
- 4. 测试架构师与开发架构师的区别
最后,如果你对软件测试感兴趣,欢迎百度搜索“特斯汀软件测试腾讯课堂”或关注公众号“特斯汀软件测试”,里面涵盖很多精彩免费视频或干货知识
- 上一篇:如何从软件开发人员成长为软件架构师
- 下一篇:你想当CTO、技术总监还是首席架构师?
相关推荐
- Linux内核网络设备驱动
-
1.接收数据包过程概述介绍数据包收包过程,有助于我们了解Linux内核网络设备在数据收包过程中的位置,下面从宏观的角度介绍数据包从被网卡接收到进入socket接收队列的整个过程:加载网卡驱动,初...
- 「技术」一文带你掌握Linux字符设备架构
-
一、Linux设备分类Linux系统为了管理方便,将设备分成三种基本类型:...
- 「技术干货」一文搞懂Linux内核调试方法(二)
-
上篇回顾:一文Linux内核调试方法(一)...
- Pytorch学习Day 5: 神经网络基础(nn.Module)学习课程
-
学习目标理解PyTorch中nn.Module类的作用和核心功能。掌握如何使用nn.Linear构建简单的单层神经网络。学会访问和打印神经网络的参数。通过代码实践加深对PyTorch神...
- 内存问题探微
-
这篇文章是我在公司TechDay上分享的内容的文字实录版,本来不想写这么一篇冗长的文章,因为有不少的同学问是否能写一篇相关的文字版,本来没有的也就有了。说起来这是我第二次在TechDay上做的...
- 阿里架构师的5年经验总结:盘点数据仓库常用的4大数据工具平台
-
数据仓库是解决方案,真正落地的时候,还要依托于工具平台。...
- 软考系统架构师2021_备考说明---软考高级之系统架构师_备考笔记
-
第一轮一个半月.这些是考试内容.这个通过率全国,只有百分之10左右..挺难的....
- 从 Java 程序员到架构师:技术进阶与能力跃迁的完整路径(深度版)
-
#程序员如何进阶为架构师?#从Java程序员到架构师:技术进阶与能力跃迁的完整路径(深度版)...
- 大厂架构师被A1逼疯:我20年经验不如A1五分钟生成的方案
-
程序员末日?AI竟包办八成代码!前端真的凉了?...
- 立志成为架构师的你请收下——架构设计的三种思维
-
软件架构的几个误区1.架构的目标即灵活性灵活性越好的架构越能适应未来变化的需要,但不是架构设计的目标,一味追求容易陷入另外一个坑,造成性能的损失和资源的浪费。2.一套成熟的开源框架就是架构框...
- 系统架构师之——软件开发方法
-
不管你是开发人员,还是互联网行业人员,基本上经常看到各种各样的软件相关的图,如什么架构图什么设计图什么模式图甘特图等。很多时候总是傻傻分不清。对此,我们很有必要对系统开发基础知识有认知。对于一名程序员...
- 系统分析师和系统架构师的区别是什么?
-
软考高级包括系统分析师、信息系统项目管理师、网络规划设计师、系统架构设计师和系统规划与管理师,其中,系统分析师和系统架构师这两个科目是大家很容易搞混淆的,因为都属于软考,所以他们的报考时间、报考条件都...
- 软件开发 “四高”的详细分析——高扩展
-
高并发架构的黄金法则:用“分治异步”玩转每秒10万+请求弹性架构:像搭乐高一样扩展你的系统杰夫·贝索斯曾说:“架构不是设计出来的,而是演化出来的。”高并发系统的核心在于...
- 复习七天通过软考高级系统架构师
-
前言软考复习的方式可以分为两种:报班和自学。首先晒一下成绩,开心的一批,虽然考的不是很好!!每科满分75,需要同时都>=45分才算合格。...
- 软件开发 “四高”的详细分析,即高并发、高性能、高扩展、高可用
-
高并发(HighConcurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。高并发相关常用的一些指标有响应时间(ResponseT...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
推荐7个模板代码和其他游戏源码下载的网址
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)