Sergey Nivens - Fotolia
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.
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
Related Q&A from Gerie Owen
Web services and APIs aren't the same -- or are they? How do web services and API testing differ, and what does each type of test aim to achieve? Continue Reading
A script-based tool has replaced a daily testing exercise on some code. Is it simply an automated test, part of a test automation strategy or even ... Continue Reading
Developers and testers strive to create quality, reusable code to deploy apps faster and keeps users happy. But what metrics should they track to ... Continue Reading