-
Essay / Essay on Software Testing - 661
Approximately fifty percent of the cost of software development is spent on software testing. This consumes resources and provides nothing in terms of functionality. Much effort has been devoted to developing automatic software testing tools to reduce the cost of software development. If we use a tool to test, even anything we cannot test using a tool, but wherever we can use it, we should do so. This way we can reduce the software development cost. Software testing tests the software for errors, but in reality it only checks for the presence of software errors but never guarantees their absence. Software testing cannot absolutely prove the absence of errors, which are detected by discovering their effects. The problem, however, might be deciding when to end software testing. Testing is one of the important methods to build developers' confidence in the reliability of the software. Sometimes programs that are not properly tested work fine for a few months or even a few years before certain sets of inputs show the presence of critical errors. An incorrect application released to the public without being fully tested could lead to customer dissatisfaction. Additionally, it is important for application software to be free from software defects that could cause heavy economic losses or even endanger lives. In recent years, systematic software testing methods and tools have been developed to avoid many problems. Testing is the most common technique for detecting failures in today's organizations. The main goal of application testing is to build confidence in the correctness of the program under test. To test software, test data needs to be generated and some test data is better at finding errors....... middle of paper.... ..ter-3 gives a global overview of genetic algorithms. An introduction to the algorithms is given and how and why they work is explained using examples. Different procedures are explained which are used in genetic algorithms. Chapter 4 describes the factors that differentiate one test case from another based on their suitability. How these factors are estimated mathematically for a particular test case using an example is given. Chapter 5 describes my entire work, i.e. generating test cases using a genetic algorithm. The test case generation process is given. How the described factors can help find fitness function. The operators used by genetic algorithms are described. Chapter 6 provides the implementation part. How can genetic algorithm be implemented in software testing? How is this useful for finding an optimal result? It was implemented using some examples.