Test Roles

There are several people involved in the development of software and several of them have quality assurance responsibilities. Job titles in our young industry are poorly defined, but I will try to list and define the roles as I see them.

Test Author

Test Runner


Developer in Test


I don’t remember when I first heard of the test author and test runner roles, but I’ve always like the idea of these specialties. A test author designs a test plan describing the approach used to test an application. They will often compose all of the test cases to be executed to ensure code coverage and fit to the lab environment. Test authors are highly experienced in testing software. Test Runners, in turn, are responsible for executing these test cases and, subsequently recording the test run results and any discovered bugs. Automated UI tests may be created by other role depending on their complexity.

Developers love to write code (and little else), but this doesn’t mean they shouldn’t be concerned and responsible for its quality. It is unfortunate most developers don’t understand the value of testing. In my opinion, developers must be responsible for writing automated unit tests to verify their code works as desired. Writing good automated unit tests requires knowledge of a testing framework and a testing mindset. It is a rare thing, but some companies have tackled this by specializing developers in writing code to test others’ code. These ‘developers in test’ have added a quality assurance mentality and master of testing tools to their development skills. I believe this is a growing trend as organizations continue to struggle with software application quality and maintenance. A developer in test works with QA in order to create frameworks to test difficult scenarios and generally speed up the execution of the more tedious test scenarios. It is important to note a developer in test is not just using an automated UI recorder or script. A developer in test is writing applications, frameworks, and coded tests in order to efficiently and sufficiently test an application. Additionally, a developer in test will create tests to verify and measure non-functional requirements like load, stress, capacity, and performance tests. Ideally, they can use these applications, frameworks, and tests across several applications.

In future posts, I will try to itemize the responsibilities of each of these roles.

Posted on April 10, 2010, in ALM. Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: