SlideShare uma empresa Scribd logo
1 de 3
Quality Assurance
Use the FOIL Method
So,you may be askingyourself,“FOIL,isn’tthatamath term?”Yes itis; however,youcanuse
the same thoughtbehindhowtoapproach testingforrequirementsthroughoutanapplication.
F – FUNDAMENTALS
“Does it work as written or intended by design?”
F = Fundamentals:The veryfirstthingyoumustdo witha requirementisverifythatitisworkingas
expected withinalogical confineof itself. It’safundamentalneedtoprove thisworksasintendedfor
the basisand the foundation of the applicationundertestasa whole. Withoutdoingthisfirst,youcan’t
proceedtofindingouthowitdoesn’twork;whichbringsusto the nextpoint….
O – OUTSIDE
“How gracefully does it handle events when going outside the logical confines of the
requirement?”
O=Outer/Outsideof the requirement: Thisiswhenwe will mostlikelyencounterabug because thisis
usuallywhere noone expectsyoutolook,especiallyyourprogrammers. Forexample:
1. Imagine youare testingthatyou can enteranynumber1-9 ina textbox thatsupportsintegers.
2. You verifythisworkscorrectlyfromthe “Fundamental”levelbyenteringanyrandomnumber
from1-9 to ensure atleastsome integerworks
3. Once you’ve verifiedthe requirement“works”,now it’s time totestthe outside.
4. In thisexample,the outside consistsof “0, 10, -1, 0.1, 1.2” for examples. Thiswill prove,if there
are no issueshere,thatthere ismostlikelynothingthatwill workoutside of integers1-9.
a. There are more waysto testthe outside,however,there isalimittohow much
“outside”shouldbe done. Youneedtolimitthistype of QA scrutinyor attack to a
science. Attackthe outside inplacesyoufeel wouldmostlikelyproduce anissue;or,in
betterways,howan end-usercouldaccidentallyincorrectlyenterdata(like an
accidental space infrontof a validnumberlike “2”).
I – INTEGRATION
“Does the requirement or feature work consistently with the rest of the application?” I
=Integration:Afterlookingintothe fundamentalsandoutside,it’s timetoobserve how well this
functionorfeature workswiththe restof the application. Integrationisthe actof makingsure thatnew
functionality,features,requirements,etc.don’t impede the previouslyworkingfunctionality.Thisalso
meansthat there is collaborative functionalitybetweenthe oldandnew functionality.
Thisis alsowhenyoucheckto make sure thisnew functionor feature isconsistentwiththe restof the
application. Forexample:
Imagineyou’reworking in sprint3 on an agile project,or you’resomewhere nearthemiddle of
yoursecond milestonein a waterfallproject. You begin testing for the requirementand you noticethe
color of the button is differentand thefontdoesn’tlookrightin comparison to whatall otherbuttons
looklike, or if whatyou’relooking atisn’ta button butan entire page. You notice the background isa
differentcolor than therest of thescreens or thatthe orientation of thetext within the screen isn’tthe
sameas all other pages. There are limitlessinconsistenciesthatcanoccur throughthe lifecycle of a
project.
You will mostlikelyfindabug withconsistencysometimethroughoutthe lifecycle of any
project. Thisis especiallycommonif youhave ateamthat changes membersovertime and/oraproject
that takesmonthsto finish. Someone new islikelytonotrealize 100% how itwas done before or
exactlywhatwasusedfor an asset/reference/class/etc. Theonly thing“consistent” about
inconsistenciesisthat inconsistenciesareconsistent.
L –LIST
L= List:The last thingyoudo is list (logbugs) forany and all issuesyoufoundwhiledoingthe first3
steps. While writingthe bugs,youneedtobe 100% sure youknow how to reproduce whatyoufound.
It’sbestto alwaysreproduce the bugsyoufoundwhile runningthroughthe first3stepsbefore listing
your bugs.
While youreportyourissue,youneed:
1. A specifictitle togive ageneral ideaof the buglike:
a. “There are no validationchecksfornumbersbeyond9”
2. Describe yourtitle alittle more (where claritymaybe needed)
a. “While makingsure thatno numbersbeyond9were consideredvalidbythe application,
I enteredthe number“10” and foundoutthe numberwasacceptedby the application.
I didnotice,however,thatentering“0” the applicationreturnedthe expected
validation”
b. For issuesthatare more complicated,attachingpicturesand/orvideostothe bugwill
be necessarytoinformthe teamof whatis goingon withthe issue.
3. Now,it’stime todescribe the stepsyoutookto reproduce the issue inthe bestdetail youcan:
a. 1. Launch the Numbersapplication –Version“whatever”
b. 2. Enter “10” as the numberyou’re tryingtoenterintothe field
c. 3. Click“go”/ “enter”(whateverthe methodof proceedingis)
d. 4. Observe there isnovalidationcheckonthe applicationfor“10”
4. Afterenteringthe stepstoreproduce the issue,it’stime toenterthe expectedresult:
a. “Enteringanynumberbeyond9 givesavalidationcall backto the end-usersaying‘This
isan invalidnumber. The numbermustbe between1to 9. The numberyouenteredis
too high. Try again.’”
5. Lastly,and where applicable,make sure the bugisassignedtoorassociatedwithsomethingin
your teamenvironment(like TeamFoundationServer), sosomeone will be able tosee the bug
to workon it.
Rinse andrepeatas needed.
In myexperiences,thisisprobablyone of the more effective processesone can do. Thisis
simple enoughtoapply toalmostanythingandit’show I normally approachrequirements;itall
dependson yourtime andthe risksinvolved.
If you’dlike tohear more abouthow Sparkhound’scertifiedQA canhelpyou withyoursoftware
project;please reachoutto us.We’dlove to help!
www.sparkhound.com

Mais conteúdo relacionado

Destaque

Multi sensor data fusion for change detection
Multi sensor data fusion for change detectionMulti sensor data fusion for change detection
Multi sensor data fusion for change detectionsanu sharma
 
Liquidación de Vacaciones - Viajantes Vendedores
Liquidación de Vacaciones - Viajantes VendedoresLiquidación de Vacaciones - Viajantes Vendedores
Liquidación de Vacaciones - Viajantes VendedoresRedSocialFuva
 
Quality assurance sql sat-br presentation
Quality assurance   sql sat-br presentationQuality assurance   sql sat-br presentation
Quality assurance sql sat-br presentationLyle Hutson
 
ALBÓNDIGAS CRUJIENTES RELLENAS DE QUESO
ALBÓNDIGAS CRUJIENTES RELLENAS DE QUESOALBÓNDIGAS CRUJIENTES RELLENAS DE QUESO
ALBÓNDIGAS CRUJIENTES RELLENAS DE QUESOmagmdv
 
IoT Connectivity & IoT Analytics
IoT Connectivity & IoT AnalyticsIoT Connectivity & IoT Analytics
IoT Connectivity & IoT AnalyticsSarah Takforyan
 
Socialização e cultura - SOCIOLOGIA 12º ANO
Socialização e cultura - SOCIOLOGIA 12º ANOSocialização e cultura - SOCIOLOGIA 12º ANO
Socialização e cultura - SOCIOLOGIA 12º ANODrew Mello
 
The Art of Body Language | Public Speaking
The Art of Body Language | Public SpeakingThe Art of Body Language | Public Speaking
The Art of Body Language | Public SpeakingFais PPT
 
OPTIMALISASI KINERJA DYNAMIC POSITIONING (DP) OPERATOR PADA MV. SURF PERDANA ...
OPTIMALISASI KINERJA DYNAMIC POSITIONING (DP) OPERATOR PADA MV. SURF PERDANA ...OPTIMALISASI KINERJA DYNAMIC POSITIONING (DP) OPERATOR PADA MV. SURF PERDANA ...
OPTIMALISASI KINERJA DYNAMIC POSITIONING (DP) OPERATOR PADA MV. SURF PERDANA ...Fais PPT
 

Destaque (14)

ghaskw3 | ghaskw3
ghaskw3 | ghaskw3ghaskw3 | ghaskw3
ghaskw3 | ghaskw3
 
CV2016
CV2016CV2016
CV2016
 
Revista digital 501 tonis_xd
Revista digital 501 tonis_xdRevista digital 501 tonis_xd
Revista digital 501 tonis_xd
 
Tipos de archivos
Tipos de archivosTipos de archivos
Tipos de archivos
 
Multi sensor data fusion for change detection
Multi sensor data fusion for change detectionMulti sensor data fusion for change detection
Multi sensor data fusion for change detection
 
Liquidación de Vacaciones - Viajantes Vendedores
Liquidación de Vacaciones - Viajantes VendedoresLiquidación de Vacaciones - Viajantes Vendedores
Liquidación de Vacaciones - Viajantes Vendedores
 
Quality assurance sql sat-br presentation
Quality assurance   sql sat-br presentationQuality assurance   sql sat-br presentation
Quality assurance sql sat-br presentation
 
Identidad cultural e nacional
Identidad cultural e nacionalIdentidad cultural e nacional
Identidad cultural e nacional
 
ALBÓNDIGAS CRUJIENTES RELLENAS DE QUESO
ALBÓNDIGAS CRUJIENTES RELLENAS DE QUESOALBÓNDIGAS CRUJIENTES RELLENAS DE QUESO
ALBÓNDIGAS CRUJIENTES RELLENAS DE QUESO
 
Halloween
HalloweenHalloween
Halloween
 
IoT Connectivity & IoT Analytics
IoT Connectivity & IoT AnalyticsIoT Connectivity & IoT Analytics
IoT Connectivity & IoT Analytics
 
Socialização e cultura - SOCIOLOGIA 12º ANO
Socialização e cultura - SOCIOLOGIA 12º ANOSocialização e cultura - SOCIOLOGIA 12º ANO
Socialização e cultura - SOCIOLOGIA 12º ANO
 
The Art of Body Language | Public Speaking
The Art of Body Language | Public SpeakingThe Art of Body Language | Public Speaking
The Art of Body Language | Public Speaking
 
OPTIMALISASI KINERJA DYNAMIC POSITIONING (DP) OPERATOR PADA MV. SURF PERDANA ...
OPTIMALISASI KINERJA DYNAMIC POSITIONING (DP) OPERATOR PADA MV. SURF PERDANA ...OPTIMALISASI KINERJA DYNAMIC POSITIONING (DP) OPERATOR PADA MV. SURF PERDANA ...
OPTIMALISASI KINERJA DYNAMIC POSITIONING (DP) OPERATOR PADA MV. SURF PERDANA ...
 

Quality Assurance - FOIL Method2

  • 1. Quality Assurance Use the FOIL Method So,you may be askingyourself,“FOIL,isn’tthatamath term?”Yes itis; however,youcanuse the same thoughtbehindhowtoapproach testingforrequirementsthroughoutanapplication. F – FUNDAMENTALS “Does it work as written or intended by design?” F = Fundamentals:The veryfirstthingyoumustdo witha requirementisverifythatitisworkingas expected withinalogical confineof itself. It’safundamentalneedtoprove thisworksasintendedfor the basisand the foundation of the applicationundertestasa whole. Withoutdoingthisfirst,youcan’t proceedtofindingouthowitdoesn’twork;whichbringsusto the nextpoint…. O – OUTSIDE “How gracefully does it handle events when going outside the logical confines of the requirement?” O=Outer/Outsideof the requirement: Thisiswhenwe will mostlikelyencounterabug because thisis usuallywhere noone expectsyoutolook,especiallyyourprogrammers. Forexample: 1. Imagine youare testingthatyou can enteranynumber1-9 ina textbox thatsupportsintegers. 2. You verifythisworkscorrectlyfromthe “Fundamental”levelbyenteringanyrandomnumber from1-9 to ensure atleastsome integerworks 3. Once you’ve verifiedthe requirement“works”,now it’s time totestthe outside. 4. In thisexample,the outside consistsof “0, 10, -1, 0.1, 1.2” for examples. Thiswill prove,if there are no issueshere,thatthere ismostlikelynothingthatwill workoutside of integers1-9. a. There are more waysto testthe outside,however,there isalimittohow much “outside”shouldbe done. Youneedtolimitthistype of QA scrutinyor attack to a science. Attackthe outside inplacesyoufeel wouldmostlikelyproduce anissue;or,in betterways,howan end-usercouldaccidentallyincorrectlyenterdata(like an accidental space infrontof a validnumberlike “2”). I – INTEGRATION “Does the requirement or feature work consistently with the rest of the application?” I =Integration:Afterlookingintothe fundamentalsandoutside,it’s timetoobserve how well this functionorfeature workswiththe restof the application. Integrationisthe actof makingsure thatnew functionality,features,requirements,etc.don’t impede the previouslyworkingfunctionality.Thisalso meansthat there is collaborative functionalitybetweenthe oldandnew functionality. Thisis alsowhenyoucheckto make sure thisnew functionor feature isconsistentwiththe restof the application. Forexample:
  • 2. Imagineyou’reworking in sprint3 on an agile project,or you’resomewhere nearthemiddle of yoursecond milestonein a waterfallproject. You begin testing for the requirementand you noticethe color of the button is differentand thefontdoesn’tlookrightin comparison to whatall otherbuttons looklike, or if whatyou’relooking atisn’ta button butan entire page. You notice the background isa differentcolor than therest of thescreens or thatthe orientation of thetext within the screen isn’tthe sameas all other pages. There are limitlessinconsistenciesthatcanoccur throughthe lifecycle of a project. You will mostlikelyfindabug withconsistencysometimethroughoutthe lifecycle of any project. Thisis especiallycommonif youhave ateamthat changes membersovertime and/oraproject that takesmonthsto finish. Someone new islikelytonotrealize 100% how itwas done before or exactlywhatwasusedfor an asset/reference/class/etc. Theonly thing“consistent” about inconsistenciesisthat inconsistenciesareconsistent. L –LIST L= List:The last thingyoudo is list (logbugs) forany and all issuesyoufoundwhiledoingthe first3 steps. While writingthe bugs,youneedtobe 100% sure youknow how to reproduce whatyoufound. It’sbestto alwaysreproduce the bugsyoufoundwhile runningthroughthe first3stepsbefore listing your bugs. While youreportyourissue,youneed: 1. A specifictitle togive ageneral ideaof the buglike: a. “There are no validationchecksfornumbersbeyond9” 2. Describe yourtitle alittle more (where claritymaybe needed) a. “While makingsure thatno numbersbeyond9were consideredvalidbythe application, I enteredthe number“10” and foundoutthe numberwasacceptedby the application. I didnotice,however,thatentering“0” the applicationreturnedthe expected validation” b. For issuesthatare more complicated,attachingpicturesand/orvideostothe bugwill be necessarytoinformthe teamof whatis goingon withthe issue. 3. Now,it’stime todescribe the stepsyoutookto reproduce the issue inthe bestdetail youcan: a. 1. Launch the Numbersapplication –Version“whatever” b. 2. Enter “10” as the numberyou’re tryingtoenterintothe field c. 3. Click“go”/ “enter”(whateverthe methodof proceedingis) d. 4. Observe there isnovalidationcheckonthe applicationfor“10” 4. Afterenteringthe stepstoreproduce the issue,it’stime toenterthe expectedresult: a. “Enteringanynumberbeyond9 givesavalidationcall backto the end-usersaying‘This isan invalidnumber. The numbermustbe between1to 9. The numberyouenteredis too high. Try again.’” 5. Lastly,and where applicable,make sure the bugisassignedtoorassociatedwithsomethingin your teamenvironment(like TeamFoundationServer), sosomeone will be able tosee the bug to workon it. Rinse andrepeatas needed.
  • 3. In myexperiences,thisisprobablyone of the more effective processesone can do. Thisis simple enoughtoapply toalmostanythingandit’show I normally approachrequirements;itall dependson yourtime andthe risksinvolved. If you’dlike tohear more abouthow Sparkhound’scertifiedQA canhelpyou withyoursoftware project;please reachoutto us.We’dlove to help! www.sparkhound.com