The test run that results in the discovery of an error cannot be called unsuccessful, if only because it is an expedient investment of capital. Hence it follows that the adjectives “successful” and “unsuccessful” need to be invested with a meaning that is opposite to the generally accepted definition of them. Therefore, in the future, we will call the test run successful if an error is detected during its execution, and it is unsuccessful if the correct result is obtained.
Let us draw an analogy between the case and a patient’s visit to a doctor. If a laboratory test recommended by a doctor did not identify the cause of the disease, we will not call such a study successful – without doubt it is unsuccessful: the patient’s account has been reduced by 500 rubles, and he is still sick. If the study shows that the patient has a stomach ulcer, then it is successful, since the doctor can prescribe the necessary course of treatment. Consequently, physicians use these terms in the right sense. (The analogy here, of course, is that the program to be tested is similar to case with the sick person.) Independent software testing services are provided to cut development costs and ensure the higher quality of information technology products.
Definitions such as “testing is a process of demonstrating the absence of errors” give rise to another problem: they set a goal that cannot be achieved for any program, even quite trivial. The results of psychological research show that if an impossible task is assigned to a person, then he is less productive at work. For example, if you ask someone to solve a crossword puzzle in the Sunday edition of the New York Times in 15 minutes, then in 10 minutes there will be no significant success because it is clear that this is an impossible task. If it must be completed in four hours, then in 10 minutes the result will be better. In other words, since testing is defined as an error detection process it falls into the category of the tasks to be solved and thus the psychological difficulty is overcome.
Another problem occurs when the following definition of testing is used: “Testing is a process that ensures that the program is performing its intended purpose,” since a program that meets this definition may contain errors. If the program does not do what it should do, then it is clear that it contains errors. However, errors may also occur even when it does what it should not do.
Comments are closed.