There are some points which indicate that testing is complete:
1-The exit criteria that was mentioned in the test plan document is achieved.
2-when we achieved no. of successful test case execution at a specified level.
3-when the rate of bug finding decreases from a specified level.
4-when the manager said that ok stop.
5-when we don’t have enough time to perform more tests and have achieved a specified level of quality.
6-when the cost of fixing a bug is more than the impact of the bug in the system.
There are a plethora of tools available online, but some are unable to deliver the desired results. I recently came across a tool called QAppAssure which allows you to test on-cloud and on-field devices, across 100+ device, make and models, Integrate with Jira, CI/CD tools, and also use Appium, Calabash, Espresso, UI Automator, XCUITest.