Chapter 9 Compatibility Testing.docx
《Chapter 9 Compatibility Testing.docx》由会员分享,可在线阅读,更多相关《Chapter 9 Compatibility Testing.docx(14页珍藏版)》请在冰豆网上搜索。
Chapter9CompatibilityTesting
Chapter9.CompatibilityTesting
INTHISCHAPTER
∙CompatibilityTestingOverview
∙PlatformandApplicationVersions
∙StandardsandGuidelines
∙DataSharingCompatibility
InChapter8,"ConfigurationTesting,"youlearnedabouthardwareconfigurationtestingandhowtoassurethatsoftwareworksproperlywiththehardwareitwasdesignedtorunonandconnectwith.Thischapterdealswithasimilarareaofinteractiontestingcheckingthatyoursoftwareoperatescorrectlywithothersoftware.
Testingwhetheroneprogramplayswellwithothershasbecomeincreasinglyimportantasconsumersdemandtheabilitytosharedataamongprogramsofdifferenttypesandfromdifferentvendorsandtakeadvantageoftheabilitytorunmultipleprogramsatonce.
Itusedtobethataprogramcouldbedevelopedasastandaloneapplication.Itwouldberuninaknown,understood,benignenvironment,isolatedfromanythingthatcouldcorruptit.Today,thatprogramlikelyneedstoimportandexportdatatootherprograms,runwithdifferentoperatingsystemsandWebbrowsers,andinteroperatewithothersoftwarebeingrunsimultaneouslyonthesamehardware.Thejobofsoftwarecompatibilitytestingistomakesurethatthisinteractionworksasuserswouldexpect.
Thehighlightsofthischapterinclude
∙Whatitmeansforsoftwaretobecompatible
∙Howstandardsdefinecompatibility
∙Whatplatformsareandwhattheymeanforcompatibility
∙Whybeingabletotransferdataamongsoftwareapplicationsisthekeytocompatibility
CompatibilityTestingOverview
Softwarecompatibilitytestingmeanscheckingthatyoursoftwareinteractswithandsharesinformationcorrectlywithothersoftware.ThisinteractioncouldoccurbetweentwoprogramssimultaneouslyrunningonthesamecomputerorevenondifferentcomputersconnectedthroughtheInternetthousandsofmilesapart.Theinteractioncouldalsobeassimpleassavingdatatoafloppydiskandhand-carryingittoanothercomputeracrosstheroom.
Examplesofcompatiblesoftwareare
∙Cuttingtextfromawebpageandpastingitintoadocumentopenedinyourwordprocessor
∙Savingaccountingdatafromonespreadsheetprogramandthenloadingitintoacompletelydifferentspreadsheetprogram
∙Havingphotographtouchupsoftwareworkcorrectlyondifferentversionsofthesameoperatingsystem
∙Havingyourwordprocessorloadinthenamesandaddressesfromyourcontactmanagementprogramandprintoutpersonalizedinvitationsandenvelopes
∙Upgradingtoanewdatabaseprogramandhavingallyourexistingdatabasesloadinandworkjustastheydidwiththeoldprogram
Whatcompatibilitymeansforyoursoftwaredependsonwhatyourteamdecidestospecifyandwhatlevelsofcompatibilityarerequiredbythesystemthatyoursoftwarewillrunon.Softwareforastandalonemedicaldevicethatrunsitsownoperatingsystem,storesitsdataonitsownmemorycartridges,anddoesn'tconnecttoanyotherdevicewouldhavenocompatibilityconsiderations.However,thefifthversionofawordprocessor(seeFigure9.1)thatreadsandwritesdifferentfilesfromotherwordprocessors,allowsmultiusereditingovertheInternet,andsupportsinclusionofembeddedpicturesandspreadsheetsfromvariousapplicationshasamultitudeofcompatibilityconsiderations.
Figure9.1.Compatibilityacrossdifferentsoftwareapplicationscanquicklybecomeverycomplicated.
[Viewfullsizeimage]
Ifyou'reassignedthetaskofperformingsoftwarecompatibilitytestingonanewpieceofsoftware,you'llneedtogettheanswerstoafewquestions:
∙Whatotherplatforms(operatingsystem,webbrowser,orotheroperatingenvironment)andotherapplicationsoftwareisyoursoftwaredesignedtobecompatiblewith?
Ifthesoftwareyou'retestingisaplatform,whatapplicationsaredesignedtorununderit?
∙Whatcompatibilitystandardsorguidelinesshouldbefollowedthatdefinehowyoursoftwareshouldinteractwithothersoftware?
∙Whattypesofdatawillyoursoftwareusetointeractandshareinformationwithotherplatformsandsoftware?
Gainingtheanswerstothesequestionsisbasicstatictestingbothblack-boxandwhite-box.Itinvolvesthoroughlyanalyzingthespecificationfortheproductandanysupportingspecifications.Itcouldalsoentaildiscussionswiththeprogrammersandpossiblyclosereviewofthecodetoassurethatalllinkstoandfromyoursoftwareareidentified.Therestofthischapterdiscussesthesequestionsinmoredetail.
PlatformandApplicationVersions
Selectingthetargetplatformsorthecompatibleapplicationsisreallyaprogrammanagementoramarketingtask.Someonewho'sveryfamiliarwiththecustomerbasewilldecidewhetheryoursoftwareistobedesignedforaspecificoperatingsystem,webbrowser,orsomeotherplatform.They'llalsoidentifytheversionorversionsthatthesoftwareneedstobecompatiblewith.Forexample,you'veprobablyseennoticessuchastheseonsoftwarepackagesorstartupscreens:
WorksbestwithAOL9.0
RequiresWindowsXPorgreater
ForusewithLinux2.6.10
Thisinformationispartofthespecificationandtellsthedevelopmentandtestteamswhatthey'reaimingfor.Eachplatformhasitsowndevelopmentcriteriaandit'simportant,fromaprojectmanagementstandpoint,tomakethisplatformlistassmallaspossiblebutstillfillthecustomer'sneeds.
BackwardandForwardCompatibility
Twotermsyou'llhearregardingcompatibilitytestingarebackwardcompatibleandforwardcompatible.Ifsomethingisbackwardcompatible,itwillworkwithpreviousversionsofthesoftware.Ifsomethingisforwardcompatible,itwillworkwithfutureversionsofthesoftware.
Thesimplestdemonstrationofbackwardandforwardcompatibilityiswitha.txtortextfile.AsshowninFigure9.2,atextfilecreatedusingNotepad98runningunderWindows98isbackwardcompatibleallthewaybacktoMS-DOS1.0.It'salsoforwardcompatibletoWindowsXPservicepack2andlikelywillbebeyondthat.
Figure9.2.Backwardandforwardcompatibilitydefinewhatversionswillworkwithyoursoftwareordatafiles.
NOTE
It'snotarequirementthatallsoftwareorfilesbebackwardorforwardcompatible.That'saproductfeaturedecisionyoursoftwaredesignersneedtomake.Youshould,though,provideinputonhowmuchtestingwillberequiredtocheckforwardandbackwardcompatibilityforthesoftware.
TheImpactofTestingMultipleVersions
Testingthatmultipleversionsofplatformsandsoftwareapplicationsworkproperlywitheachothercanbeahugetask.Considerthesituationofhavingtocompatibilitytestanewversionofapopularoperatingsystem.Theprogrammershavemadenumerousbugfixesandperformanceimprovementsandhaveaddedmanynewfeaturestothecode.TherecouldbetensorhundredsofthousandsofexistingprogramsforthecurrentversionsoftheOS.Theproject'sgoalistobe100percentcompatiblewiththem.SeeFigure9.3.
Figure9.3.Ifyoucompatibilitytestanewplatform,youmustcheckthatexistingsoftwareapplicationsworkcorrectlywithit.
[Viewfullsizeimage]
Thisisabigjob,butit'sjustanotherexampleofhowequivalencepartitioningcanbeappliedtoreducetheamountofwork.
NOTE
Tobeginthetaskofcompatibilitytesting,youneedtoequivalencepartitionallthepossiblesoftwarecombinationsintothesmallest,effectivesetthatverifiesthatyoursoftwareinteractsproperlywithothersoftware.
Inshort,youcan'ttestallthethousandsofsoftwareprogramsonyouroperatingsystem,soyouneedtodecidewhichonesarethemostimportanttotest.Thekeywordisimportant.Thecriteriathatmightgointodecidingwhatprogramstochoosecouldbe
∙Popularity.Usesalesdatatoselectthetop100or1,000mostpopularprograms.
∙Age.Youmightwanttoselectprogramsandversionsthatarelessthanthreeyearsold.
∙Type.Breakthesoftwareworldintotypessuchaspainting,writing,accounting,databases,communications,andsoon.Selectsoftwarefromeachcategoryfortesting.
∙Manufacturer.Anothercriteriawouldbetopicksoftwarebasedonthecompanythatcreatedit.
Justasinhardwareconfigurationtesting,thereisnoright"textbook"answer.Youandyourteamwillneedtodecidewhatmattersmostandthenusethatcriteriatocreateequivalencepartitionsofthesoftwareyouneedtotestwith.
Thepreviousexampledealtwithcompatibilitytestinganewoperatingsystemplatform.Thesameissuesapplytotestinganewapplication(seeFigure9.4).Youneedtodecidewhatplatformversionsyoushouldtestyoursoftwareonandwhatothersoftwareapplicationsyoushouldtestyoursoftwarewith.
Figure9.4.Compatibilitytestinganewapplicationmayrequireyoutotestitonmultipleplatformsandwithmultipleapplications.
StandardsandGuidelines
Sofarinthischapteryou'velearnedaboutselectingthesoftwarethatyou'llcompatibilitytestwithyourprogram.Now,it'stimetolookathowyou'llapproachtheactualtesting.Yourfirststopshouldberesearchingtheexistingstandardsandguidelinesthatmightapplytoyoursoftwareortheplatform.
Therearereallytwolevelsoftheserequirements:
high-levelandlow-level.Itmaybeamisnomertorefertothemashighandlow,butinasense,that'sreallywhattheyare.High-levelstandardsaretheonesthatguideyourproduct'sgeneraloperation,itslookandfeel,itssupportedfeatures,andsoon.Low-levelstandardsarethenitty-grittydetails,suchasthefileformatsandthenetworkcommunicationsprotocols.Bothareimportantandbothneedtobetestedtoassurecompatibility.
High-LevelStandardsandGuidelines
WillyoursoftwarerununderWind