Download PDFOpen PDF in browser

NodeSRT: A Selective Regression Testing Tool for Node.js Application

EasyChair Preprint no. 5273

3 pagesDate: April 1, 2021

Abstract

Node.js is one of the most popular frameworks for building web applications. As software systems mature, the cost of running their entire regression test suite can become significant. Selective Regression Testing (SRT) is a technique that executes only a subset of tests the regression test suite can detect software failures more efficiently. Previous SRT studies mainly focused on standard desktop applications. Node.js applications are considered hard to perform test reduction because of Node's asynchronous, event-driven programming model and because JavaScript is a dynamic programming language. In this paper, we present NodeSRT, a Selective Regression Testing framework for Node.js applications. By performing static and dynamic analysis, NodeSRT identifies the relationship between changed methods and tests, then reduces the regression test suite to only tests that are affected by the change to improve the execution time of the regression test suite. To evaluate our selection technique, we applied NodeSRT to two open-source projects: Uppy and Simorgh, then compared our approach with the retest-all strategy and current industry-standard SRT technique: Jest OnlyChange. The results demonstrate that NodeSRT correctly selects affected tests based on changes and is 250% faster, 450% more precise than the Jest OnlyChange.

Keyphrases: dynamic analysis, JavaScript, Node.js Application, Selective Regression Testing, static analysis

BibTeX entry
BibTeX does not have the right entry for preprints. This is a hack for producing the correct reference:
@Booklet{EasyChair:5273,
  author = {Yufeng Chen Chen},
  title = {NodeSRT: A Selective Regression Testing Tool for Node.js Application},
  howpublished = {EasyChair Preprint no. 5273},

  year = {EasyChair, 2021}}
Download PDFOpen PDF in browser