This is one of the favourite questions asked during an interview for Test Professionals. The answers that I have heard in various interviews have been as varied. The answer to this question could be a simple – “When a tester has exhausted all the test cases he built for the application under test”. But, recounting on my experience, the answer is not this simple. The requirement for ending a test cycle and saying that the product is “Ok Tested”, takes in a lot more than this. It depends mostly on what the team perceives as the “testing” being completed. It may be as basic as running a single command to as complex as creating a whole new suite of test frameworks to check the product/application.
A good answer from my end would be more like, all the basic user interfaces (user can be internal or external, api or ui, etc.) have been verified as working and all the user scenario’s possible (with regard to the business requirements documented) have been validated. This exercise should result in zero P1/S1 bugs and x% of other bugs (as defined differently across projects and/or Organizations), which have been carefully filed and are reproducible with the given steps. Comments to the contrary are welcome 🙂