140 likes | 277 Views
Extracting Test Cases by Using Data Mining; Reducing the Cost of Testing. Andrea Ciocca COMP 587. Topics. Data Mining Introduction Case-Based Reasoning Effort Estimation Automated Testing Test Cases in Web Applications Using Clustering Convert Software into Cases
E N D
Extracting Test Cases by Using Data Mining;Reducing the Cost of Testing Andrea Ciocca COMP 587
Topics • Data Mining • Introduction • Case-Based Reasoning • Effort Estimation • Automated Testing • Test Cases in Web Applications • Using Clustering • Convert Software into Cases • Define Case and Domains • Using CBR to Find Test Cases
Data Mining • Definition: the process of extracting patterns from large data sets by combining methods from statistics and artificial intelligence with database management.
Introduction • Testing in today’s software development • Cost derived from lack of testing in the billions • Importance of documentation in testing • The role of data mining in testing
Case-Based Reasoning • To solve a new problem by remembering a previous similar situation and by reusing information and knowledge previously acquired • How? • Retrieve • Reuse • Revise • Retain
Effort Estimation • a * SIZE^b • CBR • COCOMO
Automated Testing • Can reduce the cost of testing and therefore the overall cost of software development • Old scenarios must be re-tested in new releases • Automation can reduce time of testing and increase accuracy
Test Cases in Web Applications • Content • Transactions • User Interface • Stress • Database • Compatibility • Component Level • Navigation • Configuration • Workload • Volume • Usability • Security • Special Conditions
Using Clustering • Organization of a collection of patterns into clusters
Convert Software into Cases • A case X = (x1, … xn)is a single data item used by the clustering algorithm • Identify scalar components • Measure similarity • Euclidean distance (Murkowski)
Summary • Data Mining • Introduction • Case-Based Reasoning • Effort Estimation • Automated Testing • Test Cases in Web Applications • Using Clustering • Convert Software into Cases • Define Case and Domains • Using CBR to Find Test Cases