Verification, Validation and Testing has become an intrinsic part of the Software Development Life Cycle, the importance of Testing throughout an applications development has been recognised with most companies now designing their processes by using the 'V' Model.
Recognition of the importance of formal testing and planning is only a relatively recent development in comparison to the art of programming itself. Not so many years ago, software was designed on the back of a cigarette packet in the pub, and then implemented, there was little to no documentation, and very little structured testing.
Contrary to Popular Belief, Testing is not just about seeing if the end product works, if Testers are involved as soon as the Initial Specification is written, they can begin to plan later tests and also pick up on requirements that may have been omitted from the Specification. If a requirement has been incorrectly stipulated, badly defined or omitted it is far more expensive to rectify one the Implementation stage has been passed.
Consider the old waterfall model;
Analysis and Design -> Planning -> Implementation and Execution -> Reporting -> Testing -> End Product
Using this process map, Testing is left until the last minute, and any errors will require moving at least of a section back to the Analysis and Design section. If a programmer has misinterpreted a requirement, then the process must once again be moved back. Using the V Model combats this, allowing Testers to become involved in every aspect of the process, checking requirements are well defined, looking for bugs in the software etc.
Once the software is written, it needs to be tested and evaluated. Whilst programmers should run basic tests on their code, full testing should be implemented by an Independent party. Depending on the size of the organisation, there will probably be an Independent Test Team. This is done to avoid the bias felt by programmers towards their own code, there is often a stronger urge to show how good their code is than there is to actually find errors.
Once the code is in the hands of the test team, they will begin checking it for errors. First they will use Static Analysis to check the code itself. They should look for structural errors, where the coder may have forgotten to close an IF statement, or forgotten to Declare and Define a variable. This can be done manually or automatically.
The tool will also check for Cyclomatic Complexity (Count the 'Decisions' and add 1, should
Below are the top articles rated and ranked by Helium members on:
by Ben Tasker
Verification, Validation and Testing has become an intrinsic part of the Software Development Life Cycle, the importance
Regression test: planning, organizing, saving money
I'd like to make 2 major suggestions based on my years of experience
by Anindya Sen
Software evaluation and testing
The software verification and validation tests are done to check the performance of a software
Add your voice
Know something about Software evaluation and testing process?
We want to hear your view.
Write now!
Cast your vote!
Click for your side.
Featured Partner
Text and Academic Authors Association
The Text and Academic Authors Association (TAA) is the only authoring association devoted exclusively to serving text...more
hide