什么是软件测试架构师
软件测试架构师是一个新职位,但确实是一个非常必要的职位,主要有几点:
1. 根据V模型、广义测试概念等,(静态)测试的越早,发现缺陷越早,越有利于产品的质量、加快产品开发周期、降低企业的成本。更重要预防设计出现严重的缺陷,如果设计出现缺陷,在系统集测试发现问题时,所造成的返工将是可怕的。这就需要对设计进行复审、评审,而在这过程中,需要测试人员参与。
2. 对于当前系统越来越复杂,不管是J2EE架构还是.Net架构,不管是集中式网络系统还是分布式系统,不管是主机系统还是服务器集群系统,其设计往往不是一蹴而就,而且要基于以前的经验进行设计,根据教训(发现的问题)而优化系统结构。
3. 软件系统越复杂、提供的功能越多,其测试要求越高,这就决定系统必须具有良好的可测试性,这一点通过开发设计架构师来保证,不是十分保险。
4. 系统的性能、安全性、稳定性、可靠性等的测试,在技术、平台环境构造、系统部署上有很高的要求。
作为软件测试架构师,其主要责任是:
1. 审查系统架构、系统构件/组件及其接口关系等的设计
2. 确保系统的可测试性
3. 设计软件系统的测试策略和方法,特别是在系统的性能、安全性、稳定性、可靠性等方面的测试方法、技术线路和质量标准
4. 构件复杂的系统测试环境,并分析、解决测试中出现的较深的技术问题(Troubleshooting)和帮助做好缺陷的隔离
5. 对系统(性能、安全性、稳定性、可靠性)测试作出分析、评估,并提出为改善系统性能、可靠性而进行设计修改、代码重构的建议
6. 设计测试自动化的技术框架,主持重要的测试工具的研究、评估、设计
7. 参与系统部署的设计
8. 参与新技术的评估和引进
9. 帮助改进测试流程、提高测试效率
同时,招聘软件测试架构师,却是非常困难的,主要的原因有:
1. 对于大多数技术很好的工程师、架构师,对过程管理、测试策略和方法、质量等关注较少,理解不够,缺乏良好的RUP或CMM/CMMI方面的造诣。而测试工程师在技术实现上机会较少、努力不够,技术功底不够,所以具有在系统架构和测试方法等多方面能力很强的人,是不多的。
2. 目前国内业界还存在偏见,具有精湛的技术和丰富的经验的技术人员,更愿意做开发,不愿意做测试,这种现象偶尔表现在公司的薪水体系上、或者企业的管理层对此重视不够、决心不够。
3. 国内测试专业发展比较迟,自然在人才市场上,有经验的、专业的测试工程师就不多,更何况是技术精湛的测试架构师。
4. 软件测试架构师定位不清楚,企业没有给出清楚的责任和工作内容。
5. 技术人员随着年龄增大,倾向于向管理发展,多数企业的政策也是向这方面引导。例如副总、经理等管理职位薪水要比纯技术人员高。实际,在多数外资企业,很强的技术人员(架构师)完全有可能高于他/她的上司。
【编辑推荐】
源文档 <http://developer.51cto.com/art/201104/254069.htm>
What is a test architect?
Matthew Heusser recently asked What is a software architect anyway? Matt when on to ask what a test architectdoes. This question was so good (and the answer so long), that I thought I'd respond here.
So, what is a test architect. One answer is that it's a fancy title for an experienced tester. At Microsoft, we try to avoid this definition, and instead describe test architect as a senior test role with wide strategic scope. That's the short answer.
Here's the long answer.
There is no “typical” test architect role. Test architects focus on a diverse set of goals and perform a wide variety of tasks. Some spend time developing testing infrastructure, test authoring frameworks, or evaluating features in order to create complex tests. Some are in charge of a particular technology for their group. Others spend time consulting on how to improve test effectiveness. The common thread across all test architect roles and the primary responsibility of a test architect is to provide technical leadership and strategic direction for their testing organization. It is also expected that in addition to accountability to the current product, that senior test architects will consistently look beyond the current release and may have several deliverables not tied to a particular product release.
A test architect has in-depth knowledge of a variety of testing techniques and methodologies used both inside and outside of Microsoft. They often provide technical assistance and/or advice to the test Manager. The question often arises - “Shouldn’t the test manager be doing all of this anyway?” Typically, the test Manager is the individual providing leadership and formulating team strategy. However, as organization sizes continue to grow and/or the test manager takes on additional responsibilities, it often makes sense for a test architect to step in and assist with or deliver on these responsibilities. The test architect often takes on some leadership roles typically associated with the test manager. For example, while test managers certainly will implement change to grow their teams, the test architect is frequently the individual who provides technical leadership and strategic direction for their organization.
A test architect is expected to be able to affect change not only across the testing community, but between other engineering disciplines as well. Test architects must drive quality across all disciplines, providing guidance, feedback, and suggestions to improve quality practices across an entire engineering team.
While a few test architects may be focused on a specific problem or improvement, the goal for the test architect investment should be long-term improvement of the organization testing process and growth. Senior test leaders, when faced with an urgent problem or situation in need of quick improvement can typically find a solution. Broad or recurring issues, however, may require a test architect. The test architect should be thinking long-term and laying out a path for solving big issues over a long period and not focused on fighting daily fires. The test architect must be focused on defining the testing process and setting the test team up for continued success.
源文档 <http://blogs.msdn.com/b/alanpa/archive/2008/05/01/what-is-a-test-architect.aspx>
Test Architect
By John Morrison on Oct 08, 2007
源文档 <https://blogs.oracle.com/johnmorrison/entry/test_architect>