asynchronous software often exhibits complex and error-prone behaviors that should be tested thoroughly. Code coverage has been the most popular metric to assess test suite quality. However, traditional code coverage ...
详细信息
ISBN:
(纸本)9798400703270
asynchronous software often exhibits complex and error-prone behaviors that should be tested thoroughly. Code coverage has been the most popular metric to assess test suite quality. However, traditional code coverage criteria do not adequately reflect completion, interactions, and error handling of asynchronous operations. This paper proposes novel test adequacy criteria for measuring: (i) completion of asynchronous operations in terms of both successful and exceptional execution, (ii) registration of reactions for handling both possible outcomes, and (iii) execution of said reactions through tests. We implement JSCOPE, a tool for automatically measuring coverage according to these criteria in javascript applications, as an interactive plug-in for Visual Studio Code. An evaluation of JSCOPE on 20 javascript applications shows that the proposed criteria can help improve assessment of test adequacy, complementing traditional criteria. According to our investigation of 15 real GitHub issues concerned with asynchrony, the new criteria can help reveal faulty asynchronous behaviors that are untested yet are deemed covered by traditional coverage criteria. We also report on a controlled experiment with 12 participants to investigate the usefulness of JSCOPE in realistic settings, demonstrating its effectiveness in improving programmers' ability to assess test adequacy and detect untested behavior of asynchronous code.
From a blog post in February 2005 by Jesse James Garrett, founder of startup Adaptive Path, through the launch of high-profile Web applications by Google and Yahoo among others, AJAX has become the latest movement in ...
详细信息
From a blog post in February 2005 by Jesse James Garrett, founder of startup Adaptive Path, through the launch of high-profile Web applications by Google and Yahoo among others, AJAX has become the latest movement in online applications development. Bolted together from technologies developed in the mid-1990s, AJAX is designed to streamline clunky browser-based front-ends.
暂无评论