O'Reilly logo

Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development by Dave Ingram

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

23.1. Developer Testing Activities

Developer testing is the first chance to identify defects early in the lifecycle. The first thing to do is to define the types of tests you're going to perform and on which components and groups. The conceptual architecture helps to lay out the components and determine the unit tests, integration tests, and possibly smoke tests. Figure 23-1 shows the component groups in the case study laid out in an end-to-end fashion to help with this exercise.

Figure 23.1. Figure 23-1

I find diagrams like this really useful during early design and planning activities. They allow you to pick out the components and how they could be tested as individual units and as groups. The diagram doesn't show all the components in the solution; it simply shows the high-level component groupings. The following provides an overview of the diagram:

  • Unit tests — Specific units tests are associated with each high-level component group. For instance, web pages are tested in isolation from the other application components. The web pages use the web page framework, so these can also be tested in isolation or as a group. Testing each component group in isolation typically requires stubs or simulators to be in place. For example, most of the components use the system framework, so you can stub out the system framework to allow isolated unit testing. You can also stub out any other ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required