Why does testing matter?
It all comes down to quality. When products and software work well, quality is a complete afterthought, but as soon as something fails to work…it’s the first thing everyone notices. For many reasons, corner cutting on a project usually happens in testing with the demand to deliver quickly as a key contributing factor. When speed of delivery is the driving force, quality inevitably suffers. Developers will toss over a piece of code as soon as they complete it and just hope for the best. Quality should be a point of pride for developers and they shouldn’t even dream of handing over a piece of code they haven’t unit tested repeatedly.
What kind of testing should I be doing?
There are many different types of testing methods and all have their role in the SDLC. A few of the more common ones include the following:
Everything needs to be orchestrated and coordinated, but perhaps the most important, and misunderstood, part of the process is that the developers and QA teams really need to understand the business problem they’re trying to solve. Without keeping the end goal in mind, no amount of testing can make up for a product that doesn’t serve its primary purpose.
Why don’t people test more?
Generally, teams do not do enough testing as a whole – there’s a breakdown at every level of testing, which ends up impacting the overall cost of the project. It’s much cheaper to resolve an error that is found early on than when it is in production.
The biggest challenge is when people feel they’re under the gun in terms of schedules being too aggressive or if they don’t have the experience necessary to know what good testing looks like. In some cases, inexperience with software development methodologies drives a lack of testing.
How will I know if I tested enough?
Just remember that quality is king. If you’re behind in your timeline, but the quality is good, people will remember that. It doesn’t really matter if you make your deadline…but the product doesn’t work. Always focus on the quality, whether at the architecture or design or code or test level. It has to do what it’s supposed to do and work flawlessly.