z-logo
open-access-imgOpen Access
Supporting Unit Test Generation via Automated Isolation
Author(s) -
Dávid Honfi,
Zoltán Micskei
Publication year - 2017
Publication title -
periodica polytechnica. electrical engineering and computer science
Language(s) - English
Resource type - Journals
eISSN - 2064-5279
pISSN - 2064-5260
DOI - 10.3311/ppee.9768
Subject(s) - unit testing , computer science , isolation (microbiology) , source code , sandbox (software development) , generator (circuit theory) , code coverage , test harness , code (set theory) , software , test script , test case , test management approach , embedded system , software quality , programming language , reliability engineering , operating system , software system , software development , software construction , engineering , machine learning , power (physics) , physics , regression analysis , set (abstract data type) , quantum mechanics , microbiology and biotechnology , biology
Testing is a significantly time-consuming, yet commonly employed activity to improve the quality of software. Thus, techniques like dynamic symbolic execution were proposed for generating tests only from source code. However, current approaches usually could not create thorough tests for software units with dependencies (e.g. calls to file system or external services). In this paper, we present a novel approach that synthesizes an isolation sandbox, which interacts with the test generator to increase the covered behaviour in the unit under test. The approach automatically transforms the code of the unit under test, and lets the test generator choose values for parameters in the calls to dependencies. The paper presents a prototype implementation that collaborates with the IntelliTest test generator. The automated isolation is evaluated on source code from open-source projects. The results show that the approach can significantly increase the code coverage achieved by the generated tests.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here