Software Engineering Unit-4th
Software Engineering Unit-4th
is to find and
2. To ensure that
the software is correct the errors.
3. To according to the requirements of the users.
systematically uncover different a witha
minimum amount of effort.
types of errors in minimumtimeand
4. A good test
case is one that
has a high
a ne s - y e t
Unit testing
FIGURE 11.1
Unit testing
Integration testing
Other high order tests like system testing and
validation testing.
As shown in fig 11.1 first unit testing is perfomed. Unit testing focuses on the
individual modules of the product. After that integration testing is performed. When
modules are integrated into bigger program structure then new errors aarise often.
Integration testing uncovers those errors. After integration testing. other high order
tests like validation tests and
system test are performed.
In validation testing requirements established as part of software requirements
analysis are validated against the software that has been constructed. Finally, we
arrive at system testing, where the software and other system elements aretested
as a whole.
[ 1 6 6 1
1.6.1 Unit Testing
We know that smallest unit of software design is a
module. Unit testing is performed
to check the functionality of these units. The primary goal of
unit testing is to take
the smallest unit of testable software and to find out
whether it works exactly as
expected. Each unit or module is tested separately before these unit or module are
integrated together to build theoverall system. Since the modules are small in size
individual programmers can do until testing on their respective modules. So unit
testing is basically white box oriented.
rather than by
developer.
requirements. Acceptance test is Conducted
If software is
to perform developed as a product to be
formal used by many
use a process acceptance tests with each customers, impractical
it is
called alpha and one. Most software product developers
user seems able beta
to find. testing to uncover the
end
errors that only
[ 1681
Alphatesting is conducted by the customer at the developer's site. The developed
software is used in a natural setting with the developer. The developer records
errors and usage problems. The alpha testing process continues until the software
developer and the customer agrees that the developed software is an acceptable
implementation of the system requirements.
Beta testingis
conducted at one or more customer sites by the end user(s)) of the
nfhware. Here, developer is not present. Therefore, the beta test is a live application
*the software in an environement that cannot be controlled by the developer. The
CUstomer records all problems that are encountered and reports these to the
64 System Testing
testing is
System tesating means testing of the entire software. The goal of system
includes a series of
to see if the software meets its requirements. System testing
different tests to fully exercise the computer-based system.
Although each test has a different purpose, all work to
verify that system elements
functions.
have been properly integrated and perform allocated
System testing involves the following types of testing :
() Recovery testing
(i) Security testing
(iü) Stress testing
(iv) Perfcrmance testing
lI.6.4.1Recovery Testing
and completely the system
Recovery testing is designed to examine how easily
can recOver a system failure.
re-initialization mechanisms, data recoven
In case, the recover is automated then
In case, the recover requires human
and restart are evaluated for correctness.
Intervention, the mean time to repair is evaluated
to determine whether it is within
acceptable limits.
minimum human intervention is
Asystem with quick recoveringcapability and with
desirable.
[169 ]
II.6.4.2 Security Testing
mechanism built
built into a system wil
verify that protection
Security testing attempts to
protect it from unauthorized penetration. During security testing, the tester plays the
the individual who desires topenetrate the system.
role of
The role of the system designer is to make penetration Cost greater than tthe value
obtained.
of the information that will be
For example
1. Special tests may be designed that generate ten interrupts per second, Wnen
one or two is the average rate.
2. Input data rates may be increased byan order of magnitude to determine
input functions will respond.
3. Test cases that require maximum memory or other resources are executed.
12.7 Maintenance
es
required to be properly
he After completion of implementation phase, the software is
maintained, it may fail too. Therefore
sis maintained. If the system is not properly
507% OT Total soTware development time is spent in maintaining
generallymore than
the system.
improvement and updation of software in response to the
Maintenance is actually
organisation.
ses
c h a n g e s in
the
the
l a b o u r - i n t e n s i v e
Maintenance
12.8 Types of System
three types of System Maintenance:
There are
Corrective Maintenance
1.
2. Adaptive Maintenance
Perfective Maintenance
3.
1. Corrective Maintenance
(c) Operational errors occur due to members of the operating stait. For
example, improper backup of computer files, failure to change prnier
ribbons.
software up-to-date.
In addition, adaptive maintenance also includes other tasks Such as file
Maintenance involves:
code
Understanding the existing software
and the
Understanding
change
(both code
Making the
(changes)
Testing the
new parts
the side
effect
problem of
Testing
to attack the
ever-growing
software
a plan is
needed
maintenance
reduction plan. Maintenance
Therefore,
organization use
maintenance.
Many
has three
phases :
reductionplan
Maintenance Management Audit
1. maintenance effort. Maintenance
quality of the
evaluates the
This phase
that:
Management Audit ensure
is logged in a
maintenance request log.
maintenance request
(i) Each Corrections, additicnel
worked are spenton error
Percent of total hours
(i) changes/deletions, and improvements.
reducton
well-defined maintenance
Organization currently have a
(ii)
program.
is
determine how well they do the job. Each program
preliminary ranking value. mean
time
value, m
(ü) Adetailed program audit, which considers theranking
between failure (MTBF), and size of the maintenance bacivs
3. Software Modification
This phase consists of three steps:
documents.
ISystem Documentation
Documentation is the process of collecting, organizing,
historical record of programs and other storing and maintaining
documents used or prepared during the
different phases of the life cycle of the software.
System documentation means coordinated
effort, to communicate the information
of the system in written form. Its purpose
is to ensure that the details of the
aie understood by all the persons concerned during system
the development process and
subsequent operation.
ngn quality standard documentation offers the
following advantages :
Aid to analysis
Aid to communications
Aid to training
Aid to debugging
Aid to implementation
Aid to evaluation
Aid to management
Aid to security
(191 ]
12.12 Characteristics of a Good Documentation
Characteristics of a Good Documentations are
1. Availability
It should be accessible to those for whom it is intended
2. Objectivity
It must be clearly stated in the language that is easily understood
3. Cross-referable
be understood by
incomplete, or written in a
manner that cannot anyone else.
User's Manual
2
e manual is the training guide that Contains
conmplee uescription on how
loment and operate the neW System. It must
contain the following :
1. Hardware Requirements Specifications
2. Software Requirements Specifications
3. Installation and Uninstallation Proedure
4. Starting, running and terminating Procedure
5. Input screen and Output formats
6. Menu and Sub-menus
7. Procedures to execute each option of the Menu
8. DataFile Layouts
9. Data File Layouts
10. Guidelines to operate the System
11. List of errors with explanations and debugging
methods
12. Special checks (if any) and security measures
3.
etc.
System Manual
System manual coontains the following
1.
information :
Defining the objectives of developing the software, and its
2. usefuiness.
The environment in which it
3.
functions.
Its limnitation
4.
5
Put data requirenments and the form and type of output required.
Detailed system flow charts and program floW
6. charts.
7.
Specific program names along with their description and purpose.
8. sGrnption of the prooram listings, and the control procedures.
Source code with documentation.
[ 193]