Karla Schoenicke reviews why product managers should be involved in the testing process. Becoming an advocate and strong partner for your development team gives product managers more opportunities to deliver high-quality user experiences to customers.
A product manager’s job first and foremost is to deliver value to their customers with the products they oversee. In order to ensure quality, those products need to be tested. Testing before release in a well thought-out manner gives product managers the confidence to create and execute high quality products and user experiences.
Typically, however, product managers are only focused on testing at the very end of the development cycle, e.g., doing acceptance testing before the software is shipped to production. Essentially they are re-working issues during the final stages, when a lot of time and effort has already gone into the specific feature. Finding issues at the end is detrimental because now the team has to fix issues under high pressure and is blocked from developing new features, which means the cost of delay increases. If a product manager is not involved throughout the testing process, they have a difficult time truly owning their product. By involving themselves in the testing process early on, product managers are able to reclaim ownership of their product. For example, they can translate the product requirements into tests with their developers and write or review end-to-end tests with them, when possible.
To get started with understanding testing, the first step is looking at how testing organizations are broken down. Learning more about the different testing organizations gives product managers more context when thinking about their product from a testing perspective. There are many ways to break down how to organize a testing environment within an organization. The three main organizational versions are the separate quality assurance department, a dedicated quality assurance engineer in the development team, as well as the “quality hat.”
Separate quality assurance departments have mostly quality assurance professionals and SDETs, meaning the development takes place in another department and then the new feature is “thrown over the fence” to be tested in the QA department. This translates into long feedback cycles and a high potential of miscommunication.
A dedicated quality assurance engineer within the team does typically a mix of manual and automated testing and can serve as a sounding board for the developers and the product manager, i.e. by giving some assistance with acceptance criteria.
“Quality Hat” is when the responsibility of quality assurance is worn by the development team themselves, with no dedicated QA or QE role. In this model, the incentive is high to automate tests as much as possible.
The ideal setup is one where *everyone* is responsible for product quality and testing. The closest setup to that would be the “Quality Hat,” in this case. By thinking about the process in which the application will eventually be tested while the product is being developed allows your team to have a streamlined process and goal from start to finish. Collaborating across the testing pipeline also encourages the team to empower themselves to focus on a continuous testing model.
Product managers should also have a good knowledge of the types of tests that need to be run. Different types of tests should be run at various parts of the development lifecycle, and it’s important for product managers to understand each of them, including the types listed below.
Unit testing is designed to test individual units of code. The purpose is to validate each unit of the software code is performing as expected.
Integration testing is a level of software testing where individual units and components are combined and tested whether they work together correctly as a group.
Functional testing is the process of testing your application’s ability to work successfully with the operating system or device.
Accessibility testing is a type of software testing that tests how a site or application works for users with disabilities.
Performance testing evaluates how the system behaves under a certain workload. For example, how fast it can process a request while 2 million other requests are being made at the same time.
User acceptance testing asks the stakeholder (who could be a user or also the product manager) to verify or accept a specific functionality or an entire software system before the application is moved to the production environment.
Knowing ahead of time of what kind of testing might be required for a certain product can help confirm that the product manager and the development and testing teams are on the same page from the beginning of the creation process. Including the product manager in the whole process of developing and releasing software applications will allow them to have better visibility across the testing pipeline—so teams can be confident in the digital experience they provide to their customers. Becoming an advocate and strong partner for your development team gives even more opportunities to deliver high-quality user experiences. There are plenty of ways for product managers to engage with their testing teams more fully. Take a look at the Sauce Labs Blog to learn more about best practices in testing and see how you can integrate this into your own testing practices!