Generating Integration Tests Automatically Using Frequent Patterns of Method Execution Sequences

Mark Grechanik, Gurudev Devanla · Proceedings/Proceedings of the ... International Conference on Software Engineering and Knowledge Engineering · 2019

Integration testing is vitally important for ensuring software quality, since many serious software defects are not isolated in single components.Unfortunately, creating integration tests is often a manual and laborious effort.A fundamental problem of software testing is how to automatically create effective integration tests with oracles that find bugs efficiently.We created a novel approach for Automatically SyntheSizing Integration Software Tests (ASSIST) that automatically obtains models that describe frequently interacting components in software applications, thus reducing the number of synthesized integration tests and increasing their bug-finding power.In ASSIST, static and dynamic analyses are used along with carving runtime states to obtain test input data as well as oracles for the synthesized integration tests.We experimented with three Java applications and show that integration tests that are synthesized using ASSIST have comparable bug finding power with manually created integration tests.

Read the paper · More papers on PaperTik