Treffer: Effectiveness of software testing suites in regards to a microservice environment : Using mutation testing to analyze and evaluate unit testing in a software development team ; Effektivitet av test-suiter gällande för en microtjänst-mjukvarumiljö : Analys och utvärdering av enhetstester hos ett mjukvaruutvecklingsteam genom mutationstestning
Weitere Informationen
Software testing is essential to deliver quality code in software development. Code coverage is a metric that measures how much of the code is tested. Code coverage can be calculated in several ways, for example, lines of code activated by the test or percentage of branches explored. Mutation testing is a method that tests the test suites by modifying the code and then running the test suites to see if the modification (called mutants) can be detected. A higher number of mutants detected leads to a higher mutation score. Currently, mutation testing is primarily used in research since it can be costly and complex to integrate into real-life industry software development. Previous research is divided on whether mutation score correlates with real errors in the code but most agree that is a good metric for determining test suite quality. This thesis uses mutation score to assess the correlation with different code coverage metrics for unit tests. Mutation score is compared and analyzed with branch and line coverage through regression analysis to find the correlation, R2, and t-test statistic. The mutations are also used to find if there are any recurring deficiencies in the test suites. The implementation of mutation testing in a small-scale industry development is also examined and evaluated. The experiments and evaluation are done in collaboration with a software development team at Trafikförvaltningen Region Stockholm. The team works primarily in the Java programming language in a microservice environment using cloud architecture. The results indicate that line and branch coverage are useful and correlate well with the team’s mutation score. The project’s size and structure worked well with mutation testing, and both the results and the team found value in using it. The existing metrics became more reliable, and some common errors in the test suites were found. Further research could examine integration and system tests and larger-scale code bases. ; Mjukvarutestning är en vital komponent för att kunna producera ...