Improving regression testing in continuous integration development environments (keynote)

Author(s):  
Gregg Rothermel
2018 ◽  
Vol 7 (2.28) ◽  
pp. 332 ◽  
Author(s):  
Lei Xiao ◽  
Huaikou Miao ◽  
Ying Zhong

Regression testing is a very important activity in continuous integration development environments. Software engineers frequently integrate new or changed code that involves in a new regression testing. Furthermore, regression testing in continuous integration development environments is together with tight time constraints. It is also impossible to re-run all the test cases in regression testing. Test case prioritization and selection technique are often used to render continuous integration processes more cost-effective. According to multi objective optimization, we present a test case prioritization and selection technique, TCPSCI, to satisfy time constraints and achieve testing goals in continuous integration development environments. Based on historical failure data, testing coverage code size and testing execution time, we order and select test cases. The test cases of the maximize code coverage, the shorter execution time and revealing the latest faults have the higher priority in the same change request. The case study results show that using TCPSCI has a higher cost-effectiveness comparing to the manually prioritization.  


2021 ◽  
Vol 46 (3) ◽  
pp. 17-18
Author(s):  
August Shi

As software becomes more important and ubiquitous, high quality software also becomes crucial. We depend on software developers who write the software to also maintain and improve its quality. When developers make changes to software, they rely on continuous integration [6] and regression testing [15] to check that changes do not break existing functionality. Continuous integration (CI) automates the process of building and testing software after every change. The process of running tests on the code after every change is known as regression testing. The goal of regression testing is to allow developers to detect and fix faults early on, ideally the moment the faults are introduced. Regression testing is widely used in both industry and open source, but regression testing suffers from two main challenges: (1) regression testing is costly, and (2) regression test suites often contain flaky tests.


Author(s):  
Vincent M. Lizzi

Schematron is a powerful, flexible, and user-friendly tool for validating and reporting on XML content. Developing a Schematron schema can involve a lot of testing to ensure that each Schematron rule works as expected. A robust test suite may contain multiple XML samples for every Schematron rule in order to test both passing and failing conditions. XSpec — an open source unit test and behavior-driven development framework for XSLT and XQuery — now has the ability to test Schematron. Tests for a Schematron can be described using XSpec test scenarios, and the tests can be run automatically by XSpec. The end result is a report showing which tests passed and which tests failed. The new support for Schematron testing in XSpec enables test-driven development for Schematron and automated regression testing for Schematron in a continuous integration environment.


Sign in / Sign up

Export Citation Format

Share Document