It should be evident that a careful thought aids in detecting most of the errors even without a debugging tool going near PC. One such thought method is induction where you move from general statements to individual instances, specifically from the particulars to the whole. In other words, start with the clews (the symptoms of the error, perhaps outcomes of one or more tests) and the relationship between the clews, and you are likely to identify an error.
Inductive Debugging Process is shown in the Figure below.
It includes the following steps:
- Locate the data relevant to the error situations. The main mistake that debuggers make is inability to take into consideration all available data or symptoms on the problem. The first step should be the enumeration of all correct and incorrect actions of the program (i.e., the symptoms that lead to the conclusion that there was an error). Additional essential clews are obtained through execution of similar tests, which do not cause these symptoms to occur.
- Organize data. Induction signifies that you proceeding from the special to the general, so the second step is to structure the data relevant to the error situations, in order to observe certain patterns. Of peculiar importance is the determination of contradictions (for example, “error occurs only when the customer has a debit (positive) balance in his current account”). You can use a form like the one shown in the table in order to organize the available data. The table shown in Fig. 7.2, was used for structuring available data. The “what” boxes list common symptoms of the error, the “where” ones describes where these symptoms were observable, the “when” boxes list everything that is known about the timing of the symptoms, and the “to what extent” boxes describe magnitude and scope of these symptoms. Pay attention to the “Is” and “Is not” columns. They define the contradictions, which can ultimately lead to hypotheses about the error.
- Devise the hypothesis. The next steps are study of the relationship between the clews and the development of one or more hypotheses about the symptom of the error, using the patterns that might be apparent in the structure of the clews If you can’t put forward a hypothesis, then additional data are required, which, perhaps, will be obtained from additional tests. If several hypotheses are possible, the most probable one is chosen first. Testmatick is an offshore qa testing company that offers the highest quality qa and testing services with the only thing in mind – success of its clients. From its professional testing specialists to qualified management – all strive to make any software app bug-free and very successful.