ABSTRACT
This paper looks at what Software Testing is and then briefly explains some of the more common methods and techniques used in the testing process. First we look at the traditional (procedural) environment and then the Object Oriented environment. Comparisons are made (where appropriate) between the two models and methods and teclmiques used. Lastly some issues with testing under both models are discussed.
1. INTRODUCTION
Software has infiltrated almost all areas in the industry and has over the years become more and more wide spread as a crucial component of many systems. System failure in any industry can be very costly and in the case of critical systems (fight control, nuclear reactor monitoring, medical applications, etc.) it can mean lost human lives. These “cost” factors call for some kind of system failure prevention. One way to ensure system’s reliability is to extensively test the system. Since software is a system component, it requires a testing process also.Software testing is a critical component of the software engineering process. It is an element of software quality assurance and can be described as a process of running a program in such a manner as to uncover any errors. This process, while seen by some as tedious, tiresome and unnecessary, plays a vital role in software development.The process of software testing involves creating test cases to “break the system” but before these can be designed, a few principles have to be observed
Testing should he based on user requirements. This is in order to uncover any defects that might cause the program or system to fail to meet the clients requirements.Testing time and resources are limited. Avoid redundant tests.It is impossible to test everything. Exhaustive tests of all possible scenarios are impossible, simple because of the many different variables affecting the system and the number of paths a program flow might take.Use effective resources to test. This represents use of the most suitable tools, procedures and individuals to conduct the tests. The test team should use tools that they are confident and familiar with. Testing procedures should be clearly defined. Testing personnel may be a technical group of people independent of the developers.Test planning should he done early. This is because test planning can begin independently of coding and as soon as the client requirements are set.Testing should begin at the module. The focus of testing should be concentrated on the smallest programming units first and then expand to other parts of the system.We look at software testing in the traditional (procedural) sense and then describe some testing strategies and methods used in Object Oriented environment. We also introduce some issues with software testing in both environments......
Thursday, February 28, 2008
Subscribe to:
Posts (Atom)
