I thought of an automated solution to this question. If you kept track of the approximate total amount of time spent writing and maintaining a script, that would help prioritize the test. Assuming the testers are rational, they will spend more time on the more valuable tests.
The first tests to run are the "sanity test" or "smoke test" type tests. After all, what is the point of running a script that tests some complicated function when the program will not even start, for example.
In my opinion, Regression Tests are a lower priority. But they definately should be run before major milestones.
Test Cases related to recently modified functions should have a priority.
More recently written test cases are more likely to be more useful.
Areas of the product that can cause massive damage should always get more careful testing.
The areas of the program that will be heavily used by a typical user should be heavily tested, especially using the most common configurations. That way, the majority of users will have realatively trouble free operation.
Most recent versions of things should have priority, for example the beta version of the latest OS is good to test on. There will be problems, lots of problems, using early versions of supporting software, but it is as close to the environment that the users will use it in as you can get today, so it deserves good coverage. Also, consider, it will be much easier for marketing and support staff to encourage the users to upgrade to something newer than it would be to convince them to revert to something older. If you software doesn't work with the latest stuff, your product is dead.
Equivelency classes have to be used. Make sure that all areas are covered. It is not possible to cover all combinations, but each should be tried at least once. If there are two operating systems, and two printer brands, you should try each of the printers and each of the operating systems. Of course you would like to try all 4 combinations, but there might only be time to try two.
Try the possiblity that takes the most memory, is the most demanding. If it passes, the others are more likely to work.
Above answer was rated as good by the following members: saimadhu
I thought of an automated solution to this question. If you kept track of the approximate total amount of time spent writing and maintaining a script that would help prioritize the test. Assuming the testers are rational they will spend more time on the more valuable tests.
The first tests to run are the "sanity test" or "smoke test" type tests. After all what is the point of running a script that tests some complicated function when the program will not even start for example.
In my opinion Regression Tests are a lower priority. But they definately should be run before major milestones.
Test Cases related to recently modified functions should have a priority.
More recently written test cases are more likely to be more useful.
Areas of the product that can cause massive damage should always get more careful testing.
The areas of the program that will be heavily used by a typical user should be heavily tested especially using the most common configurations. That way the majority of users will have realatively trouble free operation.
Most recent versions of things should have priority for example the beta version of the latest OS is good to test on. There will be problems lots of problems using early versions of supporting software but it is as close to the environment that the users will use it in as you can get today so it deserves good coverage. Also consider it will be much easier for marketing and support staff to encourage the users to upgrade to something newer than it would be to convince them to revert to something older. If you software doesn't work with the latest stuff your product is dead.
Equivelency classes have to be used. Make sure that all areas are covered. It is not possible to cover all combinations but each should be tried at least once. If there are two operating systems and two printer brands you should try each of the printers and each of the operating systems. Of course you would like to try all 4 combinations but there might only be time to try two.
Try the possiblity that takes the most memory is the most demanding. If it passes the others are more likely to work.
In Normal Case Executing all the Test cases with Test Coverage is the best practice to fullfledged testing. If the time limits means... Prioritize the Test case is the good solution. before that the Build is ready for Sanity.
Those Prioritize Test Cases should cover the
1) Main Functionality 2) Authentication Process 3) Process Flow Over 4) GUI check( All buttons Links) 5) Condition Process