What is software testing?

As mentioned in the introduction of this chapter, software testing is a process used to identify deficiencies of correctness, completeness, and reliability in a software product that is being developed.

With this activity, we, therefore, want to ensure the quality of the product by searching search for defects, or a sequence of instructions and procedures that, when executed with particular input data and in particular operating environments, generate malfunctions. A malfunction is a behavior of the software that is not expected by the user; therefore, it is different from the specifications and from the implicit or explicit requirements defined for such applications. 

The purpose of testing is, therefore, to detect defects through malfunctions, so as to minimize the probability of such malfunctions occurring in the normal use of the software product. Testing cannot establish that a product functions correctly under all possible conditions of execution, but it can highlight defects under specific conditions.

In fact, given the impossibility of testing all the input combinations and the possible software and hardware environments in which the application may be operating, the probability of malfunctions cannot be reduced to zero, but it must be reduced to a minimum in order to be acceptable to the user.

A particular type of software testing is the unit test (which we will learn about in this chapter), the purpose of which is to isolate each part of a program and show its correctness and completeness in the implementation. It also promptly brings out any defects so that they can be corrected easily before integration.

Furthermore, the unit test lowers the costs—in terms of time and resources—of identifying and correcting defects, compared to achieving the same result by performing tests on the entire application.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.37.169