Prioritize your Test Cases

Realizing that you cannot test everything, how do you prioritize your test cases?

Questions by rehman.scorpio

Showing Answers 1 - 24 of 24 Answers

StevenPace

  • Jul 13th, 2008
 

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

  Was this answer useful?  Yes

if time is limited then Prioritizing test cases can be done by considering

1)high critical functionalities and risk analysis
2) which are a part of Core test cases or scripts 
3) Areas which are highly accessed by the end user 
4) Positive test cases 
5) Functionalities/modules that are having more bugs  


Please suggest me if I am wrong

  Was this answer useful?  Yes

StevenPace answered this question well, so I will approach it from a different perspective.  The purpose of prioritization is to uncover the greatest number and most severe defects as early in the software development process as possible.  With this in mind, I would prioritize test cases by

1) least tested
2) least understood
3) most mission-critical
4) highest risk
5) greatest usage
6) most complex
7) most dependencies

push73

  • Mar 23rd, 2010
 

According the Customer Requirement, we need to prioritize the Test cases based on giving importance to functionalities.

  Was this answer useful?  Yes

preetchana

  • May 12th, 2010
 

Test Cases can be prioritized on the basis of following:
1. Test the main functionality
2. Test the areas with higher risk, that means where Tester feel that the coding is complex, and their is possibility of bugs.
3. Test the area which is mostly used by the customer/user.
4. Test just the major major functionalities rather than going into detail.
5. The New functionality if is implemented in this build/release.

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.

 

Related Answered Questions

 

Related Open Questions