Skip to content
SE eBook
Menu

Need for Software Testing

Public section
Preferences are saved on this device.

6 Software Testing

6.1 Introduction

Software testing is a critical phase in the software development lifecycle. While we expect software to be error-free and responsive, it is crucial to note that launching software without proper testing can lead to higher costs in the long run, especially in systems where human safety is involved. Discovering and correcting errors early in the development process significantly reduces the cost of their removal.

It is also difficult for developers to reliably find errors in their own code. Therefore, many organizations assign testing responsibilities to a separate, independent test team. A common working definition is:

“Software testing is the process of executing a program with the intent of finding errors.”

Exhaustive testing of all possible inputs is usually impossible. For example, a program that accepts three 8-bit integers as input has $(2^8) \times (2^8) \times (2^8) = 256^3$ different input combinations (over sixteen million). Testing all such combinations would require an impractical amount of time. Therefore, designing an effective but minimal set of test cases is essential.

Login to add personal notes and bookmarks.