Download as rtf, pdf, or txt
Download as rtf, pdf, or txt
You are on page 1of 52

International Software Testing Qualification Broad

Chapter 1: Fundamentals of Testing

Main Contents
Why is Testing

ecessary!
What is Testing! Se"en Testing #rinciples Fundamental Test

#rocess

Why is Testing necessary!


Cause of software

defects
$ole of Testing in

Software %e"elopment& Maintenance and 'perations


Testing and Quality (ow much Testing is

)nough!

%ifferentiate *)rror+ %efect+Failure,

- person ma.es an error

*mista.e,
#roduces a defect *fault&

/ug,
Causes a failure in an

operation

Where /ugs come from!


#eople create defects

*/ugs, into the system


Code */usiness logic and

user interface,

%ocumentation

*$e0uirements and design specifications in all electronic and hard document, When the

implementation of these defects */ugs, are e1ecuted& failures occur

Which main cause of /ugs are!


Bugs occur due to2
#rogrammer& analyst&

and other indi"idual contri/utor *including tester, falli/ility

Time pressure

*%eadlines,
Comple1ity of

$e0uirement3Technology
4ac. of e1perience3s.ill 4ac. of information Fre0uent changes

Failures occur due to

/ugs and en"ironmental conditions *radiation& magnetism& pollution2,

The conse0uence of defects


4eads to In5ury3%eath 4eads to loss of Time

4eads to loss of money 4eads to Bad reputation 4eads to #ollution

$ole of testing in software de"elopment life cycle


Identify defects $educe failures or ris.s

in operation
Impro"e the 0uality of

software system

Software testing may

also /e re0uired to compliance with:


Contractual or legal

re0uirements
Industry+specific

standards such as:


BS

6789+8:177:; Software Component Testing :87:177:; Standard for Software Test %ocumentation

I)))

Testing and Quality


Testing measures the

software 0uality /y:


The num/er of defects

found

The num/er of test cases

run
The percentage of

software code e1ercised


#assing tests reduce the

le"el of 0uality ris.


Failing tests pro"ide a

chance to impro"e 0uality <= Impro"e and gi"e confidence software 0uality

Testing can /e done for

Functional and on+ functional software re0uirements and characteristics *relia/ility& usa/ility& efficiency& maintaina/ility and porta/ility,

Testing and Quality *cont;;,


Quality is measured /y

loo.ing at the attri/utes of the product; *e;g; software relia/ility,

Quality is fitness for use Quality is /ased on

good manufacturing processes and meet defined re0uirements e1pectation of time& money and effort aspects used efficiently and effecti"ely the feelings of an indi"idual;

Quality includes

Quality depended on

(ow much Testing is enough!

%epends on le"el of

$IS>
$is. of missing important

faults
$is. of incurring failure

costs
$is. of releasing

untested or under+tested software


$is. of losing credi/ility

and mar.et share


$is. of missing a mar.et

window
$is. of o"er+testing&

ineffecti"e testing

<= #rioriti?e testing


including comple1ity& criticality& "isi/ility and relia/ility; %epends on Time and

Budget *#ro5ect Constraints,

What is Testing
Common o/5ecti"es of

Testing

The purpose of testing

in software de"elopment& maintenance and operations

%ifferentiate Testing

from %e/ugging

Common '/5ecti"es of Testing


Finding defects @aining confidence

a/out the le"el of 0uality


#ro"iding information

for decision+ma.ing
#re"enting defects

The purpose of Testing and Test #hases

Anit3Component Test
Find /ugs in the

indi"idual pieces of the system under test /efore the pieces are fully integrated into the system Integration Test
Find /ugs in the

relationships and interfaces /etween pairs and groups of components in the system under test as the pieces come together System Test

Find /ugs in the o"erall

and particular /eha"iors& functions& and responses of the system under test as a whole -cceptance3#ilot Test
%emonstrate that the

product is ready for deployment3release or to assess 0uality and gi"e information on the ris. of deployment3release Maintenance Test
Chec. for errors

introduced during de"elopment of the changes

'perational Test
-ssess non+functional

system characteristics such as relia/ility or a"aila/ility

%ifferentiate *Testing+ %e/ugging,


Testing:
Find defect $etest /ugs fi1ed and

-pply regression test for o"erall system


Tester test

%e/ugging:

Identify the cause of

/ugs
$epair the code Chec. that the code is

e1ecuted as e1pected
#rogrammer de/ugs

Testing #rinciples
Testing shows presence

of defects

)1hausti"e testing is

impossi/le

)arly testing %efect clustering #esticide parado1

Testing is conte1t

dependent
-/sence of errors

fallacy

Fundamental Test #rocess


Test #lanning and

Control
Test -nalysis and

%esign
Test Implementation

and )1ecution

)"aluating )1it Criteria

and $eporting
Test Closure -cti"ities

Test #lanning and Control


Planning
%etermine test scope&

ris.s& o/5ecti"es& strategies


%etermine Test

-pproach

%etermine re0uired test

resources

Implement the test

policies& test strategies


Schedule test analysis

and design
Schedule

implementation& e1ecution and e"aluation of tests


%etermine the test e1it

criteria Control
Measure and analy?er

results of re"iew and testing

Monitor and document

progress& co"erage and test e1it criteria


#ro"ide information on

Testing

Initiate correcti"e

actions

Ma.e decisions

Test -nalysis and %esign


Analysis

$e"iew the test /asis

*e;g; re0uirements or design specifications& networ.3system architecture& 0uality ris.s,


Identify test conditions&

test data /ased on analysis of test items& its specification& /eha"ior and structure

Design

Select specific

com/inations of test data& actions& and e1pected results to co"er the test /asis <= test case& test procedure
)"aluate testa/ility of

the re0uirements and system


%esign the test

en"ironment

Identify any re0uired

infrastructure and tools

Test Implementation and )1ecution


Implementation
%e"elop and prioriti?e

test cases& create test data& write and prioriti?e test procedures
#repare test harnesses

and write automated test scripts


'rgani?e test suites and

se0uences of test cases for efficient test e1ecution

Berify that the test

en"ironment has /een set up correctly


Berifying and updating

/i+directional tracea/ility /etween the test /asis and test cases

Execution
)1ecute test suites and

test case *manual or automated,

4og test results& and the

"ersion of the software under test& test tools and the test ware
Compare actual and

e1pected results
$eport and analy?e

incidents
$epeat corrected and3or

updated tests
)1ecute confirmation

and3or regression tests

)"aluating e1it criteria and reporting

Chec. test logs against

the test e1it criteria specified in test planning


-ssess if more tests are

needed or if the e1it criteria specified should /e changed


Write a test summary

report for sta.eholders

Test Closure -cti"ities


Chec.ing

which planned deli"era/les ha"e /een deli"ered

Closing

incident reports or raising change records for any that remain open the acceptance of the system and archi"ing test ware& the test en"ironment and the test infrastructure for later reuse

%ocumenting

Finali?ing

(anding

o"er the test ware to the maintenance organi?ation lessons learned to determine changes needed for future releases and pro5ects the information gathered to impro"e test maturity

-naly?ing

Asing

%ifferentiate *Confirmation Testing C $egression Testing,


Confirmation Testing

*$e+Testing,
)1ecuting test cases that

failed the last time they were run


Must /e e1actly

repeata/le
Asing the same inputs&

pre+condition and en"ironment

If test now passes& fault

has /een fi1ed correctly or has it! $egression Testing


)1ecuting test cases that

ha"e /een e1ecuted /efore


Test all test cases that

passed and failed


It is performed when the

software or its en"ironment is changed


)nsure that defects has

not presented in new "ersion

Chapter 8: Testing Throughout the Software 4ife


Main Contents:
Software %e"elopment

Models
Test 4e"els Test Types Maintenance Testing

Software %e"elopment Models


Waterfall model

B+Model Incremental

%e"elopment Model

#rototyping model $apid -pplication

%e"elopment *$-%,
$ational Anified #rocess

*$A#,
-gile de"elopment

Testing within a life cycle model


Se"eral characteristics

of good testing:

For e"ery de"elopment

acti"ity there is a corresponding testing acti"ity


)ach test le"el has test

o/5ecti"es specific to that le"el


The analysis and design

of tests for a gi"en test le"el should /egin during the corresponding de"elopment acti"ity

Testers should /e

in"ol"ed in re"iewing documents as soon as drafts are a"aila/le in the de"elopment cycle;

Test 4e"els
Key Contents
Component Testing Integration Testing System Testing -cceptance Testing

Component3Anit Testing

Test Objective: Find

/ugs in the indi"idual pieces of the system under test prior to system integration
Test

asis: Component re0uirements& detailed design& code Components& #rograms& %ata con"ersion3Migration programs& %ata/ase module

Test Objects:

Test Types: Functional&

performance& structural& ro/ustness testing


!esponsibility:

#rogrammer

Integration Testing
Test Objective: Find

/ugs in the relationships and interfaces /etween pairs and group of components in the system under test as the pieces come together

Test

asis: Software and System %esign& -rchitecture& Wor.flow and Ase+cases Su/system data/ase implementation& Infrastructure& Interfaces

Test Objects:

Test Types: Functional&

performance
!esponsibility: Ideally

/oth Tester and %e"eloper

System Testing

Test Objective: Find

/ugs in the o"erall and particular /eha"iors& functions& and responses of the system under test as a whole
Test

asis: System and software re0uirement specification& Ase cases& Functional specification& $is. analysis reports; user and operation manuals& System configuration

Test Objects: System&

Test Types:

Functionality& security& performance& relia/ility& usa/ility& porta/ility2


!esponsibility: -n

independent test team

-cceptance Testing
Test Objective:

)sta/lish confidence in the system& parts of the system or specific non+ functional characteristics of the system

<= %emonstrate that the product is ready for deployment3release


Test

asis: Aser re0uirements& System re0uirements& Ase cases& Business processes& $is. analysis reports processes on fully integrated system& 'perational and maintenance processes& Aser procedures& Forms& $eports

Test Objects: Business

Test Types: Aser

acceptance testing& 'perational acceptance testing& Contract and regulation acceptance testing& -lpha and Beta testing;
!esponsibility: the

customers or users of a system& other sta.eholders may /e in"ol"ed as well;

Test Types
Key Contents:
Functional Testing

on+Functional Testing Structural Testing Confirmation and

$egression Testing

Functional Testing
Testing /ased on an

analysis of the specification of the functionality of a component or system; $eferred to /lac. /o1 testing and /y Tester

#erform at all Test 4e"el

%ocuments: Functional

re0uirements& Functional specification& Ase cases


Functional Testing can

/e done from 8 perspecti"e:


testing

$e0uirement /ased Business+process+/ased

testing

on+Functional Testing

Testing 0uality

characteristics: Dhow wellE or Dhow fastE the system wor.s


#erform at all Test

4e"els
on+Functional Testing

types: $elia/ility& Asa/ility& )fficiency& Maintaina/ility& #orta/ility


%ifferentiate /etween

#erformance Testing& 4oad Testing& Stress Testing

Structural Testing
Testing /ased on an

analysis of the internal structure of the component or system *while /o1 testing, thoroughness of testing through the co"erage of a set of structural elements or co"erage items

Measure the

Co"erage techni0ues:

code co"erage& statement co"erage& decision co"erage2

#erform at all Test

le"els& especially in component testing or component integration testing

Maintenance Testing
Key contents:
$easons for

maintenance testing
Maintenance testing

"ersus new application testing

$ole of regression

testing and impact analysis

$easons for Maintenance Testing


Test to identify pro/lem

after deploying system <= preser"e system 0uality


Maintenance testing

addresses the change itself and what wasnFt changed and shouldnFt change

The maintenance of

e1isting software can account for o"er GH percent of all de"elopment effort
6HI of the cost of

software is de"oted to maintenance for maintenance testing: Modification& Migration& $etirement

Three typical triggers

Compare /etween Maintenance testing and new application testing $ole of regression testing and impact analysis
Software change impact

analysis is the acti"ity of the software maintenance process that determines possi/le effects of proposed software changes

This acti"ity is

necessary to /e aware of unintentional+effects caused /y the change and record them so that nothing is o"erloo.ed
- change has not only

impact on the source code& /ut also on the other related software artifacts& such as re0uirements& design& and test

Impact analysis can /e

efficiently supported through tracea/ility information


$egression test to show

that the rest of the system has not /een affected /y the maintenance wor.;

You might also like