My job as a software architect is to make sure the builds I provide have the best possible quality, and more specifically internal quality. While Unit Testing sure helps creating less regressions, relying only on it is akin to testing a car by testing its nuts and bolts. Integration Testing is about getting the car on a circuit.
Last week, I finally released the fist version of Integration Testing from the Trenches. As its name implies, this book is about Integration Testing. It is organized in the following chapters:
- Chapter 1 - Foundations of testing
- This is an introductory chapter, laying out the foundations for the rest of the book. It describes Unit Testing, Integration Testing and Functional Testing, as well as their associated notions.
- Chapter 2 - Developer testing tools
- This chapter covers both the JUnit and TestNG testing frameworks. Tips and tricks on how to use them for Integration Testing are also included.
- Chapter 3 - Test-Friendly Design
- This chapter details Dependency Injection, DI-compatible design and which objects should be set as dependencies during tests execution. This includes definitions of Test Doubles, such as Dummy, Fake and Mock along with an explanation of Mockito, a Mocking framework and Spring Test and Mockrunner, two OpenSource available Fake libraries.
- Chapter 4 - Automated testing
- It covers how to get our carefully crafted Integration Tests to run through automated build tools, like Maven and Gradle.
- Chapter 5 - Infrastructure Resources Integration
- This chapter concerns itself about Integration Testing applied to infrastructure resources such as databases, mail servers, ftp servers and others. Tools and techniques about each resource type will be explained.
- Chapter 6 - Web Services Integration
- This chapter is solely dedicated to Integration Testing with Web Services, either in SOAP or REST flavor.
- Chapter 7 - Spring in-container testing
- In this chapter, testing recipes for Spring and Spring MVC applications are described. It also includes coverage of the Spring Test library.
- Chapter 8 - JavaEE testing
- Last but not least, this chapter covers testing of Java EE applications, including the Arquillian testing framework.
In all cases, I’ll take excerpts from the book and publish them on this blog in the following week.