software testing and quality assurance .pdf

740 views 77 slides Oct 25, 2023
Slide 1
Slide 1 of 77
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77

About This Presentation

Handout


Slide Content

Software Testing &
Quality Assurance

Introduction to Software Quality & Assurance
Unit No. 1

Introduction

Objectives
After completing this session, you will be able to:
▪Define Software .
▪Define Software Quality Assurance.
▪Explain Software Quality Challenges.

Introduction to Software Quality Assurance
Bus. Comm.
▪The intelligence in totality that you provide to the computer system in order tosolve your
problems is software.
▪It is a set of instructions (program) and related data that guides the hardware and tells it
what to do and how to do it and how to accomplish each task.
▪Everythingthat“runs”onacomputerfromanoperatingsystem,programming
languages–machine-level,assembly-level,high-level,languagetranslators–
assemblers,compilers,interpreters,platforms,frameworks,documentationtoa
diagnostictool,videogame,orappissoftware.

Introduction to Software Quality Assurance Cont ..
▪The software plays a key role of a mediator between the user and the computer
hardware.
▪Itisaninvisiblecomponentofacomputersystemthatmakesitpossibleforyouto
interactwiththecomputer’sphysicalcomponents.Itiswhatallowsyoutocommunicate
withsmartphones,tablets,gameboxes,mediaplayers,andsimilardevices.
▪Softwarequalityassuranceisdefinedas:
-Allplannedandsystematicactionsnecessarytoprovideadequateconfidencethatanitem
orproductconformstoestablishedtechnicalrequirements.
-Designedtoevaluatetheprocessbywhichtheproductsaredevelopedormanufacturedit
isasetofactivities.
6

The Software Quality
▪SoftwareQualityiscentraltotheentireprocess.Thesoftwareshouldprovideeaseof
use,stabilityandshouldbegoodfittoactualneeds.Qualityisoneoftheelusivethingsof
life;youcanknowitwhenyouseeit,butdonotknowhowtocreateit.
▪Weknowhowtodefinequalityandhowtoachieveadegreemuchgreaterthaninour
ownpractice.Difficulttomeasure.Evenreasonablequalityrequiresadequatetesting.
▪SoftwareQualityAttributesforProductOperationare:
1.Correctness:Thedegreetowhichaprogramsatisfiesitsspecificationsand
accomplishesthecustomerrequirements.
7

The Software Quality Cont ..
2.Reliability:Thedegreetowhichaprogramisexpectedtoperformitsenvisionedfunction
withrequiredaccuracy.
3.Efficiency:Toperformitsfunctiontheamountofcomputingresourcesandcoderequired
byaprogram.
4.Integrity:Thedegreetowhichaccesstosoftwareordatabyunauthorizedpeoplecanbe
controlled.
5.Usability:Learning,operating,preparinginputandinterpretingtheoutputofaprogram,
usabilityreferstotherequiredefforts.
8

Product Development & Production
▪ProductDevelopment
▪ProductProductionPlanning
▪Manufacturing
-Duringtheabovephases,defectsinanindustrialproductcanbedetected.
9

The Software Quality Challenges
BasicProblems:
HighComplexity
Invisibilityoftheproduct
LimitedOpportunitiestodetectthedefects(bugs)
Challenges:
1.UnstableEnvironment
Usually,QAteamsfaceunstableenvironmentsetupissuesthatweneedtoprepareformost
ofwhatwehave.Sometimestheservergetsstuckduetooverloadandrequiresarestart
manytimesduringtestingetc.
10

The Software Quality Challenges Cont ..
2. Tools Being Force-fed
Nowandthen,werealizethatatoolisnottherightchoicefortheproject.Wedonothave
anyotheroptionbuttokeepusingitbecausetheclients/organizationalreadyhavelicenses
andwouldnotgoforanewoneuntilthecurrentlicenseexpires.
3. Tight Deadlines
The biggest challenge QA is to receive requests for last-minute testing. The primary reasons
for such demands are that the development process takes more time than expected and the
time for testing is underestimated.
11

The Software Quality Challenges Cont ..
4.TestingDocumentsCreatedByOthers
InthecaseofQA,it'sfastertocreateadocumentfromscratchthantousetheonecreated
byothers.Usingtestcasescreatedbyothersincreasesthetimeofverificationandputs
limitsasfarasdiscoveringbugs.
5.WrongTestingEstimation
Whiletryingtomakeanaccurateestimate,somesoftwareestimationscouldbeentirely
unpredictableandgowrong.Asdevelopers,QAalsodoesn'thave100%securityfrom
unexpectedissues.
12

The Software Quality Challenges Cont ..
6.FixingBugsDuringTesting
DevelopersandQAengineersshouldworkclosely.Testingshouldbedoneoncepartofthe
developmentprocessisdone,andafterthat,bugfixingactivityshouldstart.
7.Last-MinuteChangestoRequirements
Itisslightlycommontochangeprojectrequirementsmid-sprintinagiledevelopment
projects.Whilethiscanbefrustratingfortheteamandduetothattesterscanbeaffected.
Theymayneedtore-trythewholeextentoftestingsinceeventhelittlestchangestoa
codebaseshouldbegonethroughvariousteststoguaranteeitssteadinessandsimilarity
withexistingcode.
13

The Software Quality Challenges Cont ..
8.InsufficientCoordinatedEffortAmongDevelopersandTesters
▪Professionaldifferencesbetweendevelopmentandtestingteamsarestillcommon.
▪Developersthinkthattestingisafinalprocessofthesoftwaredevelopmentlifecycle,and
testersdonotrequireanythingapartfromalistofuserjourneysandtechnical
requirements.
▪However,testersmayhavedifficultyidentifyingflawsinthecodeiftheyarenot
acquaintedwiththedevelopmentprocess.
▪Iftheydonotunderstandhowthesoftwareworks,theywillhavetroublecreatingtest
casestofindallpossiblebugs.
14

Software Quality
Thequalityofsoftwarecanbedefinedastheabilityofthesoftwaretofunctionasperuser
requirement.Whenitcomestosoftwareproductsitmustsatisfy the following Factors:
1)GoodDesign–It’salwaysimportanttohaveagoodandaestheticdesigntoplease
users.
2)Reliability–Beitanysoftwareitshouldbeabletoperformthefunctionality
impeccablywithoutissues.
3)Durability-Durabilityisaconfusingterm,Inthiscontext,durabilitymeanstheabilityof
thesoftwaretoworkwithoutanyissueforalongperiodoftime.

Software Quality Cont ..
4)Consistency–Software should be able to perform consistently over platform and
devices.
5) Maintainability–Bugs associated with any software should be able to capture and fix
quickly and news tasks and enhancement must be added without any trouble
6) Value for money –Customer and companies who make this app should feel that the
money spent on this app has not gone to waste.

Software Quality Factors Management
▪Softwarefactorsarethefactorswhichinfluencethesoftware.Thesefactorscanbe
classifiedintotwocategories,theclassificationbeingdonebasedonmeasurability.
▪Thefactorsthatcanbemeasureddirectlysuchasnumberoflogicalerrorsisthefirst
categoryandthosefactorswhichcanbemeasuredonlyindirectly,forexample,
maintainabilityisclubbedinthesecondcategory.
▪Tocheckforthecontentandthequalitycontrol,however,eachofthefactorsaretobe
measured.Thefactorsofqualityare:

Software Quality Factors Management
▪Correctness:Degreetowhichaprogramsatisfiesitsspecificationandfulfilstheclient’s
objectives.
▪Reliability:Degreetowhichaprogramissupposedtoperformitsfunctionwiththe
requiredprecision.
▪Efficiency:Toperformitsfunctionamountofcomputingandcoderequiredbyaprogram.
▪Integrity:Degreetowhichaccesstosoftwareanddataisdeniedtounauthorizedusers.
▪Usability:Laborrequiredtounderstand,operate,prepareinputandunderstandoutputof
aprogram.

Software Quality Factors Management
▪Maintainability:Tolocateandfixanerrorinaprogramtheeffortrequired.
▪Flexibility:Tomodifyanoperationalprogramtheeffortneeded.
▪Testability:Totesttheprogramsfortheirfunctionalitytheeffortrequired.
▪Portability:Toruntheprogramfromoneplatformtoootherortoodifferenthardwarethe
effortrequired.
▪Reusability:Degreetowhichtheprogramoritspartscanbeusedasbuildingblocksor
asprototypesforotherprograms.
▪Interoperability:Tocoupleonesystemtoanothertheeffortrequire

Software Quality Factors Management
There are various ‘checklists’ for software quality:
▪Functionalitybyevaluatingthegeneralityofthefunctionsthatarederived,thefeatureset
andtheprogramcapabilities,andtheoverallsecurityofthesystemthisismeasured.
▪Usabilityisassessedbyconsideringhumanfactors,overallaesthetics,consistencyand
documentation.
▪Byevaluatingthefrequencyandseverityoffailure,theaccuracyofoutputresults,the
meantimebetweenfailure(MTBF),theabilitytorecoverfromfailureandthe
predictabilityoftheprogramReliabilityisfiguredout.

Software Quality Factors Management
▪Bymeasuringprocessingspeed,responsetime,resourceconsumption,throughputand
efficiencyPerformanceismeasured.
▪Theabilitytoextendtheprogram,adaptability,serviceabilityorinotherterms
maintainabilityandtestability,compatibility,configurabilityandtheeasewithwhicha
systemcanbeinstalledarecombinedinSupportability.

Software Quality Factors Management
▪Aseriesofplanned,systematicsequentialactionsthatenablethequalityofsoftware
producedisSoftwareQualityAssurance.Allsoftwaredevelopmentunitsusuallyhave
theirownSQAteam.
▪ThisSQAteamtakescareofthequalityatthehighendthatistheoverallproductandat
thelowerorderthequalityisthesoleresponsibilityoftheindividualwhomayengineer,
reviewandtestatanylevel.
▪Acharacteristicofthesoftwareproducedmustbesoftwarequalityandthusrathertobe
imposedlateritisdesignedintoit.

Software Quality Factors Management
▪Itisthedutyofeveryindividualinthesoftwaredevelopmentteamthatqualityis
maintainedevenbeforesomeformalqualityassuranceproceduresareapplied.This
practiceimprovesthequalityofallsoftwareproducedbytheorganization.
▪Applicationoftechnicalmethods,conductingformaltechnicalreviews(FTR),software
testing,controlofchange,measurementandrecordkeepingandreportingarethe
activitiesinvolvedinSQA.

Software Quality Factors Role in SQA
▪Asforsoftwaredevelopment,weknowthateveryprojectisdifferentandhasitsown
uniquecharacteristicsandchallenges.
▪Thereisnomagicrecipeisawell-knownfactwhenitcomestodevelopingsoftware
projectsorqualityassuranceprocesses.However,therearekeyelementstoconsider
thatcanensuregradeAqualityassurance:
1.KnowtheBusinessLogic:Therearedifferentroleswithinasoftwareproject,suchasthe
ProductOwner.Itisverycommonforthispersontohavealltheinformationregardingthe
product.Ingeneralterms,theProductOwneronlysharesinformationdirectlyrelatedtothe
partoftheprojectthatisgoingtobedeveloped.

Software Quality Factors Role in SQA
2.KnowtheProgrammingLanguage:Thereisaprogramminglanguageforeveryneed,
beitformobile,desktop,orwebapps.Thoughitisalmostimpossibletoknowall
programminglanguages,itisessentialtohaveknowledgeofthosethatapplytoprojects
thataqualityengineerwillbeworkingon.
3.LettheQualityEngineerTakeOwnership:AnimportantroleisplayedbytheProduct
Ownerineverysoftwareproject;however,itisimportantforthequalityengineertotake
ownershipoftheprojectasthiscontributestoeffectivedecisionmaking.
4.LettheQualityEngineerProvideSolutions:Fromtheverybeginningofsoftwarequality
assurance,itwasunderstoodthataqualityengineer’smaintaskwastoreporterrors.Yet
thisisonlyoneoftheirmultipletasks.

Any Questions?

Thank You!

Software Testing &
Quality Assurance

Components of Software Quality Assurance
Unit No. 2

Components of the Software Quality Assurance System

Objectives
After completing this session, you will be able to:
▪Define the Components of Software Assurance System.
▪Define the Contract Review of Software Quality Assurance.
▪Explain the Development & Quality Plans.

Components of Software Quality Assurance
▪Pre-project Components
▪Project Life Cycle Activities Assessment Components
▪ Components of Infrastructure Error Prevention and Improvement
▪Software Quality Management Component
▪ Standardization, Certification, and SQA System Assessment Components
▪The Human Components
5

Pre-project Components:
▪Consideringtheresourcesrequired,thescheduleandbudgetthisassuresthatthe
projectcommitmentshavebeenclearlydefinedandthedevelopmentandqualityplans
havebeencorrectlydetermined.

Project Life Cycle Activities Assessment Components
▪Thedevelopmentlifecycleandtheoperation–maintenancearethetwostagesofthe
projectlifecycle:
▪Thedetectionofdesignandprogrammingerrorsiscarriedoutbythecomponentsofthe
developmentlifecyclestage.
▪Reviews,ExpertopinionsandSoftwaretestingarethesub-classesinwhichthese
componentsaredividedinto.
▪AppliedmainlyforfunctionalitytoimprovethemaintenancetaskstheSQAcomponents
usedduringtheoperation–maintenancephaseincludesspecializedmaintenance
componentsaswellasdevelopmentlifecyclecomponents.

Components of Infrastructure Error Prevention and Improvement
▪Theobjectiveofthesecomponents,whichisappliedthroughouttheentireorganization,
istoeliminateoratleastreducetherateoferrors,basedontheorganization’s
accumulatedSQAexperience:
1.Softwarequalitymanagementcomponents
2.Standardization,CertificationandSQAsystemassessmentcomponents
3.OrganizingforSQA–thehumancomponent

Software Quality Management Component
▪ThemanagerialSQAcomponentssupportthemanagerialcontrolofsoftware
developmentprojectsandmaintenanceservices.Thecontrolcomponentsinclude
Projectprogresscontrol,Softwarequalitymetrics,Softwarequalitycosts:
1.Project Progress Control
2.Software Quality Metrics
3.Software Quality Costs

Standardization, Certification, and SQA System Assessment
Components
▪Theobjectiveistoutilizeinternationalprofessionalknowledge,professionalevaluation
andmeasurementoftheorganization’sSQAachievement.Classifiedintotwosub-
classesarethestandardsavailable:QualitymanagementstandardsandProjectprocess
standards:
1.Quality Management Standards
2.Project Process Standards

The Human Components
▪TheindividualsrelatedwithSQAareputtogetherinthisphasewhoincludesupervisors,
tryingstaff,SQAtrustees,SQApanelindividuals,andSQAgatheringpeople.Separately
eachofthemaddstostartandsupporttheexecutionofSQAparts,distinguish
deviationsfromSQAstrategyandapproach,andproposeupgrades.
▪Softwareprojectsdevelopedbysoftwarehousesfortheuseofothercompaniesare
usuallyknownasexternalprojectsoroutside-contractedprojects.Usuallycharacterized
bystrong/tightcustomer-supplierrelationship.
▪Softwareprojectsdevelopedbyoneunitofanorganizationtoanotherunitinthesame
organizationisusuallyknownasinternalprojectorin-houseprojectsusually
characterizedbyweak/loosecustomer-supplierrelationship.

Contract Review
▪Contractsarevitallyimportant.Whendeliveredsoftwaredoesnotperformasexpected
theyarethebasisforlitigation.
▪Thebadcontractsariseoutofpoorlydefinedrequirementsandunrealisticbudgetsand
schedules.
▪Theresultispoorqualitysoftware.PreventiveQualityAssurancestartswithadiscussion
ofContracts.
▪Acontractreviewisacontractualprocessusedtoidentifyandanalyzethekeyprovisions
withinanagreement.
▪Alegalprofessionalwillreadeachcontractthoroughlytounderstandthetermsand
conditionsandhighlightrisksorrelevantinformation.

Contract Review Cont ..
▪Thesoftwarequalityelementthatreducestheprobabilityofsuchundesirablesituations
isContractReviewwhichistheSQAcomponentdevisedtoguidereviewdraftsof
proposalandcontractdocuments.
1.Reviewfinalproposaldraftandcustomer’srequirementdocumentsandexplanationsof
requirements,costs,resources,maybewithpartners/subcontractorsbyreviewingthe
proposeddraftpriortosubmissiontopotentialcustomer.
2.Reviewdraftonthebasisoftheproposalandunderstandingsreachedduringthe
contractnegotiationsessionsbyreviewingthecontractpriortosigning.Majoractivities
andelaboratechecklistsareoftenused.

Contract Draft Review Objectives
▪Inthecontractdraftnounclarifiedissuesremain.
▪Correctlydocumentedareallunderstandingsreachedsubsequenttotheproposal.
▪No“new”changes,additions,oromissionsthathavenotbeenfullydiscussedhave
enteredthecontractdraft.

Development and Quality Plans
▪Thedevelopmentandqualityplanobjectivesareschedulingdevelopmentactivitiesthat
willleadtothesuccessfulandtimelycompletionoftheproject,recruitingteammembers
andallocatingdevelopmentresources,resolvingdevelopmentrisks,implementing
requiredSQAactivities,providingmanagementwithdataneededforprojectcontrol.
▪Specifyingthequalitystandards,practices,resources,specificationsandthesequence
ofactivitiesrelevanttoaparticularproduct,service,project,orcontractisadocument,
orseveraldocumentsthatisaqualityplan.

Quality Plans should Define
▪Theobjectivestobeattainedsuchascharacteristicsorspecifications,uniformity,
effectiveness,aesthetics,cycletime,cost,naturalresources,utilization,yieldand
dependability.
▪Theoperatingpracticeorproceduresoftheorganizationconstitutethestepsinthe
processes.
▪Duringthedifferentphasesoftheprocessorprojectallocationofresponsibilities,
authorityandresources.
▪Specificdocumentedstandards,practices,proceduresandinstructionstobeapplied.

Quality Plans should Define Cont ..
▪Atappropriatestagessuitabletesting,inspection,examination,andauditprograms.
▪Asaprocessisimprovedadocumentedprocedureforchangesandmodificationstoa
qualityplan.
▪Amethodformeasuringtheachievementofthequalityobjectives.
▪Otheractionsnecessarytomeettheobjectives.

Quality Plans should Define Cont ..
▪Atthehighestlevel,qualitygoalsandplansshouldbeintegratedwithoverallstrategicplansof
theorganization.
▪Atlowerlevels,thequalityplanassumestheroleofanactionableplan.Suchplansmaytake
manydifferentformsdependingontheoutcometheyaretoproduce.
Intheprojectdevelopmentplanthemainissuestreatedare:
▪Schedules
▪Manpowerandhardwareresourcesrequired
▪Riskevaluations
▪Teammembers,subcontractorsandpartnershipsareorganizationalissues
▪Projectmethodology,developmenttools,etc.
▪Softwarereuseplans

Quality Plans should Define Cont ..
In the project’s quality plan,the main issues treated are:
▪Qualitygoals,expressedintheappropriatemeasurableterms.
▪Criteriaforstartingandendingeachprojectstage.
▪Listsofreviews,tests,andotherscheduledverificationandvalidationactivities.

Elements of the Development Plan
Projectproductsordeliverables:
Designdocumentsspecifyingdatesofcompletionofsoftwareproducts(specifying
completiondateandinstallationsite),trainingtasks(specifyingdates,participantsandsites),
interfaceswithexistingsoftwarepackages,interfaceswithothersoftwareand/orhardware
developmentteams(cooperationandcoordinationlinks),interfaceswithexistinghardware.
1.Project Staff Organization
2.Control Methods

Elements of the Quality Plan
▪Quality goals refer to the developed software system’s substantive quality requirements.
- Planned Review Activities.
-Planned Software Tests.

Elements of Development and Quality Plans
Elements of Development and Quality Plans for your Projects are:
▪Thedevelopmentplanshouldincludeprojectproductsindicating“deliverables”,project
benchmarks/standards,developmentrisks,estimatesofprojectcosts.
▪Thequalityplanshouldincludethequalitygoals.

Any Questions?

Thank You!

Software Testing &
Quality Assurance

SQA Components in the Project Life Cycle
Unit No. 3

Objectives
After completing this unit, you will be able to:
▪Define the Components of Software Assurance System.
▪Define Software Testing.
▪Explain the Integrating Quality Activities in the Project Life
Cycle.

Introduction
▪IntegratingthequalityactivitiesintheprojectlifecycleareincludedinSQAcomponents.
Itscomponentsarereview,expertopinions,softwaretesting,softwaremaintenanceand
assuringthequalityofexternalparticipant’scontributions.
▪Thecomponentslikereviews,expertopinionsandfindingdefectsinsoftwaredesignand
programmingareincludedinitandinthesoftwaremaintenancelifecycleitincludes
specializinginmaintenancecomponentsanddevelopmentlifecyclecomponentsfor
enhancingmaintenancetasks.

Introduction Cont ..
▪SQA Components in the Project Life Cycle and Strategies.
▪Integrating Quality Activities in the Project Life Cycle.
▪Reviews
▪Software Testing –Strategies.
5

Introduction Cont ..
The two stages that comprise the project life cycle are:
1.Thedesignandprogrammingerrorsaredetectedinthedevelopmentlifecyclestage.
Reviews,Expertopinions,Softwaretesting,Assuranceofthequalityofthesub-
contractor’sworkandcustomersuppliedpartsareitscomponents.
2.Specializedmaintenancecomponentsaswellasdevelopmentlifecyclecomponents,
whichareappliedmainlyforfunctionalityimprovingmaintenancetasksareincludedin
theoperation-maintenancestage.

SQA Components in The Project Life Cycle
▪AimedatensuringqualityinsoftwareengineeringprocessesasetofactivitiesisSQAwhich
guaranteesthatthedevelopedsoftwaremeetsandconformsthedefinedorstandardized
qualityspecifications.
▪Anongoingprocesswithinthesoftwaredevelopmentlifecycle,itroutinelychecksthe
developedsoftwaretoconfirmthatitmeetsthedesiredqualitymeasures.
▪TotestthesoftwareSQAincorporatesandimplementssoftwaretestingmethodologies.Until
thesoftwareiscomplete,SQAprocessestestforqualityineachphaseofdevelopment.
▪Thesoftwaredevelopmentprocessmovesintothenextphaseonlyoncethecurrentphase
complieswiththerequiredqualitystandards.Itworkswithindustrystandardsthathelpin
buildingsoftwarequalityguidelinesandimplementationstrategies.

SQA Components in The Project Life Cycle Cont ..
A.Integrating Quality Activities in the Project Life Cycle
Testing within a life cycle model.
The characteristics of good testing include:
▪Thereisacorrespondingtestingactivityforeverydevelopmentactivity.
▪Foragiventestleveltheanalysisanddesignoftestsshouldbeginduringthe
correspondingdevelopmentactivity.
▪Inreviewingdocumentsassoonasdraftsareavailableinthedevelopmentcycletesters
shouldbeinvolved.

SQA Components in The Project Life Cycle Cont ..
B.Review
A process or meeting of project personnel, managers, users, customers or other interested parties for their
comment or approval during which a work product or set of work products is presented.
The objectives of Review are:
Direct Objectives:
▪Detectionofanalysisanddesignerrors.
▪Identificationofnewrisksthatarelikelytoaffectcompletionoftheproject.
▪Identificationofdeviationsfromtemplatesandstyleprocedures.
▪Approvaltobeprovidedfortheanalysisordesignproduct.
Indirect Objectives:
▪Forexchangeofprofessionalknowledge.
▪Recordingtheanalysisanddesignerrorsthatwillserveasabasisforfuturecorrectiveactions.

SQA Components in The Project Life Cycle Cont ..
Types of Reviews:
1. Walkthrough Review
▪Forevaluationorinformationalpurpose,itisaninformalmeeting.
▪Theauthorleadsittoagroupofcolleagues,theauthordescribeshisworkproductand
comments.
2.Technical Review/Peer Review
▪Thefocusisonachievingconsensusaboutthetechnicalcontentofadocumentina
discussionmeeting.
▪Peerandtechnicalexperts(e.g.,architects,chiefdesigners,andkeyusers)areincluded,
nomanagementparticipation.

SQA Components in The Project Life Cycle Cont ..
Types of Reviews Cont ..:
3. Inspection
▪Themostformalreviewtypethatisprescribedandsystematicwheretherolesarewell-
defined(moderator,reader,andarecorder).
▪Atrainedmoderator(notauthor)usuallyleadsit.
▪Attendeesshouldprepareforthistypeofmeetingbyreadingthroughthedocument.
▪Alogginglistisusedtodocumentthedefectsfound.
▪Theresultoftheinspectionmeetingshouldbeawrittenreport.
▪Themetricsaregatheredandanalyzedtooptimizetheprocess.

SQA Components in The Project Life Cycle Cont ..
C. Software Testing
▪Softwaretestingdeterminesthecorrectness,completenessandqualityofsoftwarebeing
developed.
▪Testingisdefinedas“theprocessofevaluatingasystemorsystemcomponentbymanualor
automatedmeanstoverifythatitsatisfiesspecifiedrequirementsortoidentifydifferences
betweenexpectedandactualresults”.
▪Softwaretestingisrelatedtoverificationandvalidation.Theprocessofensuringthatthe
softwareisdevelopedaccordingtoitsspecificationsisreferredtobyverificationwhichuses
techniqueslikereviews,analysis,inspectionsandwalkthroughs.
▪Verification:Isthesoftwarebeingdevelopedintherightway?
▪Validation:Istherightsoftwarebeingdeveloped?

SQA Components in The Project Life Cycle Cont ..
Software Testing Cont ..
To make sure that the software is functioning in accordance with the user requirements,
software testing is performed either manually or by using automated tools. Various
advantages associated with testing are listed below:
▪Removingerrorsthatpreventsoftwarefromproducingoutputsaccordingtouser
requirements.
▪Removingerrorsthatleadtosoftwarefailure.
▪Ensuringthatthesoftwareconformstobusinessaswellasuser’sneeds.
▪Ensuringthatthesoftwareisdevelopedaccordingtouserrequirements.
▪Improvingthequalityofthesoftwarebyremovingallpossibleerrorsfromit.

SQA Components in The Project Life Cycle Cont ..
▪Softwaretestingisaimedatidentifyinganybugs,errors,faults,orfailures(ifany)presentin
thesoftware.Errorscanbepresentinthesoftwareonaccountofthefollowingreasons:
▪Programmingerrors:Programmerscanmakemistakeswhiledevelopingthesourcecode.
UnclearRequirements:Theuserisnotclearaboutthedesiredrequirements,orthe
developersareunabletounderstandtheuserrequirementsinaclearandconcisemanner.
SoftwareComplexity:Thegreaterthecomplexityofthesoftware,themorethescopeof
committinganerror(especiallybyaninexperienceddeveloper).
ChangingRequirements:Theusersusuallykeeponchangingtheirrequirements,andit
becomesdifficulttohandlesuchchangesinthelaterstageofdevelopmentprocess.Therefore,
therearechancesofmakingmistakeswhileincorporatingthesechangesinthesoftware.

SQA Components in The Project Life Cycle Cont ..
TimePressures:Maintainingscheduleofsoftwareprojectsisdifficult.Whendeadlinesare
notmet,theattempttospeeduptheworkcauseserrors.
PoorlyDocumentedCode:Ifthecodeisnotwelldocumentedorwellwritten,then
maintainingandmodifyingitbecomesdifficult.Thiscauseserrorstooccur.

SQA Components in The Project Life Cycle Cont ..
The software testing objectives are:
▪Todetectdefects.
▪Todeterminethatthesoftwaresatisfiesspecifiedrequirements.
▪Todemonstratethatthesoftwareisfitforitspurpose.Thetestprocessstepsare
PlanningandControl,AnalysisandDesign,ImplementationandExecution,Reporting
andEvaluatingExitCriteria,TestClosureActivities.

SQA Components in The Project Life Cycle Cont ..
Test Planning and Control:
▪Thetestplanningandcontrolhasthefollowingmajortasks:
▪Determinethescope,risks,andthetestingobjectives.
▪Determinethetestapproach(techniques,testitems,coverage,identifyingandinterfacingwith
theteamsinvolvedintesting,testware).
▪Determinetherequiredtestresources(e.g.,people,testenvironment,PCs).
▪Scheduletestanalysisanddesigntasks,testimplementation,executionandevaluation.
▪Determinetheexitcriteriatoknowwhentestingisfinished.
▪Testcontrolisanongoingactivity.

SQA Components in The Project Life Cycle Cont ..
Test Planning and Control Cont ..
▪Monitorstatusandtakecorrectiveactionsifnecessary.
▪Testcontrolhasthetasks:Measureandanalyzetheresultsofreviewsandtesting,
monitoranddocumentprogress,testcoverageandexitcriteria,provideinformationon
testing,initiatecorrectiveactions,makedecisions:Tocontinuetesting,tostoptesting,to
releasethesoftwareortoretainitforfurtherwork.

Software Testing Strategies
TestStrategy
▪AteststrategyisaplanfordefininganapproachtotheSoftwareTestingLifeCycle(STLC).In
addition,theteststrategyprovidesthefollowingdetails,whicharerequiredwhilewritingthe
testdocument:
➢Whattechniquemustbeusedinadditiontothis?
➢Whichofthemoduleswillbeexamined?
➢Whatcriteriaapplyforentryandexit?
➢Whatkindoftestingisnecessary?
▪Softwaretestingistheprocessofevaluatingasoftwareapplicationtoidentifyifitmeets
specifiedrequirementsandtoidentifyanydefects.Thefollowingarecommontesting
strategies:

Types of Strategies
▪Blackboxtesting–Teststhefunctionalityofthesoftwarewithoutlookingattheinternal
codestructure.
▪Whiteboxtesting–Teststheinternalcodestructureandlogicofthesoftware.
▪Unittesting–Testsindividualunitsorcomponentsofthesoftwaretoensuretheyare
functioningasintended.
▪Integrationtesting–Teststheintegrationofdifferentcomponentsofthesoftwareto
ensuretheyworktogetherasasystem.
▪Functionaltesting–Teststhefunctionalrequirementsofthesoftwaretoensuretheyare
met.

Types of Strategies Cont ..
▪Systemtesting–Teststhecompletesoftwaresystemtoensureitmeetsthespecified
requirements.
▪Acceptancetesting–Teststhesoftwaretoensureitmeetsthecustomer’sorend-user’s
expectations.
▪Regressiontesting–Teststhesoftwareafterchangesormodificationshavebeenmade
toensurethechangeshavenotintroducednewdefects.
▪Performancetesting–Teststhesoftwaretodetermineitsperformancecharacteristics
suchasspeed,scalability,andstability.
▪Securitytesting–Teststhesoftwaretoidentifyvulnerabilitiesandensureitmeets
securityrequirements.

Software Testing Objectives
▪Theprocessofinvestigatingandcheckingaprogramtofindwhetherthereisanerroror
notanddoesitfulfilltherequirementsornotiscalledtesting.
▪Whenthenumberoferrorsfoundduringthetestingishigh,itindicatesthatthetesting
wasgoodandisasignofgoodtestcase.
▪Findinganunknownerrorthatwasn’tdiscoveredyetisasignofasuccessfulandagood
testcase.
▪Themainobjectiveofsoftwaretestingistodesignthetestsinsuchawaythatit
systematicallyfindsdifferenttypesoferrorswithouttakingmuchtimeandeffortsothat
lesstimeisrequiredforthedevelopmentofthesoftware.

Advantages of Software Testing
▪Improvessoftwarequalityandreliability.
▪Enhances user experience.
▪Increases confidence.
▪Facilitates maintenance.
▪Reduces costs.

Disadvantages of Software Testing
▪Time-consuming.
▪Testingrequiresspecializedskillsandresources,whichcanbeexpensive.
▪Unpredictable results.
▪Delays in delivery.

Any Questions?

Thank You!
Tags