Types and levels of testing chpter 2 (1).pdf

riteshdebadwar 6 views 54 slides Aug 31, 2024
Slide 1
Slide 1 of 54
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

About This Presentation

Types and level of testing which is a Ste topic


Slide Content

Unit 2 Marks 18
Types and levels of testing

2.1 Levels of testing
Ingeneral,therearefourlevelsof
testing: unittesting,integration
testing,systemtesting,andacceptance
testing.ThepurposeofLevelsoftestingisto
makesoftwaretestingsystematicandeasily
identifyallpossibletestcasesataparticular
level.

2.2 unit testing
•Unit testing focuses verification effort on the
smallest unit of software design—the
software component or module. Using the
component-level design description as a
guide, important control paths are tested to
uncover errors within the boundary of the
module.

Video lecture on
•Unit testing:

Therelativecomplexityoftestsandtheerrors
thosetestsuncoverislimitedbythe
constrainedscopeestablishedforunittesting.
Theunittestfocusesontheinternal
processinglogicanddatastructureswithinthe
boundariesofacomponent.Thistypeof
testingcanbeconductedinparallelfor
multiplecomponents.

Stubs and drivers
Thesedummypiecesofcodearethestubs.
Ontheotherhand,Driversaretheones,
whicharethe"calling"programs.Driversare
used in bottom up testing
approach.Driversaredummycode,whichis
usedwhenthesubmodulesarereadybutthe
mainmoduleisstillnotready....Thisdummy
codeisthencalledDriver.

2.2 Integration testing
Integrationtestingisasystematictechniquefor
constructingthesoftwarearchitecturewhileat
thesametimeconductingteststouncovererrors
associatedwithinterfacing.
Correctionisdifficultbecauseisolationofcauses
iscomplicatedbythevastexpanseoftheentire
program.
Onceallthecomponentsormodulesareworking
independently,thenweneedtocheckthedata
flowbetweenthedependentmodulesisknown
asintegrationtesting.

•Integration testing
•Integration testing is the second level of the software
testing process comes after unit testing. In this testing,
units or individual components of the software are
tested in a group. The focus of the integration testing
level is to expose defects at the time of interaction
between integrated components or units.
•Unit testinguses modules for testing purpose, and
these modules are combined and tested in integration
testing. The Software is developed with a number of
software modules that are coded by different coders or
programmers. The goal of integration testing is to check
the correctness of communication among all the
modules.

Video lecture on
•Integration testing:

Top down integration
Top-downintegrationtestingisanincremental
approachtoconstructionofthesoftware
architecture.Modulesareintegratedby
movingdownwardthroughthecontrol
hierarchy,beginningwiththemaincontrol
moduleTop-downintegration.(mainprogram).

Bottom-up integration
Bottom-upintegrationtesting,asitsname
implies,beginsconstructionandtestingwith
atomicmodules(i.e.,componentsatthe
lowestlevelsintheprogramstructure).
Becausecomponentsareintegratedfromthe
bottomup,thefunctionalityprovidedby
componentssubordinatetoagivenlevelis
alwaysavailableandtheneedforstubsis
eliminated.

Bi-directional testing
There are 2 types of Integration Testing
1) Incremental Integration Testing
2) Non-Incremental Integration Testing.

Afterunittestingiscompleted,developer
performsintegrationtesting.Itistheprocess
ofverifyingtheinterfacesandinteraction
betweenmodules.Whileintegrating,there
arelotsoftechniquesusedbydevelopersand
oneofthemistheincrementalapproach.

IncrementalTestingMethodologies
TopdownIntegration-Thistypeofintegrationtestingtakesplacefrom
toptobottom.UnavailableComponentsorsystemsaresubstitutedby
stubs.
BottomUpIntegration-Thistypeofintegrationtestingtakesplacefrom
bottomtotop.UnavailableComponentsorsystemsaresubstitutedby
Drivers.
Functionalincremental-TheIntegrationandtestingtakesplaceonthe
basisofthefunctionsorfunctionalitiesasperthefunctionalspecification
document.

Non–incrementalintegration
Thereareoftenatendencytoattemptnon-
incrementalintegration.Innon-incremental
integrationallcomponentsarecombined.The
entiresoftwareprogramsaretestedasawhole.It
usuallyresultsintoasetoferrors.Theseerrors
areverydifficulttoisolatebecauseoflargesizeof
program(duetobigbang).Oncetheseerrorsare
correctednewonesappearandthisprocess
continueslikeaendlessloop.

Video lecture on
•Software testingSTLC:

2.3 Testing on web application
Webapplicationisabitdifferentandcomplex
totestastesterdon’thavethatmuchcontrol
overtheapplication.Applicationisloadedon
theserverwhoselocationmayormaynotbe
knownandnoexeisinstalledontheclient
machine,youhavetotestitondifferentweb
browsers

Video lecture on
•Web –Applicationtesting :

Webapplicationsaresupposedtobetested
ondifferentbrowsersandOSplatformsso
broadlyWebapplicationistestedmainlyfor
browsercompatibilityandoperatingsystem
compatibility,errorhandling,staticpages,
backendtestingandloadtesting.

Theapplicationsaccessibleinbrowserwould
bedevelopedinHTML,DHTML,XML,
JavaScriptetc.(Wecanmonitorthroughthese
applications)Applicationsforthewebserver
wouldbedevelopedinJava,ASP,JSP,VBScript,
JavaScript,Perl,ColdFusion,PHPetc.(Allthe
manipulationsaredoneonthewebserver
withthehelpoftheseprogramsdeveloped)

Load testing
Loadtestingisasoftwaretestingtechnique
usedtoexaminethebehaviorofasystem
whensubjecttobothnormalandextreme
expectedloadconditions.Loadtestingis
generallyperformedundercontrolled
laboratoryconditionsinordertodistinguish
betweentwodifferentsystems

Stress testing
Stresstestingreferstothetestingofsoftware
orhardwaretodeterminewhetherits
performanceissatisfactoryunderanyextreme
andunfavorableconditions,whichmayoccur
asaresultofheavynetworktraffic,process
loading,underclocking,overclocking(process)
andmaximumrequestsforresource
utilization.

Security testing
SECURITYTESTINGisatypeof
softwaretestingthatintendstouncover
vulnerabilitiesofthesystemanddetermine
thatitsdataandresourcesareprotectedfrom
possibleintruders.

Client server testing
Inclientserverapplicationyouhavetwo
differentcomponentstotest.Applicationis
loadedonservermachinewhilethe
applicationexeoneveryclientmachine.You
willtestbroadlyincategorieslike,GUIonboth
sides,functionality,Load,client-server
interaction,backend.Thisenvironmentis
mostlyusedinIntranetnetworks.Youare
awareofnumberofclientsandserversand
theirlocationsinthetestscenario

•Thistypeoftestingusuallydonefor2tier
applications(usuallydevelopedforLAN)Here
wewillbehavingfront-endandbackend.The
applicationlaunchedonfront-endwillbe
havingformsandreportswhichwillbe
monitoringandmanipulatingdata

Video lecture on
•FunctionalTesting :

2.4 Acceptance testing
Acceptancetesting,atestingtechnique
performedtodeterminewhetherornotthe
softwaresystemhasmettherequirement
specifications.Themainpurposeofthistestis
toevaluatethesystem'scompliancewiththe
businessrequirementsandverifyifitishas
mettherequiredcriteriafordeliverytoend
users.

functional test case for amount
transfer module

writing a test case for the ICICI application’s Login
module:

Alpha ,beta testing
Alphatestingisatypeofacceptancetesting;
performedtoidentifyallpossibleissues/bugsbefore
releasingtheproducttoeverydayusersorpublic.The
focusofthistestingistosimulaterealusersbyusing
blackboxandwhiteboxtechniques.Theaimistocarry
outthetasksthatatypicalusermightperform.Alpha
testingiscarriedoutinalabenvironmentandusually
thetestersareinternalemployeesoftheorganization.
Toputitassimpleaspossible,thiskindoftestingis
calledalphaonlybecauseitisdoneearlyon,nearthe
endofthedevelopmentofthesoftware,andbefore
betatesting.

Beta Testing of a product is performed by "real
users" of the software application in a "real
environment" and can be considered as a form of
external user acceptance testing.
Beta version of the software is released to a
limited number of end-users of the product to
obtain feedback on the product quality. Beta
testing reduces product failure risks and provides
increased quality of the product through
customer validation.

GUI testing
SuccessofanyGUIapplicationdependson
howitinteractswithuserthroughitsuser
interface,howtheuseractionsareperformed
toaccessapplication'sfeaturesandwhether
applicationrespondsinfunctionallycorrect
manner.Anapplicationwithincorrect
behaviourorinvaliduserinteractioncanlead
tohugeproblems.Wewilltrytounderstand
fewimportantaspectswithGUITesting.

Video lecture on
•Regressiontesting :

Bloom Level 2 marks
question(Knowledge, Remember)
DefineUnittesting.
WhatisAcceptanceTesting.
StatethePerformanceTesting.
Definestresstesting.
Statetheregressiontesting.

Understand, Apply level 4 marks
Question
•Difference between alpha and beta testing .
•Explain Incremental and Non-Incremental.
•Explain Recovery Testing and Security Testing.
•Explain in detail client-server testing.
•Describe in detail GUI testing
•Explain Bi-Directional integration

Software Engineering Unit 1
•Objective Questionpart 1

Question bank
ExplainUnittesting?
ExplainTop-Downintegration?
ExplainBottom-Upintegration?
ExplainIncrementalandNon-Incremental?
ExplainBi-Directionalintegration?
ExplainDecompositionBasedIntegration?
ExplainRecoveryTestingandSecurityTesting?
ExplainPerformanceTesting?

ExplainUnittestingindetail?
Explainintegrationindetail?
ExplainTop-DownIntegration?
ExplainBottom-UpIntegration?
ExplainAcceptanceTesting?

WhatisUnittesting?Explainitindetail?
WhatisIntegrationtesting?Explainitin
details?
WhatisSystemtesting?Explainitindetails?
WhatisAcceptancetesting?Explainitin
details?

Question and answer
DefineUnitTestandcharacterizedtheunittest.
Ataunittestasinglecomponentistested.Aunitisthe
smallestpossibletestable
softwarecomponent.
Itcanbecharacterizedinseveralways
Aunitinatypicalprocedureorientedsoftware
systems.
Itperformsasinglecohensivefunction.
Itcanbecompiledseparately.
Itcontainscodethatcanfitonasinglepageora
screen.

•DefineintegrationTest.
•Attheintegrationlevelseveralcomponentsaretested
asagroupandthetester
•investigatescomponentinteractions.
•.DefineSystemtest.
•Whenintegrationtestarecompletedasoftware
systemhasbeenassembledandits
•majorsubsystemshavebeentested.Atthispointthe
developers/testersbegintotestit
•asawhole.Systemtestplanningshouldbeginatthe
requirementsphase

DefineAlphaandBetaTest.
Alphatestdeveloper’stousethesoftwareand
notetheproblems.
Betatestwhouseitunderrealworld
conditionsandreportthedefecttothe
Developingorganization

•Define functional Testing.
•Functional tests at the system level are used ensure that the
behavior of the system
•adheres to the requirement specifications.
•What are the two major requirements in the Performance testing.
•Functional Requirement: User describe what functions the
software should
•perform. We test for compliance of the requirement at the system
level with the
•functional based system test.
•Quality Requirement: They are nonfunctional in nature but
describe quality
•levels expected for the software

•What are the steps for top down integration?
•Main control module is used as a test driver and stubs
are substituted for all
•components directly subordinate to the main module.
•Depending on integration approach (Depth or breadth
first) subordinate stubs are
•replaced one at a time with actual components.
•Tests are conducted as each component is integrated.
•The completion of each set of tests another stub is
replaced with real component

•What is meant by regression testing?
•Regression testing is used to check for defects
propagated to other modules by
•changes made to existing program. Thus,
regression testing is used to reduce the side
•effects of the changes.

ListtheTestplancomponents.
Testplanidentifier
Introduction
Itemstobetested
Featurestobetested
Approach
Pass/failcriteria
Suspensionandresumptioncriteria

Testdeliverables
TestingTasks
Testenvironment
Responsibilities
Staffingandtrainingneeds
Scheduling
Risksandcontingencies
Testingcosts
Approvals.

•Advantages of Black Box Testing
•The test is unbiased because the designer and the tester are independent
of each other.
•The tester does not need knowledge of any specific programming
languages.
•The test is done from the point of view of the user, not the designer.
•Test cases can be designed as soon as the specifications are complete.
•Disadvantages of Black Box Testing
•The test can be redundant if the software designer has already run a test
case.
•The test cases are difficult to design.
•Testing every possible input stream is unrealistic because it would take a
inordinate amount of time; therefore, many program paths will go
untested.
Tags