Saturday, May 14, 2011

What are Program Test Data, Debugging and Termination

There are many testing techniques in computer programming that will give any programmer a better idea of how the program is working. “Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies specified requirements or to identify differences between expected and actual results.” (IEEE 729-1983, “Glossary of Software Engineering Terminology,” September 23 1982.) They use different methods to test limits or range of a program, the maximum and minimum data, and they will test the logic. These different techniques can be broken into sub categories as well. General testing, special input testing, functional testing, realistic testing, stress testing, performance testing, execution testing, competency testing, active interface testing, structural testing, and error introduction testing are examples of what some of the sub categories might be. These techniques are the most common among data testing.
When testing a program, computer programmers are most often looking for three general kinds of errors. These three types of errors are design errors, syntax compilation errors, and semantic run time errors. Errors are never a good thing when creating a program, but using testing methods can greatly reduce the amount of errors you run into, so it is always a good idea to test often. Design errors are normally caused by incorrect programming, and are usually detected at the early stages of creating a program. These kinds of errors are fairly uncommon. A syntax  compilation error is nothing more than an error in the way the code was written out. It is fairly common to see these kinds of errors from simple typing errors while writing out the program. They are easy to fix and not too big of a problem when it comes to programming. Another type of error that can occur is what’s called a System Environment Error. These kinds of errors are errors that aren’t caused by the program, but from other software and possibly even the hardware on the system. These kinds of error can be hard to fix and possibly end up causing permanent damage to the system.
            In computer programming there are also different ways of terminating a program. Some examples of the different terminating processes are normal termination, and abnormal termination. Normal termination of a program is when the functions that were registered with the atexit or on_exit functions are called in the reverse order of their registration. Typically it is used to do things like saving the program, or unlocking locks in shared data bases. Abnormal program termination is when a program is stopped by the operating system because it reached a point that it cannot continue.