Scheduling functional regression tests for IBM DB2 products

  • Authors:
  • Edward Xia;Igor Jurisica;Julie Waterhouse;Valerie Sloan

  • Affiliations:
  • Department of Computer Science, University of Toronto, Toronto, ON, Canada;Department of Computer Science, University of Toronto, Toronto, ON, Canada;IBM Toronto Software Lab, IBM Canada Ltd., Markham, ON, Canada;IBM Toronto Software Lab, IBM Canada Ltd., Markham, ON, Canada

  • Venue:
  • CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Functional Regression Testing (FRT) is performed to ensure that a new version of a product functions properly as designed. In a corporate environment, the large numbers of test jobs and the complexity of scheduling the jobs on different platforms make performance of this testing an important issue. A grid provides an infrastructure for applications to use shared heterogeneous resources. Such an infrastructure may be used to solve large-scale testing problems or to improve application performance. FRT is a good candidate application for running on a grid because each test job can run separately, in parallel. However, experience indicates that such applications may suffer performance problems without a proper cost-based grid scheduling strategy.The Database Technology (DBT) Regression Test Team at IBM conducts the FRT for IBM® DB2® Universal DatabaseTM (DB2 UDB) products. As a case study, we examined the current test scheduling approach for the DB2 products. We found that the performance of the test scheduler suffers because it does not incorporate cost-dependent selection of jobs and slaves (testing IDs). Therefore, we have replaced the DB2 test scheduler with one that estimates jobs' run times, and then chooses slaves using those times. Although knowing a job's actual run time is difficult, we can use case-based reasoning to estimate it based on past experience. We create a case base to store historical data, and design an algorithm to estimate new jobs' run times by identifying cases that have executed in the past. The performance evaluation of our new scheduler shows a significant performance benefit over the original scheduler. In this paper, we also examine how machine specifications, such as the number of slaves running on a machine and the machine speed, affect application performance and run time estimation accuracy.