If we are going to release our code early and often, we ought to be confident of its quality. Therefore, we need automated regression testing.
In this chapter, some frameworks for software testing are explored, such as JUnit for unit testing and Selenium for web frontend testing. We will also find out how these tests are run in our Continuous integration (CI) server, Jenkins, thus forming the first part of our Continuous delivery (CD) pipeline. Testing is very important for software quality, and it's a very large subject in itself.
We will concern ourselves with the following topics in this chapter:
- How to make manual testing easier and less error prone
- Various types of testing, such as unit testing, and how to perform them in practice
- Automated system integration testing
We've already had a look at how to accumulate test data with Sonar and Jenkins...