elinext.com
Software 

Automated Testing 

vs Manual Testing
Softwaretestingistheprocessofverifyingthat
softwareproductsnotonlyfulfilthepurposesthey
havebeendesignedforbutarealsoerror-free.
Softwaretestingincludestheanalysis,observation,
examination,andevaluationofmultipleaspectsofa
productbeforeitislaunchedtothemarket.
Manualtestingisaprocessinwhichtestersmanuallyperformdifferenttestcases
withoutusingautomatedtools.Thekeypurposeofmanualtestingistomakesure
thattheproductmeetsthespecifiedfunctionalrequirementsandiserror-free.
Apartfromanextensiveskillsset,performingmanualtestingalsorequires
substantialpatienceandcreativity.
Softwaretestingcanbe
categorizedaccording
tomultiplecriteria.
Herearethemaintypes
ofsoftwaretesting:
Type:manual,automated
Functionaltesting(includessystem
testing,betatesting,unittesting,
integrationtesting,etc.)
Non-functionaltesting(includes
reliabilitytesting,performance
testing,securitytesting,usability
testing,etc.)
ToolsforManualTesting ToolsforAutomatedTesting
Testingsoftwarecomeswithaseriesofbenefits:
Ensuresqualityandperformance
Reducestherisk offailure
Preventsvulnerability
Enhancescustomersatisfaction
Identifieserrorsand/ormissing
requirementsatanearlystage
Maypreventcatastrophicincidents 

(e.g. systemblackouts, communicationbreakdowns, etc.)
Reducesdevelopmentcosts
Preventbugs
Facilitatestheadditionofnew features
Improvesuserexperience
Detectscompatibilitywith various
platformsanddevices
Manualtesting
Manual Testing vs. Automated Testing
TypesofManualTesting:
StepstoperformManualTesting:
1
Analysethesoftwareprojectdocumentationand, if
available, theAUT(i.e., ApplicationUnderTest)
3
HavethetestverifiedbytheQAleader(ortheclient, ifnecessary)
6
Oncethebugsarefixed, executethefailedtestsagaintoensuretheypass
2
Drafttestcasesinaccordancewithallthedefinedrequirements
4
Executetestcases
5
Reportallthedetectedbugs
Automatedtestingisasoftwaretestingtechniqueusedtotestandcontrastthe
expectedoutcomewiththeactualone.Testerswritetestscriptsandusetest
automationtoolstoexecutethem,thusmakingtestingfasterandreducingthe
riskofhumanerrors.
AutomatedTesting
StepstoperformAutomatedTesting:
ThetypesofAutomatedTestinginclude(butarenotlimitedto):
1
RecruitAutomationToolExperts(i.e.automation
engineersandautomationarchitects)
3
Choosethemostsuitableautomatedtestingtool
6
Developanexecutionplan
7
Writescripts
8
Report
9
Ensurescriptmaintenance
2
Decidewhichtestcasestoautomate
4
Traintheautomationteams
5
Createthetestautomationframework
WhiteBox:theQAisfamiliarwith
thestructureorinternalcodeofthe
app.WhiteBoxisusedmainlyfor
unittestingandotherspecific
techniquessuchaspathtesting,
controlflowtesting,flowtesting,
decisioncoverage,etc.
GreyBox:thisapproachcombineswhiteboxandblackboxtechniquesto
identifybugscausedbystructuralflawsorinappropriateusage.
Black Box:theQAisnotfamiliar
withthestructureorinternalcode
oftheappandinteractswithit
fromanend-userperspectiveto
testitsfunctionalandnon-
functionalfeatures.
UI Tests
IntegrationTests
PerformanceTests
API Testing
SecurityTests
UnitTesting
ManualandAutomatedTestingarenotonlyinterdependentbuttheybothcomewith
aseriesofprosandcons.However,tohighlighttheobvious,thoroughsoftwaretesting
beforeitgoesliveistheonlywaytoensureperformance,dependability,security,
customersatisfaction,cost-effectiveness,and– ultimately– anincreasedROI.
Wrap up
!!
ManualTestingBenefits
EnsuresamoreaccurateUI testing
Certainfeaturesaremoresuitable
formanualtesting(e.g.usability,
appcrashes,userexperience
scenarios,etc.)
Cost-effectiveandfastforsmall
projects
EasytoadapttoUI changes
Minorissuescanbeanalysed
immediatelywithouttheneedto
writeacodeandexecuteit
Noenvironmentlimitations
Allowsforhumanobservation 

(i.e.,testersmayidentifydefects
andprovidedevelopment
suggestions)
Noneedforprogramming
ManualTestingPitfalls
Tasksarecompletedentirelymanually
Time-consuming
Boring,repetitive,andprone
tohumanerror
Difficulttoensurecomplete
testcoverage
Requiresskilledhumanresources
Highcostsforlargeprojects
Maynotdetectallthedefects
Itisnotreusable
NotfeasibleforPerformanceTesting

AutomatedTestingBenefits

Ensuresenhancedtestcoverage
Moreefficientandlesstime
consumingthanmanualtesting
Eliminatestheriskofhumanerrors
Scalableforlargeprojects
Idealforrepeatedandlarge-
volumetesting
Runsmultipletestssimultaneously
Accurateandreliable
Reusable
Providesquickfeedback
Programmable
Freesuptesters’time
AutomatedTestingPitfalls
Costlyandslowforsmallprojects
Lackofflexibilityandcreativity
Unabletotestuserexperience
scenarios
MoredifficulttoadapttoUI changes
Requiresmaintenance(effortandtime)
Mayproducefalsenegatives
Notsuitableforalltestingtypes
(e.g.visualtesting,usability,etc.)
Doesnotallowrandomtesting
Programmingknowledgeismandatory
Debuggingtestscriptsis
amajorproblem

Software Testing QA: Automated Testing vs. Manual Testing. Which to Use, and When? Some analy Software automated testing vs maniual testing

  • 1.
    elinext.com Software Automated Testing vs Manual Testing Softwaretestingistheprocessofverifyingthat softwareproductsnotonlyfulfilthepurposesthey havebeendesignedforbutarealsoerror-free. Softwaretestingincludestheanalysis,observation, examination,andevaluationofmultipleaspectsofa productbeforeitislaunchedtothemarket. Manualtestingisaprocessinwhichtestersmanuallyperformdifferenttestcases withoutusingautomatedtools.Thekeypurposeofmanualtestingistomakesure thattheproductmeetsthespecifiedfunctionalrequirementsandiserror-free. Apartfromanextensiveskillsset,performingmanualtestingalsorequires substantialpatienceandcreativity. Softwaretestingcanbe categorizedaccording tomultiplecriteria. Herearethemaintypes ofsoftwaretesting: Type:manual,automated Functionaltesting(includessystem testing,betatesting,unittesting, integrationtesting,etc.) Non-functionaltesting(includes reliabilitytesting,performance testing,securitytesting,usability testing,etc.) ToolsforManualTesting ToolsforAutomatedTesting Testingsoftwarecomeswithaseriesofbenefits: Ensuresqualityandperformance Reducestherisk offailure Preventsvulnerability Enhancescustomersatisfaction Identifieserrorsand/ormissing requirementsatanearlystage Maypreventcatastrophicincidents (e.g. systemblackouts, communicationbreakdowns, etc.) Reducesdevelopmentcosts Preventbugs Facilitatestheadditionofnew features Improvesuserexperience Detectscompatibilitywith various platformsanddevices Manualtesting Manual Testing vs. Automated Testing TypesofManualTesting: StepstoperformManualTesting: 1 Analysethesoftwareprojectdocumentationand, if available, theAUT(i.e., ApplicationUnderTest) 3 HavethetestverifiedbytheQAleader(ortheclient, ifnecessary) 6 Oncethebugsarefixed, executethefailedtestsagaintoensuretheypass 2 Drafttestcasesinaccordancewithallthedefinedrequirements 4 Executetestcases 5 Reportallthedetectedbugs Automatedtestingisasoftwaretestingtechniqueusedtotestandcontrastthe expectedoutcomewiththeactualone.Testerswritetestscriptsandusetest automationtoolstoexecutethem,thusmakingtestingfasterandreducingthe riskofhumanerrors. AutomatedTesting StepstoperformAutomatedTesting: ThetypesofAutomatedTestinginclude(butarenotlimitedto): 1 RecruitAutomationToolExperts(i.e.automation engineersandautomationarchitects) 3 Choosethemostsuitableautomatedtestingtool 6 Developanexecutionplan 7 Writescripts 8 Report 9 Ensurescriptmaintenance 2 Decidewhichtestcasestoautomate 4 Traintheautomationteams 5 Createthetestautomationframework WhiteBox:theQAisfamiliarwith thestructureorinternalcodeofthe app.WhiteBoxisusedmainlyfor unittestingandotherspecific techniquessuchaspathtesting, controlflowtesting,flowtesting, decisioncoverage,etc. GreyBox:thisapproachcombineswhiteboxandblackboxtechniquesto identifybugscausedbystructuralflawsorinappropriateusage. Black Box:theQAisnotfamiliar withthestructureorinternalcode oftheappandinteractswithit fromanend-userperspectiveto testitsfunctionalandnon- functionalfeatures. UI Tests IntegrationTests PerformanceTests API Testing SecurityTests UnitTesting ManualandAutomatedTestingarenotonlyinterdependentbuttheybothcomewith aseriesofprosandcons.However,tohighlighttheobvious,thoroughsoftwaretesting beforeitgoesliveistheonlywaytoensureperformance,dependability,security, customersatisfaction,cost-effectiveness,and– ultimately– anincreasedROI. Wrap up !! ManualTestingBenefits EnsuresamoreaccurateUI testing Certainfeaturesaremoresuitable formanualtesting(e.g.usability, appcrashes,userexperience scenarios,etc.) Cost-effectiveandfastforsmall projects EasytoadapttoUI changes Minorissuescanbeanalysed immediatelywithouttheneedto writeacodeandexecuteit Noenvironmentlimitations Allowsforhumanobservation (i.e.,testersmayidentifydefects andprovidedevelopment suggestions) Noneedforprogramming ManualTestingPitfalls Tasksarecompletedentirelymanually Time-consuming Boring,repetitive,andprone tohumanerror Difficulttoensurecomplete testcoverage Requiresskilledhumanresources Highcostsforlargeprojects Maynotdetectallthedefects Itisnotreusable NotfeasibleforPerformanceTesting AutomatedTestingBenefits Ensuresenhancedtestcoverage Moreefficientandlesstime consumingthanmanualtesting Eliminatestheriskofhumanerrors Scalableforlargeprojects Idealforrepeatedandlarge- volumetesting Runsmultipletestssimultaneously Accurateandreliable Reusable Providesquickfeedback Programmable Freesuptesters’time AutomatedTestingPitfalls Costlyandslowforsmallprojects Lackofflexibilityandcreativity Unabletotestuserexperience scenarios MoredifficulttoadapttoUI changes Requiresmaintenance(effortandtime) Mayproducefalsenegatives Notsuitableforalltestingtypes (e.g.visualtesting,usability,etc.) Doesnotallowrandomtesting Programmingknowledgeismandatory Debuggingtestscriptsis amajorproblem