Name

DEV-04: Use independent testers for functional sign-off

Synopsis

Individual developers should and must be responsible for defining and executing unit tests on the programs they write. Developers should not, on the other hand, be responsible for overall functional testing of their applications. There are several reasons for this:

  • We don’t own the requirements. We don’t decide when and if the system works properly. Our users or customers have this responsibility. They need to be intimately connected with, and drive, the functional tests.

  • Whenever we test our code, we follow the “pathways to success” without ever knowing it. In other words, the mindset we had when we wrote the code is the same mindset we have when testing the code. Other people, other eyes, need to run the software in complete ignorance of those pathways. It is no wonder that unit testing was so successful and yet integration testing has such problems.

To improve the quality of code that is handed over to customers for testing, your team leader or development manager should:

  • Work with the customer to define the set of tests that must be run successfully before an application is considered to be ready for production.

  • Establish a distinct testing group—either a devoted Quality Assurance organization or simply a bunch of developers who haven’t written any of the software to be tested.

This extra layer of testing, based on the customer’s own requirements and performed before the handoff to customers for their “sign off” test, ...

Get MySQL Stored Procedure Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.