Automated Software Testing Optimization - Test Case Selection
Test Case Selection - The tool is available at https://gitlab.liu.se/azeah70/diversitybasedtesting
Automated testing is an essential component of Continuous Integration (CI) and Delivery (CD), such as scheduling automated test sessions on overnight builds. That allows stakeholders to execute entire test suites and achieve exhaustive test coverage, since running all tests is often infeasible during work hours, i.e., in parallel to development activities. On the other hand, developers also need test feedback from CI servers when pushing changes, even if not all test cases are executed. I together with other researchers have explored different techniques to find an optimized test subset to achieve faster feedback which was turned into a published paper and an open-source tools (Available on my website). In addition, to implement and investigate optimized testing techniques in CI/CD, I have explored what are the challenges and benefits of using test optimization techniques. We conducted this research in close collaboration with Axis Communication and the findings can be read in an publised document in research publications.
Similarity based test case selection (SBTCS) is a technique for selecting tests by comparing the similarities between the test cases. By generating a smaller subset of tests that are as diverse as possible, it is possible to reduce the time taken to execute the test suite while maximizing the fault detection. This tool is written to apply the SBTCS technique on a Python test suite on both standalone projects and automated builds using Jenkins, Travis CI etc. Read more at https://gitlab.liu.se/azeah70/diversitybasedtesting
The Research is available at https://dl.acm.org/doi/10.1145/3194733.3194744