Extracting Test Cases by Using Data Mining: Reducing the Cost of

advertisement
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)
Define Case and Domains
Using CBR to Find Test Cases
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
Questions
?
Download