Sergey Nivens - Fotolia

Get started Bring yourself up to speed with our introductory content.

How are testers and QA engineers involved in software design?

Learn how testers and QA engineers have started to get more involved in software design.

Traditionally, testers and QA engineers have had minimal involvement with software design. Design has been the role of the software architect, or team lead, for many years. Depending on the team, input from testers at this stage of the software development lifecycle isn't always valued.

But in some circumstances, that is changing. In particular, testers have a real contribution to make when one of the product goals is "design to test." Architects who recognize that contributions can come from a variety of sources are soliciting testing feedback when creating an overall design.

Testers have even more design contributions in Agile projects, especially when using test-driven development (TDD). Testers typically have a more complete picture of user needs, based on their in-depth understanding of user stories and interactions with the product owner.

Because design is something that grows with the application in Agile, testers can always look at what the developers are doing. If the team starts letting the design get complex or difficult to test, it's time to have a talk with the developers about making the design more straightforward. It may require a hardening sprint or two, but it will keep the debt down.

For testers, here are some of the things you might consider as you share your expertise with architects and developers.


  • Provide feedback on design for testability. You don't want to accumulate testing debt.
  • Get deeply involved in TDD projects. This is your area of expertise.
  • Provide feedback on design decisions during an Agile project.


  • Attempt to give advice outside of your area of expertise.
  • Reject feedback on your design ideas. Everyone has something to contribute.

Next Steps

Demand for security and compliance skills on the rise

How does the software development lifecycle differ for mobile apps?

Understand TDD, BDD and other Agile test-focused dev techniques

Dig Deeper on Topics Archive

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

Who do you think plays the most integral role in software design?
The customer, of course. Programmers and engineers may create the software itself, but every part of the process is focused around what will be best for the customer. Within the company, the person who finds out - and tells us - what customers want ultimately has the most influence on the final product. We did try experimenting with fulfilling one person's vision of the product, but over time, switching focus this way helped improve our final products.
Hi James,
Thanks for the feedback and great answer! Without the customer the entire development team is irrelevant. So in some ways it doesn't matter who on the team is doing the designing as long as they're designing software to meet the customer needs. Well played!
I would say this question is a bit hazy.  I wouldn't give the responsibility only to testers or QA, I would more than likely have someone as a Product owner help decide on features, and then the whole team could decide the best way to accomplish it.
Generally QA and testing are not involved in design but suggesting ways to make design and testing of products easier is something they should do.
Being on an agile team, QA is typically involved fairly up front in the process. I prefer to become involved as soon as a project has financial approval and I know that the team will be working on it at some point in the future. 

I like to have at least one developer and one QA, if not more, plus the BA or product owner, involved in a story blast for an upcoming theme. It serves to bring a different perspective to the table early on.