Testing involves conducting a variety of experiments to understand the product's actual behaviour, capabilities, and limitations, revealing insights beyond initial expectations or documentation.
Testing is:
- Ensure everything works as expected
- Identifying potential risks
- Uncover edge cases
- Promote culture of quality
- Be the client (Put yourself in shoes of clients)
The main objective of testing is to uncover risks that could affect the product's success, including vulnerabilities, performance issues, and other factors that might lead to failures in production.
When we talk about edge cases, there are testers that will seem efficient in the eyes of project managers but they will never add extra layer that might cover potential risk. Testing seeks to find those rare but critical scenarios that occur at the extremes, they cover what can happen in rare situation. Rare does not mean less risky. One "hole" can be very expensive if discovered in production.
Testing is not:
- Just writing test plan and test cases
- Only finding and reporting bugs
- Automate every single thing
- One time thing
While documenting test plan and test cases is necessary, effective testing goes beyond this, requiring critical thinking, creativity, and adaptability to new information and evolving requirements.
Testing isn't about assigning blame for defects. It's a collaborative effort to improve the product. A blame-free environment encourages open communication and teamwork, which are crucial for successful testing and quality assurance.
Having automated tests is a super useful, but it cannot replace exploratory testing and human judgment. Some scenarios necessitate manual testing to uncover issues that automated scripts might miss.
Testing should be integrated into every phase of development, from initial design to post-release maintenance. Itβs not just a final checkpoint but an non-stop process contributing to the product's continuous evolution and standard of quality.
Top comments (0)