Testing is not a static task, its a process.As tester we test the application in our desk while software in maintenance/development/testing mode, If it move to live, client and N-number of users use application.The test cases run by us in our desk get run again and again N number of times.So the process get continuous in some other name.
But most of the situation, it consider as task.., :)
Consider the Text Field in one form, that accept numeric value 10 to 9654321987946545. Testers may write test cases for field, so many different input data and may try to automate and check with more number of test data with that field., Well, after all process, can able to assure 100% the field never accept invalid data??
In Some other way, Completing test comes under some different scenarios : Time, Money,Number of Passed Test cases, Standard that client want.., etc., Answer given by most of the managers(i guess) based on this criteria itself.
In Software testing, we have more than 250 types. Load test, Stress test, Integration test, User acceptance test,White box test,soak test, volume test, negative/positive test, ad-hoc test, Exploratory test, static, dynamic test.., etc., etc.,
Even if test the software with that more than 250 types, after that too, its impossible give the answer as 'Yes' for this question, "Is it complete testing?".
Because as all we know Software is versatile, continuously changing thing, cant able to freeze unless if it is not in use. :)
Why do we cant able to complete the test yet?
Last two decade Software testing field has much growth., we have N number of tools/resources(Yes, they not enough, and not enough tested itself :) ) in our hands to do the test effectively. But yet why do we cant able to attain 100% test completion., ?