Chapter 11. Application Testing
Our role as architects isn't just to tick the boxes, send the application to the client, and forget about it. We have a responsibility, both from a professional perspective and a business perspective to produce software that tries to exceed expectations. A part of this was mentioned in Chapter 10, Debugging and Performance, in which we discussed the need to build an application that responded quickly to user actions. Now, we'll talk about building a robust application, one that stands up to scrutiny when it's under intense use.
What does it mean for an application to be robust? It means that if we click on a button, we see the expected result. If we try and enter an invalid e-mail address, we see a validation message. If we refresh the page, we find ourselves on the same screen as before. If the network connection drops out, remote requests get retried later. If we try and break the application, and so on, can we succeed?
The core of...