Top Banner
Week Assignment Software Testing – Test Planning Hans-Petter Halvorsen B. Lund. Lunch. Available: http://www.lunchstriper.no, http://www.dagbladet.no/tegneserie/lunch/ 2017.04.07
62

WeekAssignment - Testing

Feb 02, 2017

Download

Documents

trankhue
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: WeekAssignment - Testing

WeekAssignmentSoftwareTesting– TestPlanning

Hans-PetterHalvorsenB.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/

2017.04.07

Page 2: WeekAssignment - Testing

WeekAssignment

1. CreateaSoftwareTestPlan(STP)

2. CreateaVirtual TestEnvironment

SeeNextSlidesformoredetails...

Note!AllDocuments,Code,etc.youcreateshouldbeuploadedtoVisualStudioTeamServices(VSTS)

Page 3: WeekAssignment - Testing

https://en.wikipedia.org/wiki/Freeze_(software_engineering)

Insoftwareengineering,afreezeisapointintimeinthedevelopmentprocessafterwhichtherulesformakingchangestothesourcecodeorrelatedresourcesbecomemorestrict,ortheperiodduringwhichthoserulesareapplied.

NoProgramminginClassthese2weeks!– otherwiseitiseasytoloosefocusonTesting

CodeFreeze:Tuesday10:15-14:00andFriday10:15-14:00

Page 4: WeekAssignment - Testing

CreateSoftwareTestPlan(STP)

CreateVirtualTestEnvironment

TesttheSoftwareaccordingtoSTP

CreateUnitTestsinVisualStudio

TestPlanning

TestExecution

1

2

3

4

TestPlanningandExecution

NextWeek

Page 5: WeekAssignment - Testing

Introduction

Hans-PetterHalvorsen,M.Sc.

SoftwareTesting

Page 6: WeekAssignment - Testing

WhyTesting?• MakesurethesoftwarefulfillstheRequirements fromthe

Customers(SoftwareRequirementsSpecification,SRS)• MakesuretheSoftwaredon'tcontaincriticalBugs• Makesurethesoftwarecanbeinstalled atthecustomer.

Thecustomerdon'thaveVisualStudio!• Makesurethesoftwareareuser-friendly anintuitivetouse• Makesurethesoftwareisrobust andhasacceptable

performance (soitdon'tcrashwhenmorethan1personareusingit,thedatabasecontainlotsofdata,etc.)

Page 7: WeekAssignment - Testing

Database

PresentationTier

e.g.,ADO,ADO.NET

LogicTier

WebService

BusinessTier

DataAccessTier

DataTierStoredProcedures

ViewsTables

WebServer

DatabaseServer

PresentationTier

Client

ASP.NETWebForms

WebAppPresentationTier

DifferentBrowsers

Client

ClientWinForms

TestingisComplex!ASystematic

Approachisneeded!

Firewall

Clients

DesktopAppMobileApp

InternetLocal

Network

DifferentPlatforms:Android,iOS,Windows/Windows

Phone,etc.

API

API

API

API

PresentationTiers

WebBrowser

Page 8: WeekAssignment - Testing

RequirementsAnalysis

Design

Implementation

Testing

Maintenance

PlanningDeployment

SRS

SDD

STD

Code

InstallationGuides

UserGuides

GanttChart

withERDiagram,UMLDiagrams,CADDrawings

TestDocumentation

SoftwareRequirementsSpecifications

SoftwareDesignDocumentsSystemDocumentation

SoftwareTestPlan(STP)

ProjectPlanning

End-UserDocumentation

SystemDocumentation

SoftwareTestDocumentation

SDPSoftwareDevelopment

Plan

GanttChart

TheSoftwareDevelopment

Lifecycle(SDLC)

Page 9: WeekAssignment - Testing

TypicalSoftwareDocumentation

High-LevelRequirementsandDesignDocuments

UserManuals

SystemDocumentation

InstallationGuides

TestPlans

TestDocumentation

DetailedRequirementsandDesignDocuments

ERDiagram(Database)UMLDiagrams(Code)

Time

Start

Finish

HowtoTest/WhattoTest

CADDrawings,etc.

1.Planning

2.Testing

3.End-userDocumentation(Thepeoplethatshallactuallyusethesoftware)

TechnicalStuff

HowtouseitHowtoinstallit

Proofthatyouhavetestedandthatthesoftwareworksasexpected

(Thestakeholders,thesoftwareteam;architects,UXdesigners,developers)

(QApeople)

(SuperUser/ITdep.)

WHATHOW

(EndUser)

ProjectM

anagem

ent(Ga

nttC

hart,etc.)

(SRS)(SDD)

(STP)(STD)

SoftwareDevelopmentPlan

(SDP)

2.Requierements/Design

Page 10: WeekAssignment - Testing

MainpurposeofTesting:FindBugs!!• RequirementsErrors:13%• DesignErrors:24%• CodeErrors:38%• DocumentationErrors:13%• Bad-fixErrors:12%

http://proquest.safaribooksonline.com/book/software-engineering-and-development/9781449691998/chapter-3-engineering-of-software/42?uicode=telemark

B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/

Page 11: WeekAssignment - Testing

ThefirstBugeverfound

Page 12: WeekAssignment - Testing

WhatisBugs• Asoftwarebugisanerror,flaw,

failure,orfaultinacomputerprogramorsystemthatproducesanincorrectorunexpectedresult,orcausesittobehaveinunintendedways

• Theyfoundabug(actuallyamoth)insideacomputerin1947thatmadetheprogramnotbehavingasexpected.Thiswasthe“first”realbug.

• Debugging:FindandRemove/FixBugs

Page 13: WeekAssignment - Testing

WhyFindBugsearly?

SoftwareDevelopmentLifeCycle(SDLC)

Page 14: WeekAssignment - Testing

“Ifyoudon’tknowhowyourcodeworks,itdoesnotwork– youjustdon’tknowityet”

SoftwareTesting

“50%oftheSoftwareDevelopmentisaboutTestingyourSoftware”

Page 15: WeekAssignment - Testing

Testing“Testingcanonlyshowthepresenceoferrors,nottheirabsence”

Dijkstra,1972

Page 16: WeekAssignment - Testing

ValidationTesting DefectTesting

Testing

DemonstratetotheDeveloperandtheCustomerthattheSoftwaremeetsitsRequirements.

I.Sommerville,SoftwareEngineering,10ed.:Pearson,2015.

CustomSoftware:ThereshouldbeatleastonetestforeveryrequirementintheSRSdocument.GenericSoftware:Thereshouldbetestsforallofthesystemfeaturesthatwillbeincludedintheproductrelease.

Findinputsorinputsequenceswherethebehaviorofthesoftwareisincorrect,undesirable,ordoesnotconformtoitsspecifications.Thesearecausedbydefects(bugs)inthesoftware.

Page 17: WeekAssignment - Testing

TypesofTestingStressTesting

UsabilityTesting

PerformanceTesting

UserTesting

RegressionTesting

Setyp&DeploymentTesting

...

... ...Requirements

Testing

GUITesting

FunctionalTesting

NonFunctionalTesting ...

...

...

LoadTesting

UsabilityTesting

SecurityTesting

B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/

Page 18: WeekAssignment - Testing

DifferentSystemsNeedsDifferentTesting

Why?

1 2

3 4

Page 19: WeekAssignment - Testing

VideosaboutTesting

• Guru99.com:http://www.guru99.com/software-testing.html

• NTNU:http://video.adm.ntnu.no/pres/511de3f0ac5b5

• ...(searchforTestingonYouTube)

Page 20: WeekAssignment - Testing

7PrinciplesofTesting

https://www.youtube.com/watch?v=rFaWOw8bIMM⏰ 5min

WatchthisVideo

Page 21: WeekAssignment - Testing

7PrinciplesofTesting1. TestingshowsthepresenceofBugs:SoftwareTestingreducestheprobabilityof

undiscovereddefectsremaininginthesoftwarebutevenifnodefectsarefound,itisnotaproofofcorrectness.

2. ExhaustiveTestingisimpossible:Testingeverythingisimpossible!Insteadweneedoptimalamountoftestingbasedontheriskassessmentoftheapplication.

3. EarlyTesting:TestingshouldstartasearlyaspossibleintheSoftwareDevelopmentLifeCycle(SDLC)

4. DefectClustering:Asmallnumberofmodulescontainmostofthedefects/bugsdetected.

5. ThePesticideParadox:Ifthesametestsarerepeatedoverandoveragain,eventuallythesametestcaseswillnolongerfindnewbugs

6. TestingisContextdependent:Thismeansthatthewayyoutestae-commercesitewillbedifferentfromthewayyoutestacommercialofftheshelfapplication

7. AbsenceofErrorisaFallacy:Findingandfixingdefectsdoesnothelpifthesystembuildisunusableanddoesnotfulfilltheusersneeds&requirements

http://www.guru99.com/software-testing-seven-principles.htmlhttp://www.testingexcellence.com/seven-principles-of-software-testing

Page 22: WeekAssignment - Testing

UseRealisticTestData!

Page 23: WeekAssignment - Testing

“CrashTestforDummies”

http://www.no.capgemini.com/blog/capgemini-bloggen/2013/09/crash-test-for-dummies

• Hvorformåvitesteprogramvare?• Nårkanvibegynneåtesteprogramvare?• Hvatrengsforåutføretesten?• Hvordankan/børviteste?• Hvemerbesttilåutføretesten?• Hvorerdetbehovfortesting?

EnSoftwareTesterfraCapgeminigirdegsvaret: Readthisarticle

Page 24: WeekAssignment - Testing

TestCategoriesBlack-boxvs.White-boxTesting

White-boxTesting:Youneedtohaveknowledgeofhow(DesignandImplementation)thesystemisbuilt

Black-boxTesting:Youneednoknowledgeofhowthesystemiscreated.

TypicallydonebyDevelopers,etc

Page 25: WeekAssignment - Testing

WhodoestheTesting?• Programmers/Developers

– Programmersusuallycreatetestcasesandrunthemastheywritethecodetoconvincethemselvesthattheprogramworks.Thisprogrammeractivityrelatedtotestingisusuallyconsideredtobeunittesting.

• Testers– Atesterisatechnicalpersonwhoserolefortheparticularitembeingtestedisjusttowritetest

casesandensuretheirexecution.Althoughprogrammingknowledgeisextremelyusefulfortesters,testingisadifferentactivitywithdifferentintellectualrequirements.Notallgoodprogrammerswillbegoodtesters.

• EndUsers/Customers– Itisagoodideatoinvolveusersintesting,inordertodetectusabilityproblemsand

toexposethesoftwaretoabroadrangeofinputsinreal-worldscenarios.

Page 26: WeekAssignment - Testing

LevelsofTesting

UnitTesting

IntegrationTesting

SystemTesting

AcceptanceTesting

Anymodule,program,objectseparatelytestable

Interfacebetweencomponents;interactionswithothersystems(OS,HW,etc)

Thebehaviorofthewholeproduct(system)asdefinedbythescopeoftheproject

Istheresponsibilityofthecustomer– ingeneral.Thegoalistogainconfidenceinthesystem;especiallyinitsnon-functionalcharacteristics

Page 27: WeekAssignment - Testing

LevelsofTestingUnitTesting:Testeachpartsindependentlyandisolated

IntegrationTesting:Makesurethatdifferentpiecesworktogether.TesttheInterfacesbetweenthedifferentpieces.Interactionwithothersystems(Hardware,OS,etc.)

SystemTesting:Testthewholesystem

RegressionTesting:Testthatitstillworksafterachangeinthecode

Page 28: WeekAssignment - Testing

LevelsofTesting

UnitTesting

RegressionTesting

IntegrationTesting

System/ValidationTesting

AcceptanceTesting

Start

Finish

Requirements&DesignStartDevelopment

UnitTestsarewrittenbytheDevelopersaspartoftheProgramming.EachpartisdevelopedandUnittestedseparately(EveryClassandMethodinthecode)

TheCustomerneedstotestandapprovethesoftwarebeforehecantakeitintouse.FAT/SAT.

SystemtestingistypicallyBlack-boxTeststhatvalidatetheentiresystemagainstitsrequirements,i.e Checkingthatasoftwaresystemmeetsthespecifications

Integrationtestingmeansthesystemisputtogetherandtestedtomakesureeverythingworkstogether.

Regressiontestingistestingthesystemtocheckthatchangeshavenot“broken”previouslyworkingcode.BothManually&Automatically(Re-runUnitTests)

Page 29: WeekAssignment - Testing

TestingOverviewTestCategories: TestLevels: TestMethods:

UnitTesting

RegressionTesting

IntegrationTesting

SystemTesting

AcceptanceTesting

Black-boxTesting

White-boxTesting

StressTesting

PerformanceTesting

GUITesting

FunctionalTesting

NonFunctionalTesting

LoadTesting

UsabilityTesting

SecurityTesting

etc.

Page 30: WeekAssignment - Testing

80– 20Rule• Ittakes20%ofthetimetofinish80%ofyourapplication->Prototype(80%finished)

• 80%oftheusersonlyuse20%ofthefeatures• 80%ofperformanceimprovementsarefoundbyoptimizing20%ofthecode

• 80%ofthebugsarefoundin20%ofthecodehttp://swreflections.blogspot.no/2013/11/applying-8020-rule-in-software.html

Page 31: WeekAssignment - Testing
Page 32: WeekAssignment - Testing

SoftwareTestPlan(STP)

• CreateaSoftwareTestPlan(STP)• ThecontentintheSTPmaydifferdependingoftheProject(whatkindofsoftwareyouarecreating,thesize,etc.),seeexamplesonthenextslides

• UploadtheSTPtoVSTS&yourWebSiteSeeNextSlidesformoredetails...

Page 33: WeekAssignment - Testing

CreateaSoftwareTestPlan(STP)documentq Introduction

q TestSoftware(VSTS,...)q TestResources

q TestPersonnelandResponsibilities.TestManagerq TestEnvironmentandTestHardware

q OverviewofdifferentTestTypesq ValidationTestingandDefectTestingq UnitTesting,RegressionTesting,IntegrationTesting,SystemTesting,

AcceptanceTestingq TestStrategies

q Whattotestq Howtotestq Whentotest.TestSchedule

q TestCases.Can,e.g.,beExcelsheetsq TestDocumentation- Howshalltestsbedocumented?

Week1,TuesdayTeamActivity

Deadline1.Draft:Friday10:15FinalDraft:NextTuesday10:15

CreateSoftwareTestPlan(STP)

Page 34: WeekAssignment - Testing

TestPlanning• Tomaximizetheeffectivenessofresourcesspentontesting,asystematicapproachisrequired

• ASoftwareTestPlan(STP)shouldbecreated

Page 35: WeekAssignment - Testing

WhatisaSoftwareTestPlan(STP)?ADocumentthatanswersthefollowing:• TestingshouldbebasedonRequirements&DesignDocuments• Whatshallwetest?• Howshallwetest?• Hardware/SoftwareRequirements• Whereshallwetest?• Whoshalltest?• Howoftenshallwetest(TestSchedule)?• Howshalltestsbedocumented?

§ Itisnotenoughsimplytoruntests;theresultsofthetestsmustbesystematicallyrecorded.Itmustbepossibletoauditthetestingprocesstocheckthatithasbeencarriedoutcorrectly

§ Systemtests:Thissection,whichmaybecompletelyseparatefromthetestplan,definesthetestcasesthatshouldbeappliedtothesystem.Thesetestsarederivedfromthesystemrequirementsspecification. http://www.softwareengineering-9.com/Web/Testing/Planning.html

Page 36: WeekAssignment - Testing

TestCasesListExampleTester:_______________________,Date:________

TestCase OK Failed Description

TheLoginProcedureworks

UserDataSavedintheDatabase

etc

TheTestersfillintheseListselectronically.ShouldbeincludedinSoftwareTestDocumentation

IfTestCasesFails,reportBugsinVSO

Page 37: WeekAssignment - Testing

SoftwareTestPlan(STP)WewillcreateaVirtualTestEnvionment usingVMwarePlayer

ThesethingsneedtobespecifiedintheSTP

WestartcreatingaSTPandVirtualTestEnvironmentsthisweek

WestartcreatingTestEnvironmentonFridayandstartTestingnextweek,ReportBugsinVisualStudioOnline,etc.

Page 38: WeekAssignment - Testing

HowtomakeaTestPlan

http://www.guru99.com/what-everybody-ought-to-know-about-test-planing.html

Page 39: WeekAssignment - Testing

WhatkindofTestEnvironment/WhereistheTestEnvironment?,HowoftenshallweupdatetheTestEnvironment?WewillcreateaVirtualTestEnvironmentusingVMwareWorkstationPlayer

WhenshallweTest?HowmanyhoursofTesting?

WhenarewefinishedTesting?...

WhatkindsofTestsshallbedone(UnitTesting,APITesting,IntegrationTesting,SystemTesting,InstallationTesting,...)?

Whowillusethewebsite?Whatisitusedfor?Howwillitwork?Whataresoftware/hardwaretheproductuses?

WhoshallTest?TestRoles?TestManager,Testers,...QA(QualityAssurance)

TestLogs,TestResults/Reports

Theobjectiveofthetestingisfindingasmanysoftwaredefectsaspossible;ensurethatthesoftwareundertestisbugfreebeforerelease.

Page 40: WeekAssignment - Testing

TestPlanExampleA. GoalsandExitCriteria(Quality,Robustness,Schedule,PerformanceGoals

oftheProduct,...)B. ItemstobeTested/Inspected(Executablessuchasmodulesand

components,NonexecutablessuchasRequirmentsandDesignspecifications,...)

C. TestProcess/Methodologies(Unit,Functional,Acceptance,RegressionTests,Black-box,White-box,Testmetrics,Bugreportprocess,...)

D. Resources(People,Tools,TestEnvironment,...)E. Schedule(Test-casedevelopment,Testexecution,Problemreportingand

fixing,...)F. Risks(...)G. MajorTestScenariosandTestCases(...)

EssentialsofSoftwareEngineering,FrankTsui;OrlandoKaram;BarbaraBernal,3ed.,Jones&BartlettLearning

AppendixDinEssentialsofSoftwareEngineering

Page 41: WeekAssignment - Testing

TestPlanExample#2Atestplanoutlinesthestrategythatwillbeusedtotestanapplication,theresourcesthatwillbeused,thetestenvironmentinwhichtestingwillbeperformed,thelimitationsofthetestingandthescheduleoftestingactivities.TypicallytheQualityAssuranceTeamLeadwillberesponsibleforwritingaTestPlan.Atestplanwillincludethefollowing.

• IntroductiontotheTestPlandocument• Assumptionswhentestingtheapplication• ListoftestcasesincludedinTestingtheapplication• Listoffeaturestobetested• WhatsortofApproachtousewhentestingthesoftware• ListofDeliverablesthatneedtobetested• Theresourcesallocatedfortestingtheapplication• AnyRisksinvolvedduringthetestingprocess• AScheduleoftasksandmilestonesastestingisstarted

Reference:SoftwareTestingTutorial,tutorialspoint.com

SeePDFdocumentonCourseschedule

Page 42: WeekAssignment - Testing

HowtoCreateaTestPlanhttp://www.guru99.com/what-everybody-ought-to-know-about-test-planing.html

TestPlanTemplate:http://download.guru99.com/random_download/download_file.php?file=guru99/TestPlan.doc

TestPlanExample:http://download.guru99.com/random_download/download_file.php?file=guru99/Test_Plan_Guru99.pdf

Example#3

Page 43: WeekAssignment - Testing

43E.J.BraudeandM.E.Bernstein,SoftwareEngineering:ModernApproaches,2ed.:Wiley,2011.(Ch.25)

AnotherTestPlanExampleExample#4

Page 44: WeekAssignment - Testing

TypicalSoftwareDocumentation

High-LevelRequirementsandDesignDocuments

UserManuals

SystemDocumentation

InstallationGuides

TestPlans

TestDocumentation

DetailedRequirementsandDesignDocuments

ERDiagram(Database)UMLDiagrams(Code)

Time

Start

Finish

HowtoTest/WhattoTest

CADDrawings,etc.

1.Planning

2.Testing

3.End-userDocumentation(Thepeoplethatshallactuallyusethesoftware)

TechnicalStuff

Howtouseit

Howtoinstallit

Proofthatyouhavetestedandthatthesoftwareworksasexpected

(Thestakeholders,thesoftwareteam;architects,UXdesigners,developers)

(QApeople)

(SuperUser/ITdep.)

WHATHOW

(EndUser)ProjectM

anagem

ent(Ga

nttC

hart,etc.)

(SRS)(SDD)

(STP)(STD)

SoftwareDevelopmentPlan (SDP)

2.Requierements/Design

Page 45: WeekAssignment - Testing

TestPlanningSummary• Testplanninginvolvesschedulingandestimatingthesystemtestingprocess,

establishingprocessstandardsanddescribingtheteststhatshouldbecarriedout.• Aswellashelpingmanagersallocateresourcesandestimatetestingschedules,test

plansareintendedforsoftwareengineersinvolvedindesigningandcarryingoutsystemtests.

• Theyhelptechnicalstaffgetanoverallpictureofthesystemtestsandplacetheirownworkinthiscontext.

• Aswellassettingoutthetestingscheduleandprocedures,thetestplandefinesthehardwareandsoftwareresourcesthatarerequired.

• Testplansarenotastaticdocumentsbutevolveduringthedevelopmentprocess.Testplanschangebecauseofdelaysatotherstagesinthedevelopmentprocess.

• Testplanningisparticularlyimportantinlargesoftwaresystemdevelopment.• Forsmallandmedium-sizedsystems,alessformaltestplanmaybeused,butthereis

stillaneedforaformaldocumenttosupporttheplanningofthetestingprocess.http://www.softwareengineering-9.com/Web/Testing/Planning.html

Page 46: WeekAssignment - Testing

TestDocumentation

PlanningTests PerformTests DocumentTestResults

SoftwareTestPlan(STP)

SoftwareRequirementsSpecifications(SRS)SoftwareDesignDocument(SDD)

SoftwareTestDocumentation

(STD)

TestLogs

ThesedocumentswillbethefoundationforallTesting

- Functional&Non-FunctionalRequirements- User&SystemRequirements

Page 47: WeekAssignment - Testing
Page 48: WeekAssignment - Testing

TestEnvironment• PrepareaVirtualTestEnvironmentusingVMwareWorkstationPlayer(VirtualMachine,VM)

• Installe.g.Windows10(fromMicrosoftImagine)

• InstallSQLServer• InstallyourSoftwareontheVirtualMachine• MakeitreadyforTesting

SeeNextSlidesform

oredetails...Note!Makesureyouhaveenoughfreespaceonyourharddrive!

Note!EveryoneontheTeamshoulddothisExercise

ItisrecommendedthatyouwithintheTeaminstalldifferentOS,WebBrowsers,etc.

Page 49: WeekAssignment - Testing

Week1,FridayIndividualActivityDeadline14:00q InstallVMwareWorkstationPlayer

q InstallWindows10(from.iso file,~3Gb)q InstallVMwareToolsintheVMq InstallSQLServerintheVMq ActivateWebServer– InternetInformationServices(IIS)andASP.NETq Backup (MakeacopyoftheFolder)theVirtualMachine(VM).Inthatway

youhaveacleanTestEnvironmentyoucanuseseveraltimes.q InstallyourSoftwareintheVMandmakeitreadyforTesting

q Create/InstallyourDatabasefromaSQLScript(YoushouldhaveoneSQLScriptthatinstallseverything,suchasTables,Views,StoredProcedures,etc.)

q InstallDesktopApp(ifany),i.e.,copy.exefile,etc.q InstallWebApp,copyfiles(.aspx files,dll andothernecessaryfiles)and

deploytoWebServer (IIS)q CopyVMtoMemoryStickandgivetoOlav/HP

VisualStudioshallnotbeinstalledintheTestEnvironment

Youneed~20Gbfreespaceonyourharddrive

CreateVirtualTestEnvironment

Page 50: WeekAssignment - Testing

Virtualization

B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/

Page 51: WeekAssignment - Testing

http://geek-and-poke.com

Page 52: WeekAssignment - Testing

WhyTestEnvironment?• “ItworksonmyPC”saystheDeveloper• CleanEnvironment• OntheDevelopersPCswehaveallkindofSoftwareinstalledthat

theCustomerdont have,e.g.DevelopmentToolslikeVisualStudio,etc.

• WeneedtotestondifferentPlatformsandOperatingSystems• CustomersmayusedifferentWebBrowsers• Deployment:TestofInstallationpackages• MakethesoftwareavailableforTesters• etc.

Page 53: WeekAssignment - Testing

“ItworksonmyComputer”MakesuretotestyoursoftwareonotherComputersandEnvironmentsthanyourDevelopmentComputer!• EverythingworksontheDeveloper

Computer• TheCustomersDatabaseisnotthe

sameasyours• TheCustomermaynotusethe

sameOS• TheCustomermaynotusethe

sameWebBrowser• TheCustomerdonothaveVisual

Studio,SQLServer,etc.ontheirPersonalComputer

• Etc.=>TestEnvironmentisneeded!

Page 54: WeekAssignment - Testing

Development Testing Production

DevelopmentEnvironment TestEnvironment

ProductionEnvironment

TypicallytheDevelopersPersonalComputerwithDatabase,WebServerandProgrammingSoftware

ACleanPC/Server(oranetworkwithPCsandServers)whereyouinstallandtestyourSoftware.Todaywetypicallyset-upaVirtualTestEnvironment

TheCustomersenvironmentwhereyouunstallthefinalsoftware(ServersandClients)

ProgrammingenvironmentssuchasVisualStudio,etc.shouldnotbeinstalledinthisenvironment.Youneedtocreate.exefilesetc.inordertomakeyoursoftwarerun.

Developers Developers&Testers Customersuntilfinished

Page 55: WeekAssignment - Testing

Testvs.Production

Page 56: WeekAssignment - Testing

Virtualization

OperationSystem

VirtualizationSoftware

Hypervisor

VM VM VM

Hardware(Computer)

VM VM VM

Guests

Host

VM=VirtualMachines

AHypervisorcanrundirectlyonthecomputerwithoutaHostOS

Windows,Linux,...

Windows,Linux,...

Page 57: WeekAssignment - Testing

VirtualizationSoftwareAlotofVirtualizationSoftwareexists.Herearesomeexamples:• VMwareWorkstation• VMwareWorkstationPlayer (Freeofchargeandsimpleto

use)• VMwarevSphereandvSphereHyperVisor• VMwareFusion(Mac)• Parallells Desktop(Mac)• MicrosoftHyper-V(partofWindows)• VirtualBox• etc.

Page 58: WeekAssignment - Testing

VMwareWorkstationPlayerVMwareWorkstationPlayerisforpersonaluseonyourownPC.VMwarePlayerisfreeofchargeforpersonalnoncommercialuse.

58

VMwareisacompanythathasbeenspecializingwithinvirtualizationsoftware.http://www.vmware.com

Page 59: WeekAssignment - Testing

TestEnvironment- Summary• ItisimportanttotestyoursoftwareoutsidetheDevelopmentEnvironment

• Tomakethesoftwareavailable fortestpersonnel(nonprogrammers),thecompanyleaders,customers,thosewhoarecreatinguserdocumentation,salesdepartment,etc.NoneofthesehaveprogrammingexperienceorhaveVisualStudio,etc.installed

• ItisimportantthattheCustomers,Testers,etc.haveaccesstoandcantestthesoftwareingoodtimebeforerelease

Page 60: WeekAssignment - Testing

“Ifyourcodeworks,butyoudon’tknowwhy– Thenitdoesnotwork,youjustdon’tknowityet”

Page 61: WeekAssignment - Testing

Remember– ItisyourCustomersthataregoingtouseyourSoftware(andpayforit)!

è TheCustomerneedstobeinvolvedintheRequirements,UserExperienceandTestingoftheSoftware!

CustomerPerspective

B.Lund.Lunch.Available:http://www.lunchstriper.no,http://www.dagbladet.no/tegneserie/lunch/

Page 62: WeekAssignment - Testing

Hans-PetterHalvorsen,M.Sc.

UniversityCollegeofSoutheastNorwaywww.usn.no

E-mail:[email protected]:http://home.hit.no/~hansha/