Testing as a process
The
software development process has been described as a series of phases,
procedures, and steps that result in the production of a software product.
Embedded within the software development process are several other processes
including testing. Some of these are shown in Figure 1.3. Testing itself is
related to two other processes called verification and validation as shown in
Figure 1.3.
Validation
is the process of evaluating a software system or component during, or at the end
of, the development cycle in order to determine whether it satisfies specified
requirements. Validation is usually associated with traditional execution-based
testing, that is, exercising the code with test cases.
Verification
is the process of evaluating a software system or component to determine whether
the products of a given development phase satisfy the conditions imposed at the
start of that phase.
Verification
is usually associated with activities such as inspections and reviews of
software deliverables. Testing itself has been defined in several ways. Two
definitions are shown below.
Testing is generally described as a group of
procedures carried out to evaluate some aspect of a piece of software
Testing can be described as a process used for
revealing defects in software, and for establishing that the software has
attained a specified degree of quality with respect to selected attributes.
Note that
these definitions of testing are general in nature. They cover both validation
and verification activities, and include in the testing domain all of the
following: technical reviews, test planning, test tracking, test case design,
unit test, integration test, system test, acceptance test, and usability test.
The definitions also describe testing as a dual-purpose process—one that
reveals defects, as well as one that is used to evaluate quality attributes of
the software such as reliability,
security,
usability, and correctness.
Also note
that testing and debugging, or fault localization, are two very different
activities. The debugging process begins after
testing has been carried out and the tester has noted that the software is not
behaving as specified.
Testing
as a process has economic, technical and managerial aspects. Economic aspects
are related to the reality that resources and time are available to the testing
group on a limited basis. In fact, complete testing is in many cases not
practical because of these economic constraints. An organization must structure
its testing process so that it can deliver software on time and within budget,
and also satisfy the client‘s requirements. The technical aspects of testing
relate to the techniques, methods, measurements, and tools used to insure that
the software under test is as defect-free and reliable as possible for the
conditions and constraints under which it must operate. Testing is a process,
and as a process it must managed. Minimally that means that an organizational
policy for testing must be defined and documented. Testing procedures and steps
must be defined and documented. Testing must be planned, testers should be
trained, the process should have associated quantifiable goals that can be
measured and monitored. Testing as a process should be able to evolve to a
level where there are mechanisms in place for making continuous improvements.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.