PYTHIA: Generating Test Cases with Oracles for JavaScript Applications

Shabnam Mirshokraie, Ali Mesbah and Karthik Pattabiraman, Proceedings of the ACM/IEEE International Conference on Automated Software Engineering (ASE), 2013. New Ideas Track (Accept rate: 23%) [ PDF File | Talk ]

Abstract: Web developers often write test cases manually using testing frameworks such as Selenium. Testing JavaScript-based applications is challenging as manually exploring various execution paths of the application is difficult. Also JavaScript’s highly dynamic nature as well as its complex interaction with the DOM make it difficult for the tester to achieve high coverage. We present a framework to automatically generate unit test cases for individual JavaScript functions. These test cases are strengthened by automatically generated test oracles capable of detecting faults in JavaScript code. Our approach is implemented in a tool called PYTHIA. Our preliminary evaluation results point to the efficacy of the approach in achieving high coverage and detecting faults.