2006年7月的一天,我在CSDN博客上写了一篇题为 “软件测试架构师——众里寻她千百度” 的文章,但那时打着灯笼都很难找到一位测试架构师。16年过去了,今天国内不少公司设置了“软件测试架构师”、“资深测试架构师”的头衔,看到这种令人高兴的变化。

开发架构师做的事情相对明确,但测试架构师做什么事情,却不是那么清楚,各个公司所设置这样岗位的差异性很大,1000家企业也许有1000种解释。据我了解,某家公司的测试架构师只是资深测试开发工程师的代名词,甚至有一家公司的测试架构师的开发能力的确很强,会根据测试人员的要求独立开发测试工具或测试平台,但对测试几乎一窍不通。这样的测试架构师差不多等同于开发架构师,但实际上两者还是有显著差别的,虽然有相同的部分。

1. 什么是测试架构?

为了更好地阐述测试架构师做的工作,先说说什么是测试架构?

众所周知,“架构(architecture)”一词来源于建筑,具有 “建筑学、体系结构” 等含义。建筑学的内涵要比体系结构丰富得多,但其核心往往关注其造型和体系结构的设计,综合考虑环境需求和使用者的需求,进行空间上合理的功能分配,满足安全、经济、适用、美观等需求,达到人和环境的和谐。

软件测试技术员是干什么的(软件测试架构师究竟干哪些工作)(1)

今天在软件行业,谈到架构,更多是通过高度的抽象来实现体系结构的设计,包括技术架构、产品架构、业务架构等等。那么测试架构体现在哪些方面呢?主要有:

软件测试技术员是干什么的(软件测试架构师究竟干哪些工作)(2)

2. 测试架构对软件测试有何价值?

就像建筑学对建筑的价值、软件系统架构对软件产品研发的价值,测试架构对软件测试有重大价值——极大地影响测试效率和质量。可以说,测试需求分析在前,测试架构在后,然后才是测试用例设计、测试执行和测试评估。具体说,其价值有以下几点

所以有必要设置测试架构师职位

3. 测试架构师究竟在做什么?

了解了什么是测试架构,不说,你大概就知道测试架构师要做哪些工作,如测试过程建模、被测对象建模、测试平台架构体系设计、测试用例/脚本结构设计等,但不局限于这些,例如测试技术(如自动化测试)发展趋势的把握、测试工具或框架的选型等工作,还包括和业务架构师、开发架构师的对话,即评审业务架构、系统技术架构等,或帮助他们优化业务架构、系统技术架构等。

测试架构师是测试团队的技术带头人,在系统非功能特性的测试设计上(如全链路压力测试、混沌工程实验设计等)、自动化测试框架等方面发挥着主导作用;通过一个全局的观点、宏观的视角来理解软件系统作为一个整体是如何工作的,可以将具体问题抽象为一个模型,从而解决一类问题,并通过不断创新,找到解决问题的新方法,推广新的测试技术。

测试架构师的具体工作有:

软件测试技术员是干什么的(软件测试架构师究竟干哪些工作)(3)

软件测试技术员是干什么的(软件测试架构师究竟干哪些工作)(4)

最后,如果你对软件测试感兴趣,欢迎百度搜索“特斯汀软件测试腾讯课堂”或关注公众号“特斯汀软件测试”,里面涵盖很多精彩免费视频或干货知识

,