Create a testable architecture
Testability is about how easy a system is to use and how many issues we find during the testing process. From my experience, testability in both forms results from collaboration, taking care of best practices, and having the same vision in the team.
Depending on architectural and design decisions, we determine how easy it will be to use tests as backups. For this, there is a wide range of strategies and approaches to choose from (see Figure 4.4), but don’t forget that quality is the responsibility of the entire team, not just QA:
Figure 4.4 – Examples of how to test a system at different levels
When software products are discussed, the general feeling is that we have programmers that develop these fantastic products, and that’s that. In reality, one of the essential parts of development is testing. Of course, the discussion can evolve to many ways of testing and in many areas. One of the crucial characteristics...