You probably heard and read in blogs “Testing should start early in the life cycle of development”. In this chapter, we will discuss Why start testing Early? very practically.
Let’s start with the regular software development life cycle:
|When project is planned|
- First we’ve got a planning phase: needs are expressed, people are contacted, meetings are booked. Then the decision is made: we are going to do this project.
- After that analysis will be done, followed by code build.
- Now it’s your turn: you can start testing.
Do you think this is what is going to happen? Dream on.
This is what’s going to happen:
|This is what actual happened when the project executes|
- Planning, analysis and code build will take more time then planned.
- That would not be a problem if the total project time would pro-longer. Forget it; it is most likely that you are going to deal with the fact that you will have to perform the tests in a few days.
- The deadline is not going to be moved at all: promises have been made to customers, project managers are going to lose their bonuses if they deliver later past deadline.
The earlier you find a bug, the cheaper it is to fix it.
|Price of Buggy Code|
If you are able to find the bug in the requirements determination, it is going to be 50 times cheaper
(!!) than when you find the same bug in testing.
It will even be 100 times cheaper (!!) than when you find the bug after going live.
Easy to understand: if you find the bug in the requirements definitions, all you have to do is change the text of the requirements. If you find the same bug in final testing, analysis and code build already took place. Much more effort is done to build something that nobody wanted.
Conclusion: start testing early!
This is what you should do:
|Testing should be planned for each phase|
- Make testing part of each Phase in the software life cycle
- Start test planning the moment the project starts
- Start finding the bug the moment the requirements are defined
- Keep on doing that during analysis and design phase
- Make sure testing becomes part of the development process
- And make sure all test preparation is done before you start final testing. If you have to start then, your testing is going to be crap!
Want to know how to do this?
Go to the Functional testing step by step page. (will be added later)