Testing is an integral part of product development. Every product that we develop is tested at many different levels: automated tests (unit tests, feature tests, UI tests), and manual testing.
While the automated tests part is always provided for all projects, the manual tests part can vary based on the client’s needs.
Applies to most small and medium-size projects with a limited user base and not directly generating revenue.
The Product Managers and the Designers do basic testing. It covers the following areas.
Product Managers test every single user story against the expected results. Given how granular our user stories are, it means that the testing is extensive.
Product Managers regularly play around with the app(s) with a “how can I break it?” approach, which helps pinpoint issues that might have been overlooked or added by later deliveries.
Designers and Product Managers regularly review the app(s) and compare the UI to the initial designs to spot discrepancies. They also test the User Experience in real-life scenarios to assess areas of improvements and wrong hypotheses.
Applies mostly to large projects with a consequent user base and usually generating direct revenue.
Advanced testing covers all the areas of basic testing and goes beyond it. A team of professional testers executes it. Advanced testing can be provided in many different languages and covers many different devices and OS.
A team of testers explores the app(s) and their functionality. They build test cases and scenarios based on the explorations and the actual product specifications to cover as many cases as possible.
A team of testers runs through all the test cases and scenarios during every single iteration and before any application releases. There are usually hundreds of tests being run at the end of every sprint for a medium-sized application.