Testing
Testing is an integral part of product development. Every product the team develops 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.
Basic Testing
Applies to most small and medium-sized 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.
Acceptance Testing
Product Managers test every single user story against the expected results. Given how granular the user stories are, it means that the testing is extensive.
Smoke Testing
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.
UX/UI Testing
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 improvement and wrong hypotheses.
Advanced Testing
Applies mostly to large projects with a consequent user base and usually generates 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.
Exploratory Testing
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.
Regression Testing
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.