Академический Документы
Профессиональный Документы
Культура Документы
System Testing
and uality Assur.
Introduction
negilgenc
time
nce, or. constraints crédte errors tha' must be eliminated betore
hated be
ceady
s
tor
for
ready
user acceplancertesting. i
A System is tested for
e c O A system onltine
he
system
ne of transactions,
x o n s e , .v o l u
whir
stress.
e s , recovery trom tallure and usabilitry
testing, which veriflfes that the whole
system set of programs
her comes
gelher. Following syster testing is
acceptance testing. or running the hangs
system
data by ihe actual user.
Iiye uires a test plan that conslsts of several
system testing requtre
key activities and
s or prograim. string, system. and user acceptance testing. The system
s0 criteria deal with furnaround fime, backup. tile
erlormance.
h e human tactor.
protection. and
h
he For ms to be viable. controls have to be developed to ensure a
sy quality
Auaity assurance cuts acrOss the system life cycle, and is especialy
involved in implementat Auaility assurance specialists go through system
tion betore they grant certification. Auality assurance and
testing and valldatio
audit go hand in hand. The role of the auditor is to
the DP make sure that
adequate ntrols are built into the system for integrity and reliability.
Rr the erd of this chapter, you should know
1. Why systems are tested.
2. The activity nefwork for system testing
3. What steps are taken to test systems
4. The goals dt quality assurance in the system lite cycle.
5. The role ot the DP auditor in system testing.
SYSTEM TESTING
Types of System Tests
Quality Assurance
UALITY ASSURANCE GOALS IN THE SYSTEMS LIFE CYCLE
uality Factors Specitications
Soffware Requirements, Spectficatlons
Software Design Specitications
oftware Testing and Implementation
Maintenance and Support
EVELS OF AUALITY ASSURANCE
Tronds in Tosting
of the Data Processing Auditor
THE AUDIT TRAL
PART ROUR/SYSTRM DAmMINTAIoN
ENTRODUCTION
system design
i8
pertect; communiCat..
or clear, anduon betwe
or
No pogram completee
not always
and the designer is thrne ls usen the
more emors. The
The result is errors and number and
on several factors: nature ofof ervorshn
new design depend
Communications between
the user and the deni
1. ner.
to generate code that
2. The programmer's ability
a
that reflects exactly
system specifications.
may not appear until months later. This creates two problems: the
lag between the cause and the appearance of the problem (ne the,
time interval, the more complicated the problem has become), asnal
effect of system errors on files and records within the syste ecive
Efec
system error can conceivably explode into a much langer proble
12/STSTEM TOSTNG AND
ADALM ASSURANCE 361
early
in the process trans lirectly into long-tem cost savings
number of erors
educed
nother reason for system testing is its utility as a user-oriented vehicle
ementation. The best program is worthless if it does
before
i m p l e m not meet
Unfortunately, the user'sdemands areoften
program or design efñiciency in tems of
compromised
by
efortsie
facilitate processing
ten the computer technician and the
mory utilization. Often
time
user have
unication baiers due to different backgrounds, interests, priorities,
andperha languages. The system tester (designer, programmer, or user)
developed some computer mastery can bridge this barier.
whohas
Do WE TEST FOR?
EAT
st test of a system is to see whether it produces the correct outputs.
te first
k crucial. Following this step, a
No
other test
can
are c o d u c t e d :
varietyof other tests
I Online response. Online systems must have a response time that will
at Caluse a hardship to the user. One way to test this is to input transac-
not
tions on as many CRT screens as would normally be used in peak hours and
time the response to each online function to establish a true performance
level.
2. Volume. In this test, we create as many records as would normally be
produced to verify that the hardware and software will function comectly.
The user is usually asked to provide test data for volume testing.
3. Stress testing. The purpose of stress testing is to prove that the candi-
date system does not malfunction under peak loads. Unlike volume testing,
where time is not a factor, we subject the system to a high volume of data
over a short time period. This simulates an online environment where a
high volume of activities occurs in sputs
4. Recovery and security. A forced system failure is induced to test a
backup recovery procedure for file integrity. Inaccurate data are entered to
s e e how the system responds in tems ofemor derection and protection.
Related to file integrity is a test to demonstrate that data and programs are
secure from unauthorized access.
This
OparO Test Data lor Transacien Path Testng
activiy develops t h e d a t a
transactiorn to
required for testin8 every condition
b e introduced i n t o :
from
the system. The path o f e a c h transactin
origin to
destünation 1s
careniily t e s t e d tor reliable results. The test
verifies that h e test data are vitually comparable to live data u s e d
conversion. ater
a n 0sor Trainng
User training i s designed t o p r e p a r e t h e
t h e system. U s e r involvement a n d training take user f o r testing a n d coverting
place parallel with program-
m i n g for t h r e e reasons:
The system
Programs graup
are has
being time
written.
available t o spend on training w h l e the
.
nitiating
image of atheuser-training program gives t h e systems group
u s e r ' s interest i n t h e n e w
a clearer
system.
A t r a i n e d u s e r participates m o r e
effectively i n system testing.
O r s e r training. preparation of a checkist is useful (see Figure 12-21
neuded are prrovisions for developing training materials and other docu
e n t s . o c o m p l e t e t h e t r a i n i n g a c t v i t y : i n effect. t h e checklist calls tor
o m m i t m e n t o f p e r a o n n e l , f a c l i t i e s , a n d efforts f o r i m p l e m e n t i n g the can
date system.
hetraining plan is followed by preparation o f t h e u s e r
a n d a t h e r text materials. traini"ë waree
Facility equirements a n d t h e eces* ervisors
a e speeifñed a n d
documented.a comnmon
procedure is t o t r a i n super
PAPT R O O R / m m D U n a T A T O N
System Testing
The purpose of system testing is to identify and correct erors in the
candidate system. As important as this
phase is, it is one that is
frequent
12/STSTEMTESTING AND QUALTY ASURANCE 367
the
mpromised. Typically, the
ically, project is behind schedule or the user is
compn to conversion.
eager
directly
to
go tem testing. performan and acceptance standards are devel-
In syndard performance or service interruptions that result in sys
oped. Substa.
ailure
are
ed
checkec during the test. The following performance criteria
iem
system testing:
are
used for
around time is the elapsed time between the receipt of the
1. T
of the
the output. In online
input
systems, high-priority
processing process
availability
and theandled during peak hours, while low-priority is done
han
nin the day or during the night shift. The objective is to decide on and
Jaee all
evaluate allt the factors that might have a bearing on the tumaround time for
handling all applications.
Rackup relates to procedures to be used when the system is down.
2Backup plans might call tor the use of another computer. The software for
the candidate system must be tested for compatibility with a backup com-
puter.
In case of a partial system breakdown, provisions must be made for
dynamic reconfiguration of the system. For example, in an online environ-
ment, when the printer breaks down, a provisional plan might call for
automaticaly "dumping" the output on tape until the service is restored.
3. File protection pertains to storing files in a
separate area for protection
against fire, flood, or natural disaster. Plans should also be established for
reconstructing files damaged through a hardware malfunction.
4. The human factor applies to the
personnel of the candidate system.
During system testing. lighting, air conditioning, noise, and other environ
mental factors are evaluated with people's desks, chairs, CRTs, etc. Hard-
ware should be
desigmed to match human comfort. This is referred to as
ergonomics. It is becoming an extremely important issue in system develop-
ment.
Types of Syatem Tests
After a test plan has been developed, system testing
begins by testing
program modules separately, followed by testing "bundled" modules as a
unit. A program module may function perfectly in isolation but fail when
nierfaced with other modules. The approach is to test each entity with
S1ucessively larger ones, up to the system test level.
System testing consists of the following steps:
.Programis) testing.
2Stiingtesting.
Sy'sten testing
System docunentation.
5. ser acceptance testing.
Pach slep is briefly explained here.
P A P O R T DALnaTAnON
388
Program Testing. A program represents the lois s
system. For a program to run satisfactorily, it must t o
correctly and tie in properly with other pograms. Achie. lementtesa
pile and od
program is the responsibility ofthe programmer. ProRra an error fre
an
wo types of errors: vntax and logic. A syitax error is ng checks i
that violates one or more rules of the
a prog ram statem
language in
which it
improperly defined field dimension or omittedted key words is written. temem . An
syntax emors. These errors are shown through error messar are
the computer. A logic error, on the other hand, deals
wit8eneralered by ommon
fields, out-of-range items, and invalid combin correct data
not detect logic eTors, the
for them.
programmer must examine the a ostics do
When a
program is tested, the actua output is
expected output. When there is a discrepancy, the
compaed with the
must be traced to detemine the problem.
sequence of instruce
The process
breaking the program down into self-contained
is facili.ons he
be checked at certain
key points. The idea is to whi portions, each of b
compare can
against desk-calculated values to isolate the problem. program valu
values
String Testing. Programs are invariably related to one
interact in a total system. Each program is tested to see whether
ánother and
to related
programs in the system. Each
it confor
portion of the system is ms
against the entire module with both test and live data tested
system is ready to be tested. before the enti
System Testing. System testing is
that were not found in
designed
earlier tests. This includes forced
to uncover
weaknesses
validation of the total system as it will be
system failure and
operational environment. implemented by its userts) in the
tions based on live Generally, it begins with low volumes of transac-
data. The volume is increased
for each until the maximum level
transactíon type is reached. The total system is also
recovery and fallback after various tested for
lost during the major failures to ensure thano data are 3.E
emergency. All this ís done
operation. After the candidate system passeswith the old system stil in
the test, the
discontinued. old system s
System Documentartion. All desigh and test C
be finalized and entered in the documentation should 6. T
central location for
library for future reference. The
library is the
maintenance of the new
system. The format, P
tion, and
standards.
language of each documentation should be in line withorganiza*
system
1. P
C
User &. A
Acceptance Testing. An
selling the user on the validity and acceptance test has the
objectivethato
the system's reliability of the system. It verifies
procedures operate to system specifications and that tho
integrity of vital data is maintained. Perfomance of an
acceptance test 1s
12/SYSTEM TESTING AND aDALTT ASSTRNCI
or's show. User knowledge are critical for the
motivation and
actually ofí tthe systetn. Then a comprehensive test report is
performance
dicates the system's tolerance, performance range
SuCCess ulThe report indicates
rpared
emor and accuracy
a U A L I T YA S S U R A N C E
of software produced today stagger the imag-
and complexity and
velopment strategies have not kept pace, however,
amount.
inatio
The
Software deve
products fall application objectives. Conse
short of meeting
s o fw a r e
be developed to ensure a quality product.
Basically
must
tly, controls mu,
reviews the
the objectives of the project and
asSurance defines corrected early in the development
qual that errors are
so th.
activities
no erTors in
e n s u r e that there are
yerall in each phase to
are taker
Steps
proces.
the f i n a l s o f t w a r e .
Life Cyele
Assurance
Goals in the Systems
each
auality development, and
includes various stages of relevance to the
software life cycle The goals and
their
The assurance.
the goal of quality next.
stage has
summarized
are
assurance
of the system
quality
u a l t y Factors Specifications contribute to the
the factors that
of this stage
is to define
determine the quality of a
The goal system.
Several factors
candidate
the
quality of
specinca-
system: meets system
a program
extent to which
C o r r e c t n e s s - t h e
1. intended
func-
objectives. performs its
tionsand user which the system
Reliability-the
degree to
2. by a program
required
tions over a time resources
amount
of computer
Ejiciency-the
3. function. a aystem.
a and operate
to perform to leam located and
effort required
are
errors
program
Unability-the which
4. with
ease
correct
M a i n t a i n a b i l i t y - t h e
ensure
its
5. program
to
a
corrected. to lest
reyuired
effort hardware
one
T e s t a b i l i t y - t h e
from
6. a program
transporting
performance.
of
ease and
P o r t a b i l i t y - t h e
computalions,
input editung,
Configuration to another
7.
ciskon in
Accuracy-the requied precis
avod-
error
versus
correction
8. tion and
detectio.
outputtolerance-errr
Eror
9.
ance
370 PART POUR / STSTEM DPLEMENTATION
10. Expandability-ease of adding or expanding the existing da
the svst.
11. Access control and audit--control of access to the system base
extent to which that access
can be audited. and the
12. Communicativeness-how descriptive or useful the inputs an.
of the system are.
Software Requirements Specificatlons
The quality assurance goal of this stage 1s to generate the requi
0ocument that provides the technical specifications for the dsent
development of the software. This document enhances the system' and
by formalizing communication between the system developer and i y
and provides the proper information for accurate documentation
Sottware Design Specifleations
In this stage, the software design document defines the overall arhit.
ture of the software that provides the funçtions and features described
the software requirements document. It addresses the question; How it w
be done? The document describes the logical subsystems and their respec.
tive physical modules. It ensures that all conditions are covered.
Sottware Testing and Implementatlon
The quality assurance goal of the testing phase is to ensure that com-
pleteness and accuracy of the system and minimize the retesting process
In the implementation phase, the goal is to provide a logical order for the
creation of the modules and, in turn, the creation of the system.
Maintenance and Support
This phase provides the necessary software adjustment for the system
to continue to comply with the original specifications. The quality as-
surance goal is to develop a procedure for correcting errors and enhancing
software. This procedure improves quality assurance by encouraging com
plete reporting and logging of problems, ensuring that reported problems
are promptly forwarded to the appropriate group for resolution, and reduc
ing redundant effort by making known problem reports available to any
department that handles complaints.
Levels f Quality Assurance
There are three levels of quality assurance: testing. validation, and certiñica-
tion.
In system testing, the cormon view is to eliminate program errors. This
is extremely difficult and time-consuming, since designers cannot prove 100
percent aceuracy. Therefore, all that can be done is to put the system
through a "fail test" cycle-detemine what will make it fail. A successful
12/57STEM TESTDIG AMD ALTT ASUTRNCA
to as
through phase ohen
alpha testing) in which errors and faiiures
a
referrec
Ser reyuireme
based orn
are verified and studied. The modified software is thhen simuiated
ected to phase two called beta testing) in the actual
sUnment. The system is used regularly with live user's site or a live
and errors are documented transactions. After a
enviror
failures
heduled time, failu
schec
S72
Gher
DATA PROCESSING AUDITOD
ROLE OF THE
system ought to include
test of any
The planned
introduce control elements unigue to the
epT
technique and slem
auditor should be involved in most nh most phases
the systTheem
Dethi
processing (DP)
system testing.
In the past, auditors
have ot pulpr
cycle, especially
been installed. Then the cost is often too
audited tat
are
cooperation of both
and make recommendations to the ws
judge the controls
jnils.
that a sbleler
to violate control procedures incorporated
specifically designed the s
valid transactions to test their acceptance by
program as well as examined. At the time program
stem
control must be caretfully
The setup Candid
tested, all required files are accumulated and set out in the proper one
USers
meniat
stem
at extracts the
extracts
auditor c
can trace the status of an account in detail
the
to be part of
role of the auditor, he'she is
p m g r :
t h e n
so
that
important
expected
Given
the
development team, which includes the user. As an independent
judge the controls and make recommendations to the
the syhe role
adviser, t h e r o l e is to
in the evaluations:
a r e consider
team. T h r e e
important steps
be present
Ath te always
costs to s e e whether system testing is within the
Reexamine budget
limits.
The auditorshould evaluate program acceptance
Review specifications.
ewing fest specifications and
assist the system/programmer in developing test
Contr, tandards, various levels of testing, and
actual test conditions. He/she
should also evaluate the actual system acceptance test to rnsure an accept
hat a
confidence and reliability.
n th able level of
system in summary, it is the auditor's responsibility to build controls into
Ms a candidate systems to ensure integrity, reliability, and confidence of the
order users at all ievels. The auditor should be called in during design as well as
testing so that any suggestions he/she has can be considered before imple-
mentation. when changes are less costly. Including the auditor in the
systerm development tean makes it easier for him/her to monitor testing
procedures and consider the acceptance of new controls to replace those
desig changed by the new design.
e audi
Dility d
singe Summary
hangs 1. Inadequate testing or nontesting leads to emors that may be costly
when they appear months later. Effective testing translates into cost
ney a
savings from reduced errors. It also has utility as a user-oriented vehicle
before implementation.
filed a
2. A
enty system is subject to a variety of tests: online
candidate response
volume, stress, recovery and security, and usability tests. Each test has a
which unique benefit for a suçcessful installation.
S. Test data may be artificial or live itaken from the user's ilesi. In either
0t
quired The activity network for system testing entails the following
a.
eofthe
Prepare test plan.
b.
Specify conditions for user acceptance testing
C.
Prepare test data for program testing