Why team needs testers to build project ? And I don’t mean guys who test application security or prepare acceptance tests. I mean guys (clickers),who spends their time only by clicking buttons and checking if application still works. And why these guys very often find a bug 5 minutes after the developer completed work ?
I think the answer is simple. Developers don’t treat testing as the part of their job. They think they should add new feature to application, forget about task and go to next maybe more interesting one. This behavior is closely related to developers nature. Each developer likes work on something new and interesting, many of us dream about green field.
But what happens when we don’t treat tests as a main part of our job ? We have to get back to tasks again again again … when clickers inform us about new bug. Are you like this approach ? I don’t think so. That is why I spend big part of my time (during work on some task) on testing. And what is important ? I don’t leave testing at the end. I test new feature during working on it. If you want, you can practice TDD (it is good for me), if you don’t like this approach, remember to continuously testing your work. Work in “step by step” mode. Write some small part of functionality, then spend few seconds on testing it and if everything is ok, go to next small step.
Very often programmers think only about “happy flow” during work on new feature and don’t prepare application for example for wrong input data . Effects can be miserable. When clickers start use our application (or in worse scenario, the users) I can guarantee you that, they won't use “happy flow”. Users are clever creatures and if they can, they will make mistakes (in purpose or accidentally) during work with your application. So if you work on some feature, prepare it for everything.