![]() To answer RQ4, we compute the number of A-Amplification and I-Amplification amplifications. Table 1: Dataset of 10 active Github projects considered on our relevance study (RQ1) and quantitative experiments (RQ2, RQ3). RequestBuilderAndroidTest h CallAdapterTest hĮxecutorCallAdapterFactoryTest h CallTest h RequestTest h PrefixedCollapsibleMapTest hįileNamePatternTest h SyslogAppenderBaseTest hįileAppenderResilience_AS_ROOT_Test l Basic l Library for communicating with Twilio REST API ObdDecoderTest l At2000ProtocolDecoderTest lĪrraysIndexesTest h ClasspathResolverTest h GeolocationProviderTest h MiscFormatterTest h MetaClassTest h ParameterExpressionTest h We include projects that fulfill the following criteria:Ģ) the project must have a test suite based on JUnit ģ) the project must be compiled and tested with Maven Ĥ) the project must have an active community as defined by the presence of pull requests on GitHub, see subsection 4.1. We evaluate DSpot by amplifying test classes of large-scale, notable, open-source projects. Third, we explore the relative contribution of evolutionary test construction and of assertion generation in the improvement process. In particular, we consider the difficult case of improving strong test classes. Second, we perform a quantitative assessment of the improvements of 40 real-world test classes from our set of 10 open-source projects. This reveals the key role of case studies, as presented by Flyvberg flyvbjerg2006, to assess the relevance of our technique for developers. In this part of the study, we extensively discuss their feedback, to help the research community understand the nature of good test improvements. We present them the improvement in the form of pull requests, and we ask them whether they would like to merge the test improvements in the main repository. First, we propose 19 test improvements generated by DSpot to the developers of the considered open source projects. It focuses on three points that have little, or never, been assessed. Our study considers 10 mature Java open source projects. This shows that DSpot isĬapable of automatically improving unit-tests in real-world, large-scale Java The developers and merged into the main code base. In total, 13/19 proposed test improvements were accepted by Have proposed a test improvement automatically synthesized by to the Next, for ten projects under consideration, we To automatically improve the test under study, by triggering new behaviors andĪdding new valuable assertions. ![]() We have amplifiedĪll test methods from those 40 unit test classes. We haveĮvaluated DSpot in a deep, systematic manner over 40 real-world unit testĬlasses from 10 notable and open-source software projects. Improvements are given back to developers as patches or pull requests, that canīe directly integrated in the main branch of the test code base. Java) and synthesizes improved versions of them as output. We present the concept, design, and implementation of a systemĬalled, that takes developer-written test cases as input (junit tests in In this paper, weĮxplore a third solution: to automatically improve existing test cases writtenīy developers. Written tests by developers and automatically generated ones. In the literature, there is a rather clear segregation between manually
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |