Summary
In this chapter, we looked at various testing strategies for automating the testing and verification process. Creating automated tests helps us control the technical debt that's created throughout the development life cycle and keeps the source code in check, hence increasing the quality of the code and the pipeline itself. As you have seen, some of these tests are as simple as unit tests that are implemented at the beginning of the application life cycle and executed almost at every code checkpoint, while some are elaborate, such as the integration and coded UI tests, which are generally written at the end of the development stage and executed only at certain checkpoints (that is, nightly builds or prerelease checks). Regardless, the goal should always be to create a certifiable pipeline for code rather than to create code for certification.
With the testing covered, we can say that the continuous integration part of our delivery pipeline is covered. Next, we will...