Matthew Heusser recently asked What is a software architect anyway? Matt when on to ask what a test architect does. 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.