Life Cycle of a Software Development Project7
Another potential problem in long-term operation is counter overflow. This occurs when
you increment a counter but forget to decrement, it resulting in an overflow when the product is
used for longer periods.
The regression testing may be started as soon as some components are ready. This testing
process requires a very long period of time by its very nature. The process should be continued
as more components of the product are integrated. The integration process and communication
through interfaces may create new bugs in the code.
1.1.5.4Functional Testing
Functional testing is carried out to make sure that the software is doing exactly what it is
supposed to do. This type of testing is a must before any software is released to customers. Func-
tional testing is done by people whose primary job is software testing, not the developers them-
selves. In small software projects where a company can’t afford dedicated testers, other
developers may do functional testing also. The key point to keep in mind is that the person who
wrote a software component should not be the person who tested it. A developer will tend to test
the software the way he/she has written it. He/she may easily miss any problems in the software.
The software testers need to prepare a testing plan for each component of the software. A
testing plan consists of test cases that are run on the software. The software tester can prepare
these test cases using functional specifications documents. The tester may also get help from the
developer to create test cases. Each test case should include methodology used for testing and
expected results.
In addition to test cases, the tester may also need to create a certain infrastructure or envi-
ronment to test the functionality of a piece of code. For example, you may simulate a network to
test routing algorithms that may be part of a routing product.
The next important job of the tester is to create a service request if an anomaly is found.
The tester should include as much information in the service request as possible. Typical infor-
mation included in reporting bugs includes:
•Test case description
•How the test was carried out
•Expected results
•Results obtained
•If a particular environment was created for testing, a description of that environment
The service request should be forwarded to the developer so that the developer may cor-
rect the problem. Many software packages are available in the market to track bugs and fix prob-
lems in software. There are many web-based tools as well. For a list of freely available open
source projects, go to http://www.osdn.org or http://www.sourceforge.net and search for “bug
track”. OSDN (Open Source Developers Network) hosts many open source software develop-
ment projects. You can find software packages that work with CVS also. CVS is explained in
Chapter 6 of this book.
Next Page >>
<< Previous Page
Back to the Table of Contents