Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 1

A review of software testing research in applying computational intelligence on software testing

Abstract
Software testing is important to reduce errors, maintenance and overall software costs. One of the major problems in
software testing area is how to get a suitable set of test cases to test a software system. We identify a number of
concepts that every software engineering student and faculty should have learned. There are now many testing
techniques available for generating test cases. This set should ensure maximum effectiveness with the least possible
number of test cases. The main goal of this paper is to analyze and compare the computational intelligence
techniques namely genetic algorithm and particle swarm optimization.

Introduction
In the early 1950s computer scientists studied evolutionary systems as an optimization tool, introducing the basics of
evolutionary computing. Until the 1960s, the field of evolutionary systems was working in parallel with genetic
Algorithm (GA) research.

When they started to interact, a new field of evolutionary programming appeared by introducing new concepts of
evolution, selection and mutation. Holland defined the concept of the GA as a metaphor of the Darwinian theory of
evolution applied to biology. Implementation of a Genetic Algorithm (GA) begins with a population of random
chromosomes. The algorithm then evaluates these structures and allocates reproductive opportunities such that
chromosomes which represent a better solution to the problem are given more chance to “reproduce”. In selecting
the best candidates, new fitter offspring are produced and reinserted, and the less fit removed. In using operators
such as crossover and mutation the chromosomes exchange their characteristics. The suitability of a solution is
typically defined with respect to the current population. GA techniques have a solid theoretical foundation, based on
the Schema Theorem. GAs are often viewed as function optimizers, although the range of problems to which they
have been applied is broad, including: pattern discovery, signal processing, and training neural networks.

Critique
First it doesn’t describe the type of problem against which the test is conducted. It simply says a set of programs. It
is not advisable to use Genetic algorithms for analytical problems. Though Genetic algorithms can find accurate
solutions to these kind of problems, traditional analytic methods can find the same solutions in less time with few
computational steps.

Premature convergence needs to be considered when solutions of Generic algorithm are generated. It may happen
that an individual can be much more fit than any of its competitors. So, this individual may reproduce many more
new individuals reducing the diversity of the new population and leading the algorithm to converge on the local
optimum that represents that particular individual rather than searching the fitness landscape thoroughly enough to
find the global optimum. This kind of inefficiency is mostly seen in small problems where even chance variations in
reproduction rate may cause one genotype to become dominant over others.

You might also like