Understanding software testing concepts

Software testing concepts have been briefly described in this article. Readers would find it easier to understand fundamental concepts of software testing by going through a concept map thereof. Software testing is itself a discipline as well as a process. Software development is nothing but a process of coding functionality in order to meet the defined end-user requirements. We can think of software testing as an iterative process, which consists of Tests Designing, Tests Execution, Problems Identifying and Problem Fixing, for validating functionality and as well as for attempting the software break. Software testing aims to find problems and to fix them for improving software quality. Software testing may represent 40% of a software development budget. Basic methods of performing software testing include Manual Testing and Automated Testing. Manual software testing is the process of manually testing software (having the possible forms for example, user interfaces navigation, information submission, or attempt to hack the software or database etc.), carried out by an individual or individuals. Manual software testing is labor-intensive and slow. On the other hand, automated software testing is a process of creating test scripts, which can be run then automatically, repetitively, and through a number of iterations. Automated software testing helps us to minimize the variability of results, speed up the testing process, increase test coverage (that is, the number of different things tested), and ultimately provide greater confidence in the quality of the software being tested.