测试架构师如何落地性能测试方案(二)
进一步了解java架构师和测试架构师的工作内容
java架构师的工作内容
最近几天经过和系统架构师之间的不断沟通交流,才发现系统架构师一直做的工作并不是敲代码,之前一直以为系统架构师就是敲代码或者是设计架构或者是审核代码,但是经过了解才知道,系统架构师的工作主要是做一些架构设计、架构选型以及提供解决方案。
一般CTO下面会有几个系统架构师,基本上都是做Java出身的,然后架构师平时的工作就是在一个新项目立项的时候,架构师就会对这个项目的需求进行评估,然后根据需求来设计这个架构,在这个时候就要考虑到一些架构的选型,数据库的选型、缓存的方案,以及微服务分布式,以及一些基础架构的方案选型。
还有就是微服务框架的选型,以及数据表字段的设计。一个项目在最开始的时候,可能只有几个功能模块可能只有几个表,然后表里面的字段也只是几个主要的字段,但是这些主要的字段是架构师来设计的。然后在功能不断完善的情况下,才去不断建新表,增加新的字段。一般研发人员在增加新的表和新的字段的时候,都要和架构师进行沟通。
架构师在设计架构方案的时候,要考虑到未来随着用户的增多可能会出现高并发,所以要提前设计好可扩展性的架构。同时,还要考虑到项目上云的一些数据迁移等,以及各种版本迭代遇到的问题,都要考虑周到。所以说系统架构师,也就是Java架构师,要求经验非常丰富,而且技术非常全面。
测试架构师的工作内容
然后再说一下测试架构师:
测试架构师的研发经验可能没有系统架构师丰富,相对来说的话测试架构师主要是做测试方面的工作,但是也要熟悉系统架构,就是比普通的测试人员要高瞻远瞩高屋建瓴,在项目刚开始的时候,一定要和系统架构师以及开发人员产品人员频繁的沟通,非常熟悉这个系统的架构和数据流程图,以及里面的各种模块的代码结构,然后针对这个项目来设计自动化、持续集成以及性能测试,这就是测试架构师要做的事情。
测试架构师把具体的测试方案设计好之后,就要和测试组长以及测试开发人员,这里面也包括自动化测试人员、性能测试人员进行密切的沟通,把项目里面的细节传递给测试组的每一个人,做到信息透明。虽然测试架构师不一定要去敲代码,但是提出来的方案和意见一定要是非常可靠的,虽然不敲代码,但是一定要熟悉代码。也就是说,测试架构师一定要考虑到在代码可行性的基础之上,提出自己的方案!!!
测试架构师一定要考虑到:在代码可行性的基础之上,提出自己的方案!!!
另外,像我们在做的这单元测试、白盒测试都需要测试开发的参与其中,当然也要测试架构师参与其中,因为测试架构师会根据目前的这个项目的架构,提出比较合理的单元测试方法或白盒测试的方法。这中间可能就会提出一些比较好的测试建议,或者是一些比较好的测试工具,或思路。
我目前在做的就是一个测试架构师,由于平时项目特别忙,就是再打算招一个测试架构师,我主要做的工作就是自动化和性能测试方案的实施,另外还做问题的排查和定位,要熟悉项目的代码,平时和开发人员沟通非常频繁,绝对算得上是一个会测试的开发人员。