Welcome » IT Booklets » Development and Acquisition » Development Procedures » Systems Development Life Cycle » Testing Phase
The testing phase requires organizations to complete various
tests to ensure the accuracy of programmed code, the inclusion of
expected functionality, and the interoperability of applications
and other network components. Thorough testing is critical to
ensuring systems meet organizational and end-user requirements.
If organizations use effective project management techniques,
they will complete test plans while developing applications, prior
to entering the testing phase. Weak project management techniques
or demands to complete projects quickly may pressure organizations
to develop test plans at the start of the testing phase. Test plans
created during initial project phases enhance an organization's
ability to create detailed tests. The use of detailed test plans
significantly increases the likelihood that testers will identify
weaknesses before products are implemented.
Testing groups are comprised of technicians and end users who
are responsible for assembling and loading representative test data
into a testing environment. The groups typically perform tests in
stages, either from a top-down or bottom-up approach. A bottom-up
approach tests smaller components first and progressively adds and
tests additional components and systems. A top-down approach first
tests major components and connections and progressively tests
smaller components and connections. The progression and definitions
of completed tests vary between organizations.
Bottom-up tests often begin with functional (requirements based)
testing. Functional tests should ensure that expected functional,
security, and internal control features are present and operating
properly. Testers then complete integration and end-to-end testing
to ensure application and system components interact properly.
Users then conduct acceptance tests to ensure systems meet defined
Testers often identify program defects or weaknesses during the
testing process. Procedures should be in place to ensure
programmers correct defects quickly and document all corrections or
modifications. Correcting problems quickly increases testing
efficiencies by decreasing testers' downtime. It also ensures a
programmer does not waste time trying to debug a portion of a
program without defects that is not working because another
programmer has not debugged a defective linked routine. Documenting
corrections and modifications is necessary to maintain the
integrity of the overall program documentation.
Organizations should review and complete user, operator, and
maintenance manuals during the testing phase. Additionally, they
should finalize conversion, implementation, and training plans.
Primary tests include: