Chapter 9 Compatibility TestingWord格式.docx
《Chapter 9 Compatibility TestingWord格式.docx》由会员分享,可在线阅读,更多相关《Chapter 9 Compatibility TestingWord格式.docx(14页珍藏版)》请在冰豆网上搜索。
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.
Thisisabigjob,butit'
sjustanotherexampleofhowequivalencepartitioningcanbeappliedtoreducetheamountofwork.
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