What good is a continuous integration server?
Testing takes time. Ask a software developer about the best aspects of their job, and you probably won’t hear “testing” in the top three. Testing can be boring and tedious, and it can also challenge the ego many developers carry. “There’s no way I could have broken that!” “That change was simple–it shouldn’t be a big deal.”
But since software development is rarely, if ever, defect-free, we can’t go without testing. At DornerWorks, software testing and validation is an incredibly important task that needs to occur throughout the development process. The trick is to make it not just easier, but also routine.
Some developers have a mantra: “If you’re about to repeat it, script it.” The meaning: if you are about to do something twice in a row, a developer should spend the time to automate the process to save time if they need to repeat it in the future. This exact mindset can be applied to software testing and validation. Tests need to be run anytime the code changes, and developers need to know if they need to fix anything after the fact.
A continuous integration (CI) server takes that mantra and puts it into practice. Open source CI servers like Jenkins help automatically run tests in a corporate environment. Companies can now allocate and establish a CI server to run tests as often as they’d like. By offloading the work to another computer, the tedium is reduced. Many developers come to appreciate the fact that their changes are automatically tested after their code is submitted. CI servers change the workflow and mindset to revolve around testing the software developers write.
In safety-critical automotive, aerospace, and medical environments, thorough testing is a must. Integrating a CI server helps companies like DornerWorks unify developers as they work together to write better tested software, which produces a better product for the customer in the end.