Common System and Software Testing Pitfalls by Donald Firesmith say that poor testing costs the US economy between $22.2 and $59.5 billion per year. This costs “between 25% and 90% of software development budgets.” That’s a huge number that I probably wouldn’t want to tell my boss because, well, ouch.
It’s important to remember that a lot of this cost comes from “efforts to avoid and deal with failures” by software developers and end-users. At first glance, this seems like a job for a trained, professional, and methodically sound QA tester, right? It seems that way, but money is money, time is time, and your boss isn’t happy with the way you’re testing, so they’re being pushed to make some changes.
So what do you do? Obviously, tell them to read this blog! Here are three things your boss should know about software QA consulting before he or she decides to change the way a department is set up or how money is spent.
Testing that changes over time is not effective by itself
Even though dynamic testing by itself is not a good way to make sure a system is stable, this is because no single type of testing is. Dynamic testing, which is of the input-output type and might focus on a user interface, is just one part of a much bigger, more complicated field. But this is the kind of testing that is usually imagined when customers hear the word “Testing.”
It’s also the kind of testing that, in my opinion, can be done by people who aren’t experts (e.g., users). This helps find some bugs, but not nearly enough to fix them in a reasonable amount of time (i.e., lower-cost over time). Also, it’s just bad manners to force users to help with formal QA.
Dynamic testing doesn’t find the most bugs.
The only way to make sure the system is stable is to test the application in real-time. After all, if people can use the app well, that means there are no bugs.
No. Software QA services can’t actually prove that there are no bugs. So, it can’t show that the system is stable. It can only suggest that, since there are no flaws, the risk of the system becoming unstable is low.
So, what can make my system stable if dynamic testing can’t?
In reality, dynamic testing can help to keep a system stable as long as it is used in conjunction with static testing. Remember that testing software for quality assurance is a complex field. According to the research Donald Firesmith, only 85% of bugs are found during dynamic testing, while 95% of bugs are found during static testing. When things are put together (like the different parts of Captain Planet), great things happen, like total testing effectiveness of 99.27%.
To do this, you need a team of trained testers. Using users as guinea pigs during a 2-year beta phase won’t lead to these results.
It’s important to plan for tests
According to an old saying, if you don’t plan, you plan to fail. Planning a test is important because it sets goals, deals with problems right away, and gives a framework that can be used to guide the testing process and estimate costs. Because of this, test planning is an important part not only of testing but also of high-level project management.
Common System and Software Testing Pitfalls by Fireside list 92 different testing mistakes. Nine of them have to do with planning and writing up tests. So, almost 10% of problems with testing practices can be linked to a lack of planning and documentation. So it makes sense that Fireside puts planning for tests at the beginning of his book.
So, my questions for you are:
- What kinds of tests are being done on your project right now?
- What kind of testing isn’t being done on your project right now?
- Have your testers been trained and do they know how to test software for quality assurance?
- What kind of testing documentation is missing from the picture?