0% found this document useful (0 votes)
153 views9 pages

Software Verification and Validation Overview

Uploaded by

Aditi Goel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
153 views9 pages

Software Verification and Validation Overview

Uploaded by

Aditi Goel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Soft

war eVeri
fi
cati
on,Vali
dati
on&Testing:Veri
ficationandValidati
on,Evol
uti
onary
Natur
eofVer i
fi
cati
onandVal i
dati
on,I
mpr act
icalit
yofTest ingall
DataandPat hs,Proof
ofCorrect
ness,Soft
war eTest
ing,
Funct
ional,Str
uct uralandError
-Ori
entedAnalysi
s&
Testi
ng,Stat
icandDy namicTesti
ngTools,Character i
sti
csofModer nTesti
ngTool s.

Sof
twar
eVer
if
icat
ionandVal
i
dat
ion:
Int
roduct
ion

 Softwareveri
ficati
onandv ali
dati
onaret hetwohandsar oundwhichasoftware
productisbuil
t.
 Softwareveri
ficati
onisapr ocesswhichensurest hatthepr
oducthasbeenbuil
t
accordingtother equir
ementanddesi gnspecifi
cati
ons.
 Itmeans, “
Arewebui l
dingtheSy stem/Productrightl
y?”
 Softwarevali
dationisapr ocesswhi chensuresthattheproductmeetstheuser’
s
requir
ementandf ulf
il
lstheneedofuser .
 Itmeans, “
Arewebui l
dingtheRi ghtSystem/Product?”

Ver
if
icat
iont
est
ing

 Verif
icati
ont est
ingi
ncludesdi fferentact
ivi
ti
essuchasbusi nessrequir
ement s,
system requirement
s,designr ev i
ew,andcodewal kt
hr oughwhi ledevel
opi nga
product.
 Iti
sal soknownasst at
ictesti
ng,wher ewear eensur
ingt hat"wearedev elopi
ng
ther i
ghtpr oductornot "
.Andi talsochecksthatt hedev elopedapplicati
on
ful
fi
lli
ngalltherequi
rement sgi
v enbyt hecl
ient
.
 Vali
dationtesting
 Vali
dationtestingi stest
ingwher et
esterper formedfuncti
onalandnon-funct
ional
testi
[Link] efunct i
onaltest
ingincl
udesUni tTesti
ng(UT),I
ntegr
ationTesti
ng(IT)
andSy st em Testing( ST),andnon-functionaltesti
ngincl
udesUseraccept ance
testi
ng( UAT).
 Va l
i
dationt estingi salsoknownasdy nami ctesti
ng,wher ewear eensuri
ng
that"wehav edev elopedtheproductright."Andi tal
socheckst hatthesoft
war e
meet sthebusi nessneedsoft hecli
ent.

Sof
twar
eVer
if
icat
ionandVal
i
dat
ion:
TheCompar
ison
Sof
twar
eVer
if
icat
ionandVal
i
dat
ion

Sof
twar
eVer
if
icat
ionandVal
i
dat
ion:
TheV-
Model

 TheV- Modelisasystematicappr oachwiththehelpofwhi chv er


if
icati
onand
vali
dati
onprocesscanbecar r
iedoutsimul t
aneously,wheretheleftarm oft
he
model descri
besthesoftwarev eri
fi
cati
onpr ocessandrightarm describest
he
softwareval
idati
onprocess.
 Since,wewantt ocarr
youtt hedev el
opment (soft
wareveri
ficati
on)and
testi
ng(sof
twarevali
dati
on)processi nparall
el,t
hismodel helpsust odothe
samei nordertosavetimeandr educethecost .
TheV-
Model
:Sof
twar
eVal
i
dat
ionandVer
if
icat
ion

Ver
if
icat
ionMet
hods

[Link] k-t
hrough: Wal k-t
hroughi sandi nformal wayofv eri
fi
cat i
onwhichi sini
ti
ated
bytheaut horofsof twarepr oducttot heircol l
eaguesinor dertolocatedefector
anysuggest i
onf orimpr ov [Link] k-throughisanunpl annedprocess.
[Link] i
ew: Reviewsar emor eformalthanwal k-thr
oughbutl essf or
mal than
i
nspect ionpr [Link] ocheckt hechangei ndataandt odetermine
whet herthechangesar ecor r
ectornot .
[Link]:Inspect i
oni samostf ormal verifi
cati
onpr [Link] na
softwarepr oducti nwhi chev er
yindividual l
ineofcodei scheckedi nor dert
o:
o L ocatet hedef ectsinsof t
warepr ogr ams.
o Co nfi
r mationofst andardi
zation.
o Ch eckf orrelevantr equir
ement .

I
mpr
act
ical
i
tyofTest
ingAl
lDat
a

 Foralmostev eryprogram, i
tisi
mpossiblet
omakeanat tempttot
estthe
program withallset
sofi nputs.
 Th ecorr
ectnessoft heoutputforaparti
cul
artesti
nputi
sdeter
minedusinga
testi
ngoracle.
 At est
ingoracleisamechani sm thatcanbeusedfordet
ermini
ngwhetheratest
haspassorf ail
ed.

I
mpr
act
ical
i
tyofTest
ingAl
lPat
hs
 Foral
mosteverypr ogram,iti
simpossi
bletoat
tempttotestal
lexecut
abl
epat
hs
thr
oughtheproj
ectbecauseoft henumberofcombinati
oni.e.
combinati
onexplosion.
 Devel
opinganalgorithm f
orthi
spurposeisal
sonotpossibl
e.

Sof
twar
eQual
i
tyTest
ing:
Int
roduct
ion

 Testi
ngisapr ocesstodetectandremov eer
rorsfrom thesoftwar eproduct.
 Thepurposeoft esti
ngistoshowt hatt
heprogram performsi t
si nt
ernal
funct
ional
i
tiescorrectl
y.
 Iti
stheprocesst omeetspecifi
cati
onsofasof t
war einordertoimpr ovequali
ty
andreducer i
skinthesoftware.
 Iti
stheprocedureusedt oexecuteaprogram wit
hi nt
entoffindingerrors.

Sof
twar
eQual
i
[Link]
twar
eQual
i
tyTest
ing

 Sof t
warequal it
yist heabi l
it
yoft hesof twareproducttoperf
or m aspert he
requirementwi thhighestl evelofsatisfacti
ont otheuser
s.
 So ft
warequal it
yt esti
ngi stheprocessofev aluati
ngthesystem ori t
s
component sinor dertodr awoutdef ects.
 Qu ali
tyofasof twar eproductdi r
ect l
ydependsuponsof t
waret estingprocess.I
f
testi
ngpr ocessisabl et omi ni
mi zeasmanydef ect
saspossi bl
et hen,the
softwarepr oductobt ainedwi l
lbeofhi ghestquali
ty.
 Th etwomaj ortypesoft estingtypicall
yusedt oobt ai
nquali
tysoft wareare:
[Link] i
onal-Testing.
[Link] ructural
-Test i
ng.

Sof
twar
eQual
i
tyTest
ing:
Funct
ional
-Test
ing

 Iti
sat ypeoftesti
ngthatcanbeusedt oassessthefeat
uresandfunct
ional
it
yof
thesystem orsoftwareproduct.
 Functi
onal-Test
inghasaspeci alf
eatur
ewit
ht hehel
pofwhicheachandev er
y
funct
ionofasof twareproductsothati
tcanbev er
if
iedwit
hrequi
rement
speci
ficat
ions.

Sof
twar
eQual
i
tyTest
ing:
Funct
ional
-Test
ingNeed

 Checkingasof twareproductf
oritsfuncti
onal
it
iesist hepr i
meobj ecti
veof
funct
ional-
testi
[Link]
yfocuseson:
[Link] cUsabili
ty:
Itdeal
swi t
hbasicusabil
itytestingofsoftwarepr oduct
whichinvolvesbasi
cfuncti
onali
tiesofuserinterfaceandnav igat
ion
thr
oughpages.
[Link] nli
neFunct i
ons:Mainfuncti
onsandf eaturesar etest
edoft he
soft
war eproduct.
[Link] bil
i
ty:Tocheck,howmucht hesoftwarepr oductisaccessiblet
o
users.
[Link]
rorCondi
ti
ons:Err
orcondi
ti
onsei
thergener
atewar
ningsordi
spl
ays
er
rormessages,
ifany.

Sof
twar
eQual
i
tyTest
ing:
Str
uct
ural
-Test
ing

 Thestructureofasof twar epr oducti sr esponsiblefordesigningt estcasesi n


ordertotestasof twar epr oduct .
 Since,t
hewhol est ruct urei sknown, iti
sal soknownaswhi teboxt esting.
 ​
Struct
ural-
Testingismor et echni cal thanfunctional-t
estingasi tatt
empt sto
designtestcasesf rom t hesour cecodeandnotf rom thespeci fi
cations
 Th emajorstructural testingappr oachesar e:
[Link] atementCov erage: Int his,theai mistoachi eve100%st atement
[Link] er ystatementofpr ogram isexecut ed.
[Link] anchCov er age: I
nt his,theai mist oachieve100%br anchcov eragei.
e.
everybranchei thercont aining“ tr
ue”or“ fal
se”condi t
ionsneedst obe
executed.
[Link] hCov erage: Thist echni quecor r
espondst otestallpossiblepat hsi
.e.i
t
i
sacombi nat ionofbr anchandst atementcov er
aget echniques.

Sof
twar
eQual
i
tyTest
ing:
Str
uct
ural
Test
ingTy
pes

 St
ruct
ural
-Test
ingcanbr
oadl
ybecl
assi
fi
edi
ntof
ourt
[Link]
e:

Ty
pes
ofSt
ruct
ural
Test
ing

[Link]
rol
Flow
I
onthi s,variouspat hsofpr ogr amsand v ar
ioustestcasesar edesi gnedt o
execut ethosepat hswhi chul ti
mat elyresultsinfi
ndingoutthecy cl omatic
compl exityoft heprogr ams.
[Link]
ow
o Itisat echni queusedf ordet ermi ningi mpr operuseofdat ainsidea
sof twar epr ogr ams.
o Incor rectvar iabledecl arat
ion, Mul tipleti
mesdecl arati
onandassi gning
valuest ov ariablescanbesomeoft heexampl es.
[Link]
iceBased
o Sli
ci ngasof twar eprogram andt est ingthosesl i
cesindivi
duallyfordef ects
ander rors.
[Link]
on-Test ing
o Wh ensmal l changesar emadei nsomecer t
ainst
atement sofsour cecode
tocheckwhet herthet estcasesar eabl etof i
ndtheerrorsornot .
o Th esechangesar eknownasmut ant s.
o Th echangesar everysmal lsucht hatt heydoesnotaf fecttheov er al
l
object iveoft hepr ogram.
o Th egoal ofmut ati
ont esti
ngi st oassesst hequal i
tyoftestcaseswhi ch
shoul dbepower f
ulenought of ailthemut antsinthecode.

Sof
twar
eQual
i
tyTest
ing:
Test
ingTool
s

 Testingtool
sar ethesof twar et oolswhi chcanbeusedi nsoftwaref orerror
detecti
onandcor recti
[Link] ati
cTest ingtoolsandDy namictest
ingt oolsar e
thei
rt y
pes.
[Link] ati
c-Test
ingTool s
 Th esetoolsdoesnoti nvolvesinactuali
nputandout [Link]
nottesttheact ual [Link] oolsare:
 F l
owAnal y
zer s.
 Co ver ageAnal yzer.
 Inter f
aceAnal yzer.
[Link] nami c-
Testi
ngTool s
 Th esetoolsar eusedt ot estt
hesoftwaresystem withlivedat a.
Dynamict estt oolsi ncludesthefoll
owing:
 Te stDr i
vers.
 Te stBeds.
 E mul ator s.
 Mu tationAnal yzers.
charact
eri
sti
csofmoderntest
ingt
ool
s
Foll
owingarechar
act
eri
sti
csofmodernt
est
ingt
ool
s

1. I tshoulduseoneormor etesti
ngst r
ategyforperf
ormingt est
ingonhost
aswellasont argetplatf
orm.
2. I tshouldsuppor tGUIbasedtestpreparat
ion.
3. I tshouldpr ovi
decompl et
ecodecov er
ageandcr eatetestdocumentati
on
i
nv ar
iousformat s(HTML/ DOC/RTF..
.)
.
4. Theset oolsshouldabletoadopttheunder l
yi
nghardwar e.
5. I tshouldbeeasyt ouse.
6. Fi nall
yitshouldpr ovi
deaclearreportontestcase,st
eps,testcasestat
us
(PASS/FAIL)
.

ErrorOr i
ent edt esting: Testingist hei nferri
ngt hecor r
ect nessofapr ogram basedon
informat i
oncol lecteddur ingpr ogr am execut [Link] ocessi scal l
eder r
orbased
wheni nf ormat ioncol lectedi susedt oinfert hatcer tai
ner r
orsarenoti napr ogr am.
Errorhandl ingt estingi sat ypeofsof t
war etestingt hati sperformedt ocheckwhet her
thesy st em i scapabl eoforabl et ohandl etheer r
or sthatmayhappeni nfut [Link]
typeoft est i
ngi sbasi callyper formedwi t
ht hehel pofbot hdev elopersandt het est
ers.
Errorhandl ingt estingnotonl yf ocusesont hedet ermi nationofer rorbutal sof ocuses
ont heexcept ionhandl i
ng.
Obj ecti
v eofEr rorHandl i
ngTest ing:Theobj ectiveofer r
orhandl ingt esti
ngi s:
 Toc heckt hesy stem abi lit
yt ohandl eer rors.
 Toc heckt hesy stem hi ghestsoakpoi nt.
 Toma kesur eer rorscanbehandl espr operlybyt hesy stem inthef uture.
 Toma kesy stem capabl eofexcept ionhandl ingal so.
St epsi nv olvedi ntheEr rorHandl ingt esti
ng:Fol lowingar ethest epsinvol vedi nt
he
er
r orhandlingt esting:
[Link] ir
onmentSetUp:Testenv ironmenti ssetaccor di ngt ot hesof twar et esti
ng
techni quesot hatt het est ingpr ocesscanr unsmoot [Link] sst epincludespl anni ng
fort het [Link] stem whi chi sgoi ngt obet est edi smadesur ehav eless
signif i
cantdat aast heremi ghtbecr ashpr obl em i nt hesy stem dur ingt esting.
[Link] ation:I nt hi ssof twar et est i
ngt estcasegener ati
oni snot hingbut
maki ngdi ff
er entt estcaseswhi chmaycauseer ror .Supposeasof t
war eoper ateson
fractionst henset ti
ngt hedenomi nat oroft hef ract ionsaszer [Link]
gener ati
oni sassoci atedwi t
ht hedev elopi ngt eam aswi thoutknowi ngt hei nternal
code, testcasescan’ tbedesi gned.
[Link] i
on:Af tert het estcasegener at i
on, real testingpr ocessbegi ns.
Thisi st hemostpr omi nentpar toft het est ingpr ocess.I tincludest herunni ngt he
progr am ov ert het estcasegener ated.
[Link] tandAnal ysis:Af tert heexecut ionoft het estcase, itsresul tisanal yzed.I t
i
ncl udest hechecki ngoft hei nconsi stencyi nt heexpect edout putf orthegener ated
[Link] emi ghtbeachanceoft hepr ogr am goi ngi ntoani nfini
tel oopwhi ch
mayl eadupt osof twar ef ailure.
[Link]- test :Ifthet estingi sf ailedt henaf tert heanal y sisoncemor eal ltheabov est eps
areper formedt otestt hesy stem.I tal soi ncl udest het est i
ngoft hesy st em under
newt estcasesgener at edr ecent ly.
Adv ant agesofEr rorhandl ingt esting:
 I thel psi nconst ruct i
onofaner rorhandl ingpower edsof twar e.
 I tmakest hesof twar er eadyf oral lci rcumst ances.
 I tdev elopst heexcept ionhandl ingt echni quei nt hesof twar e.
 I thel psi smai ntenanceoft hesof twar e.
Disadv ant agesoft heEr rorhandl ingt est ing
 I tiscost l
yasbot ht hedev elopingandt est ingt eam i sinv olved.
 I ttakesl otoft imet oper for mt het est ingoper at ions.

Common questions

Powered by AI

Error handling testing has several advantages, including the construction of error-handling proficient software, making a software ready for various circumstances, developing exception handling techniques, and aiding in software maintenance . This type of testing prepares the software to manage potential errors and enhances its robustness and reliability. However, it also has disadvantages. It can be costly due to the involvement of both the development and testing teams, and it is time-consuming to execute, given the complexity of generating comprehensive test cases and analyzing the results . Overall, while error handling testing is resource-intensive, its contributions to software robustness and reliability often justify the investment.

Functional testing and structural testing focus on different objectives and employ different methods. Functional testing focuses on verifying that the software's functionalities Operate according to the requirement specifications, assessing aspects such as basic usability, mainline functions, accessibility, and how errors are handled . This testing type considers the software as a black box, only evaluating outputs based on inputs. In contrast, structural testing, also known as white-box testing, involves examining the internal structure of the software . It aims to test how the software is built rather than just what it does, using techniques like statement, branch, and path coverage. While functional testing aims to validate software against requirements, structural testing ensures the internal operations are as expected and error-free.

The V-Model in software development is a systematic approach that integrates both verification and validation processes simultaneously. The model is shaped like a 'V', where the left arm represents the software verification process and the right arm represents the software validation process. This model allows for the parallel execution of development and testing, thus saving time and reducing costs. Each phase in the development process has a corresponding phase in the testing process directly connected across the arms of the V . For example, design specifications (verification) directly correlate with system testing (validation). By ensuring that every stage of development has a corresponding testing phase, the V-Model facilitates rigorous checking at every level, enhancing the overall quality of the software .

Structural testing, or white-box testing, involves a detailed examination of the software internal logic and structure. The main types include: 1) Statement Coverage, which ensures that every statement in the program is executed at least once . 2) Branch Coverage, verifying that all possible out-turns of each decision point are executed . 3) Path Coverage, testing all possible paths through the program . Moreover, Control Flow examines the paths in the programs to determine cyclomatic complexity; Data Flow focuses on the program's usage of data; Slice Based Testing analyzes individual parts of the software; Mutation Testing assesses the quality of test cases by implementing small changes called mutants . These approaches ensure that different aspects of the code are tested, catching more bugs and ensuring higher software quality.

The main goal of mutation testing is to evaluate the quality of test cases by deliberately introducing small modifications, called mutants, into the source code to simulate errors . The purpose is to assess whether existing test cases can detect these changes. If the test cases identify the mutants and fail accordingly, it indicates their effectiveness at catching defects; if not, it may highlight the weaknesses in the testing process. Mutation testing essentially acts as a robust testing process that challenges the test suite and helps improve its thoroughness and capacity to reveal errors in the code .

Static testing tools differ from dynamic testing tools primarily in their operation and focus within the software testing process. Static testing tools, such as flow analyzers, coverage analyzers, and interface analyzers, do not involve live execution of the software. They analyze artifacts like source code or design documents to detect errors, potential defects, or inefficiencies at an early stage . These tools help ensure the software meets coding standards and identify issues before the code is run. Dynamic testing tools, such as test drivers and emulators, test the software by executing it in a real environment with live data to identify defects in actual code execution . Both types of tools contribute significantly to software testing—static tools by preventing errors before full execution, and dynamic tools by detecting runtime errors.

Testers face significant challenges due to the impracticality of exhaustive testing, such as the inability to test all possible data inputs and program paths due to their vast number. This limitation, often termed the combination explosion problem, makes it impossible to test every scenario a software application might encounter . Testing oracles help mitigate these challenges by providing a mechanism to determine whether a test has passed or failed for given inputs. A testing oracle can compare the actual output of the software against the expected outcome for specific tests, ensuring that even limited testing can provide valuable insights into a program's correctness . By guiding testers toward the most relevant cases and scenarios, oracles improve the efficiency and effectiveness of the testing process.

Testing all data and paths in a software program is impractical due to the vast number of possible combinations, known as the combination explosion problem. For almost any program, attempting to test with all sets of inputs is impossible, and developing an algorithm to traverse all executable paths is not feasible due to resource constraints . Instead, software correctness can be assessed using a testing oracle, which helps determine whether a test has passed or failed in the given test cases . Alternative approaches include using techniques like coverage testing, where tests are designed to cover a significant set of possible paths within the program, monitoring software behavior under load, and employing rigorous design and code inspections.

Software verification and validation are complementary processes that aim to ensure software quality. Verification is the process of checking whether the software product is being developed correctly according to the requirement and design specifications, essentially asking, "Are we building the System/Product rightly?" Verification includes activities like business requirements, system requirements, design reviews, and code walkthroughs . Validation, on the other hand, checks if the finished product meets user needs and fulfills the intended use, asking, "Are we building the Right System/Product?" Validation involves functional and non-functional testing such as Unit Testing (UT), Integration Testing (IT), and System Testing (ST). By performing both verification and validation, the quality and reliability of the software product are assured from both the developers' and users' perspectives.

Modern software testing tools should possess several key features to be effective, including the ability to employ multiple testing strategies on various platforms (host and target). They should support GUI-based test preparation to enhance usability and efficiency and provide complete code coverage while generating test documentation in multiple formats such as HTML, DOC, or RTF . Additionally, these tools should be adaptable to different hardware configurations, user-friendly, and able to generate clear reports on test case execution and results (PASS/FAIL). These capabilities enable testing tools to handle complex software efficiently and provide valuable insights into software quality.

You might also like