One critical ISEB & ISTQB software testing philosophy is that the actual testing should start as early on in the process as possible. This may seem obvious when you read the words, but this very basic idea can sometimes be lost or forgotten when we are entrenched in the mire of corporate bureaucracy.

Since the objective of the testing effort is to validate the design requirements, the testing should start during the project’s design phase. This will help to foster more effective testing because testers who are involved from the beginning will be more knowledgeable about the requirements and thus will be better equipped to spot defects. Additionally, early involvement helps lay out the expectations, channels of communication, and team dynamics, which will improve the efficiency of the testing effort by allowing the testers to hit the ground running.

Conversely, starting the testing later in the SDLC (software development lifecycle) is less efficient, because testers will need time to get to know the software application. This wastes time. They will also be less knowledgeable about the software right out of the gate, which will certainly lead to delays and could possibly lead to testing errors or omissions as well. Additionally, identifying and fixing bugs is generally more expensive when it happens later in the process. Irrespective of the specific project, fixing something during a project’s infancy is always going to be cheaper and less time-consuming than trying to fix it toward the end of the SDLC.

As obvious as this all seems, the unfortunate reality is that many corporations fail to structure their testing efforts in this manner. They allow organizational barriers and silos to interfere with the spirit of collaboration, and as such they fail to understand the benefits of starting the testing efforts early. If you find yourself in this kind of environment, there’s not much you can do other than to try and convince the powers-that-be that early testing participation is critical. Or, start looking for another job.