ISTQB Certified Software Test Engineer

Monday, January 9, 2012

Clustering atechnique for improving test case Prioritization

Providing a quality product is a challenge for every originization.Different organizations follow different approaches for improving their quality standards,but for every approach a TestPlan and testcases are needed.

Consider an application which is having some hundreds of Test cases,if we need to perform a sanity test over the application ,How can we test??

What are the test cases that we need to test in sanity testing??'

For each and every test case we will assign some priority and we start testing high priority test cases in this situation.Now the question is How can we assign priority??
There are many ways to assign priority but one efficient technique is to use Clustering approach(Data Mining concept).
Clustering is a Datamining technique in which the objects(for us test cases)are divided into groups and objects in the same group will have similar futures.These groups are also called clusters.

How can we performing clustering on test cases??
The closest test cases in terms of code coverage are grouped into cluster.

How can we prioritize those test cases??

We can Prioritize them using
1.Code COverage
2.Code complexity
3.Fault History Information.

"A clustering approach to improve testcase prioritization" by Ryan Carlson an employee of "Microsoft" explained this process in IEEE international conference on software Maintenance.