Sticking to deadlines and meeting software-testing milestones are important for software developers who want to limit their liability and prevent lawsuits. In this article, we'll answer the following questions:
- When should small businesses test software?
- What are common pitfalls in the software testing process?
- Can IT professionals be sued for missing deadlines?
When Should Programmers Test Software?
You know the old saying: The early bird catches the worm. In this case, the early bird catches the bug – the software bug, that is.
The earlier you test, the better able you are to incorporate feedback from tests and catch errors before they become more problematic. This advice applies to both functionality and usability testing.
Microsoft, in its article "Testing in the Software Lifecycle," advocates for testing early and often, saying "the software development lifecycle is one in which you hear of a need, you write some code to fulfill it, and then you check to see whether you have pleased … users, owners, and other people who have an interest in what the software does."
Though it seems like more work, Microsoft argues that this incremental, step-by-step testing process is a vital way to reduce costs and waste and, ultimately, that it makes for happier clients.
This view is shared by Google, which advocates for integrating testing with development. Former Google engineering director James Whitaker says programmers should "build a little and then test it. Build some more and test some more" (read more in his guide to how Google tests software).
Common Pitfalls in the Software Testing Processes
In a TechTarget interview, Doug Hoffman, a software-testing expert, outlines some of the common problems with software testing. He reminds developers that software testing is often inconclusive. He points out four common pitfalls.
- Overlooked errors. Many software errors won't show up in a test. If a test is designed to test the functionality of a specific feature, remember it only tests whether or not a function works. There may be other errors you can't see. Doug Hoffman reminds developers of a number of commonly overlooked errors which don't show up in tests, including "memory leaks, data corruption unrelated to the expected results, [and] changing of environmental variables."
- Faulty testing. A test itself can have errors, which can give you inaccurate results. You may be led to think everything is working correctly (or that nothing is), when in reality the problem is just in your testing software.
- Assuming functionality. Hoffman points out that a successful test only means the program functioned correctly once. Under different conditions, it may fail.
- Assuming malfunctions. Similarly, software testers may be too quick to assume there is a problem in their code. Testing conditions (or the test itself) may be causing parts of the software to malfunction.
Risks in Software Development: Can IT Professionals Be Sued for Missing Deadlines?
Yes, one of the main software development risks is the failure to deliver on time. In January, Avanade (a Microsoft and Accenture joint venture) was sued for underestimating the cost of a project and failing to deliver it on time and might have to pay millions in damages.
Missing deadlines can be considered a "breach of contract" and a "misrepresentation" of the services you provide to clients. Of course, many projects don't go as planned. There are always bumps on the road. But as a project manager, it's vital for you to build these risks into the cost estimate and schedule you propose to clients.
Software testing is a key part of meeting deadlines. As Google and Microsoft's strategies show us, continually integrating software testing helps IT project managers schedule their projects more accurately and deliver software on time as they are able to catch bugs and errors earlier.
When software defects or missed deadlines do happen, Professional Liability Insurance can pay for software lawsuits. This coverage (also called Errors and Omissions Insurance) is one of the standard ways businesses protect their liabilities – many contracts require contractors to carry it.
To learn more, read our guide to how much Errors and Omissions Insurance costs, which includes sample quotes for small software firms.