Hello friends! in this post, we will study about the need of software testing. Human beings are prone to mistakes because of in-attention, incorrect assumptions, carelessness or inadequate knowledge of the system. This very nature of humans make software vulnerable to bugs, defects and errors (we will get to know these terms in detail in later posts).
Let's now briefly see why we need testing in software context-
- Testing is important as it uncovers a defect before it is delivered to customer ensuring quality of software.
- So that the defects or bugs can be identified in early stages of development; as later the stage in which bug is identified, more is the cost to rectify it.
- It makes software more reliable and user-friendly to operate.
- An untested software not only makes software error prone, it also costs the customer business failure too like in case of Microsoft's MP3 player - Zune's crash.
- Software issue can cost lives too e.g. in case of Therac 25 - many people died due to concurrent programming errors wherein patients were given radiation doses that were hundreds of times greater than normal, resulting in death or serious injury.
- Well tested software provide efficient resource utilization resulting in low cost.
- A thoroughly tested software ensures reliable and high performance functioning of the software.