OVERVIEW:
We know that Debugging is the activity performed by the developers for fixing a defect. But how good it would if a tester can identify the cause before this process is performed. Identifying the statement that is causing error without having the code is not possible. But identifying the module or the area of the software that is causing the problem is very interesting. This activity is called Root Cause Analysis.It is performed by tester to identify why the error might have occurred.
BENEFITS:
The following are some of the benefits gained by this activity:
1.Developer can identify the module that is causing error easily. As, a result the chances of reassigning the bug to the tester is reduced.
2.He/She can make sure that similar errors have not missed. Quality of the software is improved as most of the errors are uncovered.
3. Testers knowledge on the internal structure of the software is improved-Reputation increases.
HOW TO:
While testing we encounter different types of errors. It is not possible to identify the cause for every error encountered. The following are some of the common errors for which the root cause can be analyzed directly:
1.Application Crashes: When ever an application is crashes the entry is written to the Application/System Events. Look into these logs so that you can identify the reason why the application has crashed.
2.Errors during installation: Before performing installation through an MSI make changes to the following:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer
Value Name: Logging
Type: REG_SZ
Data: voicewarmup
By enabling this registry MSI***.log file will be created in the temp folder. All the installation errors are logged into this file. Using this information you can identify the error occurred by the Error code.
Description for all the error codes can be found at http://support.microsoft.com/kb/229683
3.Fatal Error Exceptions: When you start a program you encounter error message similar to A fatal exception XY has occurred at xxxx:xxxxxxxx
Fatal exception errors are codes that are returned by a program in the following cases:
* Access to an illegal instruction has been encountered
* Invalid data or code has been accessed
* The privilege level of an operation is invalid
When any of these cases occurs, the processor returns an exception to the operating system, which in turn is handled as a fatal exception error. In many cases the exception is non-recoverable and the system must either be restarted or shut down, depending upon the severity of the error.
XY - the actual processor exception from 00 to 0F. (Note that the "h" that is listed after the 0E, 0F, and so on, in the explanations below is frequently omitted from the error message.) The xxxx:xxxxxxxx value represents the enhanced instruction pointer to the code segment; the 32-bit address is the actual address where the exception occurred.
4. Program Exceptions: When the program is not able to handle the process then program exceptions are thrown. For example: consider a text field which accept only alphabets. When the user enters an integer, the program should be able to handle this input properly by throwing a friendly message such as "Invalid Input" rather than crashing in between. These errors are clearly understood as the error contains word "Exception".
5. Memory Leaks: Every program should successfully unload from the memory when exited. If the system resources are not set to free after the execution of the program, the system becomes slow and the effect can be clearly observed observed in the Task Manager as the CPU cycles are continuously used by this program even after exit.
The more the tester gains the knowledge about the structure of the software, this activity becomes very easy.
No comments:
Post a Comment