Summary
In this chapter, we discussed the role and involvement of QA in the software development cycle. We covered the testing pyramid in depth, explored each layer with code examples, and mentioned some of the techniques used in test scripts such as blackbox and whitebox testing, mocking, and parameterized testing.
We explored the concepts of TDD. We ran through an exercise of TDD with small and frequent iterations, using real-life examples.
We discussed BDD, a close relative of TDD. We elaborated on its history and how it evolved from TDD. We also introduced SBE, which works closely with BDD practices. Finally, we briefly discussed the modern adoption of BDD in Kotlin.
We also briefly introduced some types and examples of testing that are executed in live environments and the reasons behind them.
The next chapter will cover an important aspect of software systems – security.