Testing and Quality Assurance for Component-Based Software ForalistingofrecenttitlesintheArtechHouseComputingLibrary, turntothebackofthisbook. Testing and Quality Assurance for Component-Based Software Jerry Zeyu Gao H.-S. Jacob Tsao Ye Wu Artech House Boston • London www.artechhouse.com LibraryofCongressCataloging-in-PublicationData Gao,Jerry. Testingandqualityassuranceforcomponent-basedsoftware/JerryZeyuGao,H.-S. JacobTsao,YeWu. p. cm.—(ArtechHousecomputinglibrary) Includesbibliographicalreferencesandindex. ISBN1-58053-480-5 (alk.paper) 1.Computersoftware—Qualitycontrol. 2.Computersoftware—Testing. I.Tsao,H.-S.J. II.Wu,Ye. III. Title. IV.ArtechHousecomputerlibrary. QA76.76.Q35G382033 005.1’4—dc22 2003057725 BritishLibraryCataloguinginPublicationData Gao,Jerry. Testingandqualityassuranceforcomponent-basedsoftware. —(ArtechHousecomputinglibrary) 1.Componentsoftware—Testing 2.Computersoftwareindustry—Qualitycontrol I.Title II.Tsao,H.-S.J.(H.-S.Jacob) III.Wu,Ye 005.3’0287 ISBN1-58053-480-5 CoverdesignbyIgorVeldman ©2003ARTECHHOUSE,INC. 685CantonStreet Norwood,MA02062 ThefollowingareregisteredintheU.S.PatentandTrademarkOfficebyCarnegieMellonUniversity:Capability MaturityModelandCMM.TestingMaturityModelSMandTMMSMareservicemarksoftheIllinoisInstituteof Technology. Allrightsreserved.PrintedandboundintheUnitedStatesofAmerica.Nopartofthisbookmaybereproducedor utilizedinanyformorbyanymeans,electronicormechanical,includingphotocopying,recording,orbyanyinfor- mationstorageandretrievalsystem,withoutpermissioninwritingfromthepublisher. Alltermsmentionedinthisbookthatareknowntobetrademarksorservicemarkshavebeenappropriatelycapi- talized.ArtechHousecannotattesttotheaccuracyofthisinformation.Useofaterminthisbookshouldnotbe regardedasaffectingthevalidityofanytrademarkorservicemark. InternationalStandardBookNumber:1-58053-480-5 LibraryofCongressCatalogCardNumber:2003057725 10987654321 TomywifeTraceyandmylovelysonKevin TomyparentsMingGaoandYeFangQin —Jerry Zeyu Gao TomymotherShu-WenPao,mybrotherHsiao-TzuTsao, mywifeHueylian,andmychildrenAllisonandJason —H.-S. Jacob Tsao TomywifeWanjieandtomylovelydaughterYaYa —Ye Wu . Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Whatisthisbookabout? xvii Whyhasreuseofthird-partysoftwarecomponentsbecome popularrecently? xviii Whyistestingsoftwarecomponentsandcomponent-based softwareimportant? xviii Bookorganization xix Isthisbookforyou? xx Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . xxi I Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 Introductiontosoftwarecomponents . . . . . . . . . . . . . . 3 1.1 Theevolutionofsoftwarecomponents 3 1.2 Whyissoftwarecomponentreuseimportant? 5 1.3 Whatisasoftwarecomponent? 6 1.4 PropertiesofsoftwarecomponentsinCBSE 8 1.5 Basicelementsofsoftwarecomponents 11 1.6 SoftwaremodulesversussoftwarecomponentsinCBSE 13 1.7 Anengineeringprocessforsoftwarecomponents 17 vii viii Contents 1.8 Questions,concerns,andneedsincomponentvalidation andqualitycontrol 19 1.9 Summary 21 References 22 2 Softwarecomponenttesting . . . . . . . . . . . . . . . . . . 25 2.1 Componenttestingbackground 26 2.2 ComponenttestinginCBSE 28 2.2.1 Vendor-orientedcomponenttesting 29 2.2.2 User-orientedcomponenttesting 30 2.3 IssuesandchallengesofcomponenttestinginCBSE 34 2.3.1 Issuesandchallengesinuser-orientedcomponentvalidation 35 2.3.2 Issuesandchallengesinvendor-orientedcomponenttesting 38 2.4 Componenttestingmythsandotherneeds 41 2.5 Summary 44 References 44 3 Introductiontocomponent-basedsoftware. . . . . . . . . . 47 3.1 Introduction 47 3.2 Component-basedsoftwareversustraditionalprograms 49 3.2.1 Propertiesofcomponent-basedsoftware 49 3.2.2 Component-basedsoftwareversustraditionalprograms 53 3.3 Component-basedsoftwareinfrastructure:componentmodel 55 3.4 Engineeringprocessforcomponent-basedsoftware 58 3.4.1 Processmodelsfortraditionalsoftware 58 3.4.2 Aprocessmodelforcomponent-basedsoftware 60 References 65 4 Testingcomponent-basedsoftware . . . . . . . . . . . . . . 67 4.1 Introduction 68 4.2 Issuesandchallengesoftestingandmaintaining component-basedsoftware 69 4.2.1 Why is adequate testing for component-based software necessary? 69 Contents ix 4.2.2 Difficulties in adequate testing and maintenance for component-basedsoftware 71 4.3 Testingmodelforcomponent-basedsoftware 75 4.3.1 Interactionmodel 75 4.3.2 Behaviormodel 77 4.4 Testingandmaintenancemethodologies 79 4.5 Enterprise-basedtestprocessforcomponent-basedsoftware 80 4.6 Summary 81 References 82 5 Testabilityofsoftwarecomponents . . . . . . . . . . . . . . 85 5.1 Basicconceptsofsoftwaretestability 86 5.2 Understandingcomponenttestability 90 5.2.1 Componentunderstandability 91 5.2.2 Componentobservability 91 5.2.3 Componenttraceability 92 5.2.4 Componentcontrollability 95 5.2.5 Testsupportcapability 96 5.3 Designfortestabilityofsoftwarecomponents 98 5.3.1 Understandingoftestablesoftwarecomponents 98 5.3.2 Methodstoincreasecomponenttestability 100 5.3.3 Currentresearcheffortsonbuildingtestablecomponents 102 5.4 Verificationandevaluationofcomponenttestability 105 5.4.1 Staticverificationapproach 107 5.4.2 Statisticverificationapproach 107 5.5 Softwaretestabilitymeasurement 109 5.5.1 Whatissoftwaretestabilitymeasurement? 109 5.5.2 Howtomeasuresoftwaretestability 110 5.6 Summary 113 References 114 II Validationmethodsforsoftwarecomponents . . . . . . . . 117 6 Black-boxtestingmethodsforsoftwarecomponents. . . . 119 6.1 Introduction 119 6.2 Black-boxtestingfoundations 122
Description: