Can you develop software without testing? Sure you can. Can you float without knowing how to swim? Sure you can—for about 20 seconds.
Software development involves constantly striving to produce code that’s as bug-free as possible. And that means testing—starting at the lowest level and ending at the highest. In a modern software development company, the lowest level is usually unit testing, which you learned about in part 1. It’s followed by a happy crowd of other types of testing including, but not limited to, integration, regression, and load testing, ending with end-user acceptance testing. You can accomplish this in the CI process by making the testing and analysis happen constantly. In part 2 (chapters 7 and 8), we discuss how to extend your test repertoire beyond unit testing and incorporate other types of testing into the CI process. Finally, you’ll learn how to perform code analysis on the source and at the intermediate code level.
After reading this part of the book, you’ll be able to extend your CI process’s testing, add static code analysis, and take total control over CI feedback.