Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Expertise browser: a quantitative approach to identifying expertise
Proceedings of the 24th International Conference on Software Engineering
IWSSD '98 Proceedings of the 9th international workshop on Software specification and design
Introduction to recommender systems: Algorithms and Evaluation
ACM Transactions on Information Systems (TOIS)
Finding Latent Code Errors via Machine Learning over Program Executions
Proceedings of the 26th International Conference on Software Engineering
Proceedings of the 28th international conference on Software engineering
Programming Python
Symbolic Data Analysis: Conceptual Statistics and Data Mining (Wiley Series in Computational Statistics)
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Not all classes are created equal: toward a recommendation system for focusing testing
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Improving bug triage with bug tossing graphs
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
A recommendation framework for allocating global software teams in software product line projects
Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering
Predicting the fix time of bugs
Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering
Basics of Software Engineering Experimentation
Basics of Software Engineering Experimentation
Hi-index | 0.00 |
BACKGROUND: Software testing can be an arduous and expensive activity. A typical activity to maximise testing productivity is to allocate test cases according to the testers' profile. However, optimising the allocation of manual test cases is not a trivial task: in big companies, test managers are responsible for allocating hundreds of test cases among several testers. OBJECTIVE: In this paper we propose and evaluate 2 assignment algorithms for test case allocation and 3 tester profiles based on recommender systems. Each assignment algorithm can be combined with 3 tester profiles, which results in six possible allocation systems. METHOD: We run a controlled experiment that uses 100 test suites, each one with at least 50 test cases, from a real industrial setting in order to compare our allocation systems to the manager's allocation in terms of precision, recall and unassignment (percentage of test cases the algorithm could not allocate). RESULTS: In our experiment, the statistical analysis shows that one of the systems outperforms the others with respect to the precision and recall metrics. For unassignment, three of our six allocation systems achieved zero (best value) for the unassignment rate. CONCLUSION: The results of our experiment suggest that, in similar environments, test managers can use our allocation systems to reduce the amount of time spent in the test case allocation task. In the real industrial setting in which our work was developed, managers spend from 16 to 30 working days a year on test case allocation. Our algorithms can help them do it faster and better.