Professional Documents
Culture Documents
MANUAL TESTING
What is software testing ?
Error: Error refers to difference between actual output & expected output.
• To discover defects.
• To avoid the user from detecting problems.
• To prove that the s/w has no defects.
•
•
To ensure
To learn about the reliability
that product worksofasthe software.
user expected.
• To stay in business
• To avoid being sued by customers
• To detect defects early, which helps in reducing the cost of fixing those
defects?
Testing is the process of creating, implementing & evaluating tests. Testing measures
software quality.
Testing can find faults. When they are removed software quality is improved.
Inspection: An inspect
inspection
ion is for
formaliz
malized
ed than a ‘ w
walkth
alkthrough
rough ‘ – typi
typical
cal wit
with
h grou
group
p of
people including a moderator, mediator, reader & a recorder to take notes. The subjects of
the inspection is typically a document such a requirements specifications, or a test plan &
two purpose is to find problems and see what is missing, not to fix anything. The primary
purpose of inspection is to detect defects of different stages during a project.
Walkthrough Informal meeting. The motto of meeting is defined, but the members will
comee wi
com witho
thout
ut any pre
prepar
parati
ation.
on. The auth
author
or descri
describes
bes the wor
work
k pro
produc
ductt in an inf
inform
ormal
al
meeting to his peers or superiors to get feedback or inform or explain to their work
product.
Reviews Means Re-verification. Reviews have been found to be extremely effective for
detecting defects, improving productivity & lo0wering costs. They provide good check
points for the management
management to study the progress of a particular
particular project. Reviews are also a
good tool for ensuring quality control. In short, they have been found to be ext4remely
useful by a diverse set of people and have found their way in to standard management &
quality control practice
practice of many institutions. Their use continues to grow.
grow.
Quality Assurance:
Quality assurance measures the quality of processes used to create a quality product.
Software QA involves the entire s/w development process monitoring & improving the
process, making sure that any agreed upon standards & procedures are followed and
ensuring that problems are found and deal with.
AREAS OF TESTING:
1. Bl
Blac
ackkb box
ox test
testin
ing
g
2. Wh
Whititee b
box
ox test
testin
ingg
3. Gr
Grey
ey boboxx test
testin
ing
g
1. Bl
Blac
ack
kBBox
ox Te
Test
stin
ing
g
Black box testing is also called as functionality testing. In this testing testers
will be asked to test the correctness of the functionality with the help of inputs
& outputs.
Black box testing not based on any knowledge of internal design or code.
Tests are based on requirements & functionality.
Approach
Equivalence Class
Boundary Value Analysis
Error Guessing
Equivalence Class
• For each piece of the specification, generate one or more equivalence class.
• Label the classes as “valid” or “invalid”.
• Generate one test case for each Invalid Equivalence Class.
• Generate a test cases that covers as many as possible equivalence classes.
Eg:: In L
Eg LIC
IC d
dif
iffe
fere
rent
nt ttyp
ypes
es o
off po
poli
lici
cies
es aare
re tthe
here
re
2 6-12 years
3 13-21 years
4 21-40 years
5 40-60 years
Here we divide who comes under which policy & write TC’s for valid & invalid classes.
Eg: In LIC,
When user applies for type-5 insurance, system asks to enter the age of the
custo0mer. Here age limit is greater than 40 yrs. & less than 60 yrs.
40-60
Error Guessing:
White box testing also called as Structural Testing. White box testing based on
knowledg
know ledgee of the inter
internal
nal logic of an applica
application’s
tion’s code.
code. Tests are based on covera
coverage
ge of
code, statements, branches, paths, conditions & loops.
Structure = 1 Entry + 1 Exit with certain constrains, conditions and loops.
Why do we go for White Box Testing ?
Structure Testing
• Conditions Testing
• Dataflow Testing
• Loop Testing
Tester should have good knowledge of white box testing & complete knowledge of
black box testing
BRS Acceptance
Test
Verification Validation
Verification Validation
Design Integration
Testing Test
Verification Validation
Verification Validation
V – MODEL
‘V’ st
‘V’ stan
ands
ds for
for ve
veri
rific
ficat
atio
ion
n & va
valilida
dati
tion
on.. It is a suit
suitab
able
le mo
mode
dell for
for la
larg
rgee scal
scalee
companies to maintain testing process. This model defines co-existence relation between
development process and testing process.
PHASES ARE
1) Un
Unitit T
Tes
esti
ting
ng
2) Int
Integr
egrati
ation
on Tes
Testin
ting
g
3) Sy
Syst
stem
em Te
Teststin
ing
g
4) Use
Userr Acc
Accept
eptanc
ancee Tes
Testin
ting
g
1) Un
Unit
it Te
Teststin
ing
g
The main goal is to test the internal logic of the module. In unit testing tester
is supposed to check each and every micro function. All field level validations
are expected to be tested at this stage of testing. In most cases the developer
will do this.
• In unit testing both black box & white box testing conducted by
developers.
• Depends on LLD
• Follows white box testing techniques.
• Basic path testing
• Loop coverage
• Program technique testing
Approach:
i. Equivalence Cl
Class
iiiii.. B
Eroruonr dgaureysv
va
sianlgue aan
nalysis
2) In
Integ
tegrat
ration
ion T
Test
esting
ing::
In this the primary objective of Integration Testing is to discover errors
in the interface between modules / sub-systems.
App server and database server.
In this many unit tested modules are combined into sub-systems. The
goal here is to see if the modules
modules are combined can be integrated
integrated properly. Follows white
box testing techniques to verify coupling of corresponding modules.
Approach
i. To
Top-
p-do
down
wn ap
appr
proa
oach
ch --- this
this is used
used for
for ne
new
w syst
system
ems.s.
ii. Bot
Bottom
tom-up
-up app
approa
roach
ch --- thi
thiss is used
used for exi
existi
sting
ng sys
system
tems.
s.
Top-down Approach
Testing main module without coming sub modules is called top-down approach. We
can use temporary programs instead of sub modules is called stub.
Bottom-up approach:
Testing sub modules with out coming main modules is called bottom-up approach.
We can use temporary programs instead of main module is called driver.
3) Sy
Syst
stem
em Te
Test
stin
ing;
g;
The primary objective of system testing is to discover errors when the system is
tested as a whole. System testing is also called as End – to – End testing. Tester is expected
to test from login to logout by covering various business functionalities, conducted by test
engineers. Depends on SRS.
Approach:
•Identify the end-to-end business life cycle.
• Design the test data.
• Optimize the end-to-end business life cycle.
4) Acceptance testing:
Acceptance testing is to get the acceptance from the client. Client will be
using the system against the business requirements. Client side tests the real-
life data of the client.
Approach:
• Building a team with real-time users, functional users and developers.
• Execution of business test cases.
• Test cases are valuable because they are repeatable, reproducible under the
same/different environments.
F Functionality Testing
U Usability Testing
R Reliability Testing
R Regression Testing
P Performance Testing
S Scalability Testing
C Compatibility Testing
1) Fu
Funct
nction
ionali
ality
ty Tes
Testin
ting
g
Testing Approach :
• Equivalence class
• Boundary value analysis
• Error guessing
2) Us
Usabi
abilit
lity
yTTes
estin
ting:
g:
To test the ease(comfort, facility) and user-friendliness of the system.
Approach:
• Consistency
• Navigation
• Design & maintenance
• Visual representation
Qualitative approach
i. Eac
Eachh anand
d ev
every
ery ffunc
unctio
tion
n sh
shoul
ouldd be ava
availa
ilable
ble fro
from
m all the pag
pages
es o
off th
thee
site.
ii. Use
Userr shshoul
oulddb
bee aable
ble to sub
submit
mit req
reques
uestt w
with
ithin
in 4-5 act
action
ions.
s.
iii.
iii. Con
Confirm
firmati
ation
on mes
messag
sagee sshou
hould
ld be dis
displa
played
yed for eac
each
h ssubm
ubmit.
it.
Quantative approach:
3) Rel
Reliab
iabili
ility
ty Tes
Testin
ting
g
Objective is to find mean time between failure/time available under specific load
pattern and mean for recovery.
Eg:
23 hours/day availability & 1 hour for recovery (system).
City bank – have 4 servers
servers in each region. Every 6 hrs. It will change servers.
Approach
4) Reg
Regres
ressi
sion
on Tes
Testin
ting
g
To check the new functionalities have been incorporated correctly without failing
the existing functionalities.
5) Per
Perfor
forman
mance
ce T
Tes
estin
ting
g
Primary
Prima ry ob
obje
ject
ctiv
ivee of the
the pe
perfo
rforma
rmanc
ncee te
test
stin
ing
g is “ to demo
demons
nstr
trat
atee th
thee syst
system
em
functions
functions to speci
specificati
fications
ons with acce
acceptabl
ptablee response time
timess while proces
processing
sing the
required transaction volume on a production sized data base.
Objectives:
• Assessing the system capacity for growth.
• Identifying weak points in the architecture.
• Detect obscure bugs in the software.
Performance parameters;
Stress testing:
Finding break point of application. Max. no.of users that an application can
handle(at the same time)
Approach:
RCQE
• R epeatedly
epeatedly working on the same functionality.
• Critical Query Execution.
• To emulate peak load.
Volume testing:
Execution
Execut ion of our app
applic
licati
ation
on und
under
er hug
hugee amo
amount
untss of res
resour
ources
ces is cal
called
led
volume testing.
To find out threshold point we may use this test
Approach: Data Profile.
Load testing :
With the load that customer wants ( not at the same time) . Load is increasing
continuously till the customer is required load.
Gra
rad
dua
uall
lly
y inc
increas
reasin
ing
g the load
load on th
thee app
ppllic
icat
atio
ion
n and
and ch
chec
eck
kin
ing
g th
thee
performance.
6) Sca
Scalab
labili
ility
ty te
testi
sting:
ng:
To find the maximum number of user system can handle. (customer will give
max. no. )
Classification:
•
Network scalability
•Server scalability
• Application scalability
7) Compatibility testing:
How a product will perform over a wide range of hardware, software & network
configuration and to isolate the specific problems.
Approach: ET Approach.
Environment Selection :
• Understanding the end users application environment.
• Importance of selecting both old browser & new browser.
• Selection of the operating system.
The life cycle begins when an application is first conceived (imagine) and ends
when it is no longer in use. It includes aspects such a s initial concept , requirements
analysis, functional design, internal design, documentation planning, test planning, coding ,
document preparation , integration testing, maintenances , updates, re-testing, phase-out,
and other aspects.
V model is the most suitable way to follow for deciding when to start writing test
cases and conduct testing.
Testing limitations: ?
Tester responsibilities :
• Follow the test plans, scripts etc, as documented.
• Report faults objectively and factually.
• Check tests are correct before reporting s/w faults.
• Assess risk objectively.
• Prioritize what you report.
• Communicate the truth.
Tips :
• Possible ranking criteria (all risk based)
• Test where a failure would be most severe
• Test where failures would be most visible.
• Take the help of customer in understand what is most important to him.
• What is most critical to the customers business.
• Areas changed most often.
• Areas with most problems in the past.
• Most complex areas, or technically critical.
Software :
Before
If we feel it isstarting
feasiblethe analysis
then we willwe
gofirst checkphases.
to SDLC the feasibility of the project/work/system.
• Finance feasibility
• Cost feasibility
• Resource feasibility
• Ability to accept
Analysis
Design
Codin
Testing
Analysis :
i. Req
Requir
uireme
ements
nts aanal
nalysi
ysiss is d
done
one to un under
dersta
stand
nd thethe pro
proble
blemm the sof
softwa
tware
re sy
syste
stem
m
is to solve.
ii. Und
Unders
erstan
tandin
dingg th
thee re
requi
quireme
rementnt of tthe
he sys
system
tem is a major
major tas
task.
k.
iii.
iii. Ana
Analys
lysis
is is on ide
identi
ntifyi
fying
ng wha
whatt isis n
need
eed from the sys system
tem..
iv. Mai
Main n goa
goall of th
thee req
requir
uireme
ements
nts sspec
pecifi
ificat
cation
ion iiss to p
prod
roduce
uce tthe
he SR
SRSS doc
docume
ument.nt.
v. Onc
Oncee he u unde
nderst
rstood
ood the reqrequir
uireme
ement nt mu
must
st be spe
specifi
cified
ed in
in th
thee do
docum
cument
ent..
Design :
i. Pu
Purp
rpos
osee of th
thee de
desi
sign
gn is to pla plann a sol
solututio
ion
n of th
thee prob
proble
lem
m spec
specif
ifie
ied
d by th
thee
requirement documents.
ii. Thi
Thiss ph
phase
ase firs
firstt ste
step
p is m movi
oving
ng fr
from
om tthehe prob
problem
lem dom
domain
ain to solu
solutio
tion
n do
domai
main.
n.
iii.
iii. Th
Thee o
o/p
/p of this
this phas
phasee iiss tthe
he de
desi
sign
gn do
docucume
ment
nt..
iv.
iv. This
This docu
docume
mentnt si
simi
mila
larr to a b blu
luee p
pri
rint
nt..
Coding:
i. On
Once
ce th
thee des
desigignn is com
compl
plet
ete,
e, mo
most st of ththee maj
majoror de
deci
cisi
sion
onss abo
about
ut th
thee sys
syste
tem
m
have been made.
ii.
ii. Th
Thee g
goa
oall o
off th
thee ccod
odin
ing
g ph
phas
asee iiss to
to ttra
rans
nsla
late
te th
thee des
desig
ign.
n.
iii.
iii. The cod
coding
ing effe
effect
ct bot
both
h te
testi
sting
ng & ma maintintena
enance
nce.. Wel
Well-w
l-writ
ritten
ten cod
codee ccan
an reduce
reduce
the testing & maintenance efforts. Because of testing and maintenance costs of
s/w are much higher than to coding cost.
So the goal of the coding should be to reduce the testing & maintenance efforts.
Testing :
i. Tes
Testin
ting
g is th
thee maj
major
or ququali
ality
ty ccont
ontrol
rol m meas
easure
ure u
used
sed dduri
uringng s/
s/w
w de
devel
velopm
opment
ent.. Its
basic function is to detect errors in the s/w.
ii.
ii. Afte
Afterr the cod
codining
g ,co
,compmput
uter
er pro
progr
gramamss are ava
avail
ilab
able
le tha
thatt can be execu
execute
ted
d for
for
testing purpose different levels of testing are used.
iii.
iii. The sstar
tartin
ting
g poi
point
nt ooff test
testing
ing iiss uni
unitt tes
testin
ting.
g. A mo
moduldulee is te
teste
sted
d sep
separa
aratel
tely.
y. This
This
is done by the coder himself simultaneously along with the coding of the
module.
iv.
iv. Afte
Afterr this
this mod
modul
ules
es are gra
gradu
dual
ally
ly int
integ
egra
rate
ted
d in
into
to sub
subsy
syst
stem
emss wh
whic
ich
h are then
integrated from the entire system. We do integration tests.
v. System testing: system is tested against the requirement to see if all the
requirement are met all the specified by the documents.
vi. Acceptance testing : client side on the real-life
r eal-life data of the client.
1. Wa
Wate
terr F
Falalll M
Mod
odel
el::
It includes all phases of SDLC. This is the simplest process model.
Draw back :
Once request made freeze, it cannot be changed i.e. changes cannot be done
after requirements are freezed.
Uses:
It is well suited for routine type of projects where the requirements are well
understood & small project.
2. Pr
Prot
otot
otyp
ypee M
Mod
odel
el::
In this model the requirements are not freeze before any design or can proceed.
The prototype is developed based on the currently known requirements.
It is sample of how actual system looks like,
Requirement
Analysis D
Design
C T
Code
3.Test
It
Iter
erat
ativ
ivee M
Mod
odel
el::
In this model we can make changes at any level, but all the four phases of
SDLC will take place again.
A A A
D D
D
C C C
T T T
4. Sp
Spir
iral
al Mo
Mode
dell :
In this model system is divided into modules and each module follows phases
of SDLC. It is good & successful model.
C C C A
Module 2
T
Module 3
TLC PHASES:
System study
Scope/Approach/Estimation
Defect Handling
GAP Analysis
1. Sy
Syst
stem
em sstu
tudy
dy::
• Domain:
In domain, there may be different types of domains like banking,
fin
finance, Insuran
rance, Marketing, Real-t
-tiime,
me, ERP, SEIB
SEIBEEL,
Manufacturing etc.
2. Sof
ofttwa
ware
re::
3. Sco
Scope/
pe/Ap
Appro
proach
ach/Es
/Estim
timati
ation
on::
What to be tested.
Scope
What not be tested.
Eg:
U I S A
Module
4. Te
Test
st Pl
Plan
an De
Desi gn:: 1 P.F =10 lines of code.
sign
• About the client/company (details of the company)
• Reference documents we are used to design the documents.
• Summary of the APP overview.
• Each testing
o Definition
o Technique
o Start criteria
o Stop criteria
• Resources it include roles/responsibilities
• Defects
• Schedules Risks / contingencies / mitigation (how much we can recover)
• Deliverable to whom.
6. Te
Test
st ccas
asee it
item
emss ar
aree :
TC no.
Pre-condition
Description
Expected output
Actual output
Status
Remarks
7. Te
Test
st Ca
Case
se Re
Revi
view
ew::
Review means re-verification of test case. These are included in the review
format.
TYPES OF REVIEWS:
Peer – peer review same level
Team lead review
Team Manager review
REVIEW PROCESS:
8. Tes
Testt C
Case
ase Exe
Execut
cution
ion :
iii. Output:
Raise the defect
Take a screen shot & save it.
9. De
Defe
fect
ct Hand
Handli
ling
ng :
Priority
o High
o Medium
o Low
status
Finding
Finding the dif
differe
ference
nce bet
betwee
ween
n the cli
client
ent req
requir
uireme
ement
nt & the app
applic
licati
ation
on
developed .
Deliverables:
Test plan
Test scenarios
Defect reports
BRs Vs SRs.
SRs Vs Test Case.
TC vs. Defect.
Defect is open / closed.
What is Test Plan : A software project test plan is a document that describes
the obj
object
ective
ives,
s, sco
scope,
pe, app
approa
roach
ch & foc
focus
us of a sof
softwa
tware
re tes
testin
ting
g effo
effort.
rt. The com
comple
pleted
ted
document will help people outside the test group understand the “why & how “ of product
validation.
WHAT IS DEFECT:
In compute
computerr tec
techno
hnolog
logy,
y, a def
defect
ect is a cod
coding
ing erro
errorr in a com
comput
puter
er progr
program.
am. It is
defined by saying that “ A software error is present when the program does not do what its
end user reasonably expects it to do.”
TYPES OF DEFECTS:
Cosmetic flow
Data corruption
Data loss
Documentation issue.
Incorrect operation.
Installation problem.
Missing feature.
Slow performance
Unexpected behavior
Unfriendly behavior
Priority:
Relative importance of the defect, how fast the developer has to take up the defect.
The general rule fortune fixing the defects will depend on the severity. All the high
severity defects should be fixed first.
This may not be the same in all cases some times even though severity of the bug is
high it may not be taken as the high priority.
At the same time the low severity bug may be considered as high priority.
1. BL
BLAC
ACK
KBBOX
OX TEST
TESTIN
ING:
G:
Not based on any knowledge of internal design or code. Tests are based on
requirements and functionality.
2. WH
WHIT
ITE
EBBOX
OX TE
TEST
STING
ING::
Based on knowledge
knowledge of the inte
internal
rnal logic of an application
application cod
code.
e. These are
based on coverage of code statements, branches, paths, conditions, loops…etc.
3. IN
INTE
TEGR
GRAT
ATIO
ION
N TEST
TESTIN
ING:
G:
4. FU
FUNC
NCTIO
TIONA
NAL
L TES
TESTIN
TING:
G:
Black box type of testing. This type of testing should be done by testers. This
does not mean that the programmers should not check that their code works
before releasing it.
5. RE
REGR
GRESS
ESSIO
ION
N TES
TESTIN
TING:
G:
6. SY
SYST
STEM
EM T
TES
ESTI
TING
NG::
Black box type testing that is based on over all requirements specifications.
Covers all combined parts of a system.
7. AC
ACCE
CEPTA
PTANC
NCE
E TES
TESTI
TING
NG::
8. RE
RECO
COVE
VERY
RY TE
TEST
STING
ING::
Testing how well a system recovers from crashes, hardware failures or other
catastrophic(sudden calamity) problems.
9. SEC
SECUR
URITY
ITY TE
TEST
STIN
ING:
G:
How well the system protects against unauthorized internal or external access.
10.COMPATABILITY TESTING:
11.ALPHA TESTING:
12.BETA TESTING:
Testing when development and testing are essentially completed and final
bugs and problems need
need to be foun
found
d before final release
release.. Typically done by end-
users or others not by programmers or testers.
13.SANITY TESTING:
This is before testing. Application is stable or not, we want to write test cases
for product whether development team released build is able to conduct complete
testing or not ?
14.SMOKE TESTING:
After testing major & medium or critical functions are closed or not
15.MONKEY TESTING:
Testing like monkey . As no proper approach. Taking any functions and test it.
Coverage of main activities during testing is called monkey testing (If give one
day for testing)
16.MUTENT TESTING:
KONDA
User Name:
Password : *************
Approach for the integration when checking the errors between module or sub
module.
19.AD-HOC TESTING:
Doing a short cut way, does not following a sequential order mentioned in the
test cases or test plan.
20.PATH TESTING:
SOFTWARE QUALITY:
BRS:
It specifies needs of customer.
Total business logic documents.
SRS:
It specifies Functional Specifications to develop,
HLD:
High level design document.
TESTING TEAM:
Quality Control
Quality Analyst
Test Manager
Test Lead
Test Engineers
Software development tools: visual tools, class libraries, compilers, scripting tools
else often introduce their own bugs or poorly documented, resulting in added bugs.
VERIFICATION:
Typi
Ty pica
call
lly
y invo
involv
lves
es rev
revie
iews
ws an
and
d me
meetetin
ings
gs to ev
eval
alua
uate
te(( esti
estima
mate
te , calc
calcul
ulat
ate)
e)
documents, plans, code requirements and specifications. This can be done with check lists,
issue lists, walk through & inspections meetings.
VALIDATION:
Typically involves actual testing and takes place after verifications are completed.
SEVERITY:
PRIORITY:
Now we are using V model and we will also include in some other methods like
prototype and spiral in single application.
SEI:
Software Engineering Institute.
Initiated by the U.S. defense department to help improve software development
processes.
CMM:
Capabi
Capa bili
lity
ty ma
matu
turi
rity
ty mo
modedell de
deve
velo
lope
ped
d by th
thee SE
SEI.
I. It
It’s
’s a mo
modedell of 5 le
leve
vels
ls of
organizational maturity that determine effectiveness in delivering quality software.
A good test engineer has a “test to break “ attitude (approach, manner) an ability to
take the point of view of the customer, a strong desire for quality and attention to details.
Critic
Critical
al,, QA prac
practi
tice
cess shou
should
ld be dodocu
cume
ment
nted
ed such
such th
that
at th
they
ey are
are repe
repeat
atab
able
le
specifications, designs business rules, inspection reports, configurations, code changes, test
plans. etc…..
A test case is a document that describes an input action or event and an expected
response, to determine if a feature of an application is working correctly.
Developin
Developingg a pro
produc
ductt wit
withou
houtt int
intera
eracti
ctions
ons to two cli
client
ent bef
before
ore the
product release
PROJECT:
Developing a product based on the client needs or requirements.
WHAT IS A TEST PROCEDURE ?
It is version control. It covers the process which is used to control, co-ordinate and
track the requirement documentation, the problem faced, change request and design and
the tools to be used.
used. The changes made again and who made the change
changes.
s.
TESTING TECHNIQUE:
TESTING METHODOLOGIES: