外文翻译软件质量保证方法.docx
《外文翻译软件质量保证方法.docx》由会员分享,可在线阅读,更多相关《外文翻译软件质量保证方法.docx(11页珍藏版)》请在冰点文库上搜索。
外文翻译软件质量保证方法
英文资料翻译
WAYSOFSOFTWAREQUALITYASSURANCE
一、Introductionofsoftwarequalityassurance
Eventhemostjadedsoftwaredeveloperswillagreethathigh-qualitysoftwareisanimportantgoal.Buthowdowedefinequality?
Awagoncesaid,"Everyprogramdoessomethingright,itjustmaynotbethethingthatwewantittodo."
Manydefinitionsofsoftwarequalityhavebeenproposedintheliterature.Forourpurposes,softwarequalityisdefinedas
Conformancetoexplicitlystatedfunctionalandperformancerequirements,explicitlydoc-umenteddevelopmentstandards,andimplicitcharacteristicsthatareexpectedofallpro-fessionallydevelopedsoftware.
Thereislittlequestionthatthisdefinitioncouldbemodifiedorextended.Infact,adefinitivedefinitionofsoftwarequalitycouldbedebatedendlessly.Forthepurposesofthisbook,thedefinitionservestoemphasizethreeimportantpoints:
1)Softwarerequirementsarethefoundationfromwhichqualityismeasured.Lackofconformancetorequirementsislackofquality.
2)Specifiedstandardsdefineasetofdevelopmentcriteriathatguidethemannerinwhichsoftwareisengineered.Ifthecriteriaarenotfollowed,lackofqualitywillalmostsurelyresult.
3)Asetofimplicitrequirementsoftengoesunmentioned(e.g.,thedesireforeaseofuseandgoodmaintainability).Ifsoftwareconformstoitsexplicitrequirementsbutfailstomeetimplicitrequirements,softwarequalityissuspect.
1.BackgroundIssues
Qualityassuranceisanessentialactivityforanybusinessthatproducesproductstobeusedbyothers.Priortothetwentiethcentury,qualityassurancewasthesoleresponsibilityofthecraftspersonwhobuiltaproduct.ThefirstformalqualityassuranceandcontrolfunctionwasintroducedatBellLabsin1916andspreadrapidlythroughoutthemanufacturingworld.Duringthe1940s,moreformalapproachestoqualitycontrolweresuggested.Thesereliedonmeasurementandcontinuousprocessimprovementaskeyelementsofqualitymanagement.
Today,everycompanyhasmechanismstoensurequalityinitsproducts.Infact,explicitstatementsofacompany'sconcernforqualityhavebecomeamarketingployduringthepastfewdecades.
Thehistoryofqualityassuranceinsoftwaredevelopmentparallelsthehistoryofqualityinhardwaremanufacturing.Duringtheearlydaysofcomputing(1950sand1960s),qualitywasthesoleresponsibilityoftheprogrammer.Standardsforqualityassuranceforsoftwarewereintroducedinmilitarycontractsoftwaredevelopmentduringthe1970sandhavespreadrapidlyintosoftwaredevelopmentinthecommercialworld[IEE94].Extendingthedefinitionpresentedearlier,softwarequalityassuranceisa"plannedandsystematicpatternofactions"[SCH98]thatarerequiredtoensurehighqualityinsoftware.Thescopeofqualityassuranceresponsibilitymightbestbecharacterizedbyparaphrasingaonce-popularautomobilecommercial:
"QualityIsJob#1."Theimplicationforsoftwareisthatmanydifferentconstituencieshavesoftwarequalityassuranceresponsibility—softwareengineers,projectmanagers,customers,salespeople,andtheindividualswhoservewithinanSQAgroup.
TheSQAgroupservesasthecustomer'sin-houserepresentative.Thatis,thepeoplewhoperformSQAmustlookatthesoftwarefromthecustomer'spointofview.DoesthesoftwareadequatelymeetthequalityfactorsnotedinChapter19?
Hassoftwaredevelopmentbeenconductedaccordingtopre-establishedstandards?
HavetechnicaldisciplinesproperlyperformedtheirrolesaspartoftheSQAactivity?
TheSQAgroupattemptstoanswertheseandotherquestionstoensurethatsoftwarequalityismaintained.
2.SQAActivities
Softwarequalityassuranceiscomposedofavarietyoftasksassociatedwithtwodifferentconstituencies—thesoftwareengineerswhodotechnicalworkandanSQAgroupthathasresponsibilityforqualityassuranceplanning,oversight,recordkeeping,analysis,andreporting.
Softwareengineersaddressquality(andperformqualityassuranceandqualitycontrolactivities)byapplyingsolidtechnicalmethodsandmeasures,conductingformaltechnicalreviews,andperformingwell-plannedsoftwaretesting.Onlyreviewsarediscussedinthischapter.TechnologytopicsarediscussedinPartsThreethroughFiveofthisbook.
ThecharteroftheSQAgroupistoassistthesoftwareteaminachievingahighqualityendproduct.TheSoftwareEngineeringInstitute[PAU93]recommendsasetofSQAactivitiesthataddressqualityassuranceplanning,oversight,recordkeeping,analysis,andreporting.Theseactivitiesareperformed(orfacilitated)byanindependentSQAgroupthat:
1)PreparesanSQAplanforaproject.Theplanisdevelopedduringprojectplanningandisreviewedbyallinterestedparties.QualityassuranceactivitiesperformedbythesoftwareengineeringteamandtheSQAgrouparegovernedbytheplan.Theplanidentifies:
•evaluationstobeperformed
•auditsandreviewstobeperformed
•standardsthatareapplicabletotheproject
•proceduresforerrorreportingandtracking
•documentstobeproducedbytheSQAgroup
•amountoffeedbackprovidedtothesoftwareprojectteam
2)Participatesinthedevelopmentoftheproject’ssoftwareprocessdescription.Thesoftwareteamselectsaprocessfortheworktobeperformed.TheSQAgroupreviewstheprocessdescriptionforcompliancewithorganizationalpolicy,internalsoftwarestandards,externallyimposedstandards(e.g.,ISO-9001),andotherpartsofthesoftwareprojectplan.
3)Reviewssoftwareengineeringactivitiestoverifycompliancewiththedefinedsoftwareprocess.TheSQAgroupidentifies,documents,andtracksdeviationsfromtheprocessandverifiesthatcorrectionshavebeenmade.
4)Auditsdesignatedsoftwareworkproductstoverifycompliancewiththosedefinedaspartofthesoftwareprocess.TheSQAgroupreviewsselectedworkproducts;identifies,documents,andtracksdeviations;verifiesthatcorrectionshavebeenmade;andperiodicallyreportstheresultsofitsworktotheprojectmanager.
5)Ensuresthatdeviationsinsoftwareworkandworkproductsaredocumentedandhandledaccordingtoadocumentedprocedure.Deviationsmaybeencounteredintheprojectplan,processdescription,applicablestandards,ortechnicalworkproducts.
6)Recordsanynoncomplianceandreportstoseniormanagement.Noncomplianceitemsaretrackeduntiltheyareresolved.Inadditiontotheseactivities,theSQAgroupcoordinatesthecontrolandmanagementofchange(Chapter9)andhelpstocollectandanalyzesoftwaremetrics.
二、SOFTWAREREVIEWS
Softwarereviewsarea"filter"forthesoftwareengineeringprocess.Thatis,reviewsareappliedatvariouspointsduringsoftwaredevelopmentandservetouncovererrorsanddefectsthatcanthenberemoved.Softwarereviews"purify"thesoftwareengineeringactivitiesthatwehavecalledanalysis,design,andcoding.FreedmanandWeinberg[FRE90]discusstheneedforreviewsthisway:
Technicalworkneedsreviewingforthesamereasonthatpencilsneederasers:
Toerrishuman.Thesecondreasonweneedtechnicalreviewsisthatalthoughpeoplearegoodatcatchingsomeoftheirownerrors,largeclassesoferrorsescapetheoriginatormoreeasilythantheyescapeanyoneelse.Thereviewprocessis,therefore,theanswertotheprayerofRobertBurns:
Owadsomepowerthegiftiegiveustoseeourselvesasotherseeus
Areview—anyreview—isawayofusingthediversityofagroupofpeopleto:
1)Pointoutneededimprovementsintheproductofasinglepersonorteam;
2)Confirmthosepartsofaproductinwhichimprovementiseithernotdesiredornotneeded;
3)Achievetechnicalworkofmoreuniform,oratleastmorepredictable,qualitythancanbeachievedwithoutreviews,inordertomaketechnicalworkmoremanageable
Manydifferenttypesofreviewscanbeconductedaspartofsoftwareengineering.Eachhasitsplace.Aninformalmeetingaroundthecoffeemachineisaformofreview,iftechnicalproblemsarediscussed.Aformalpresentationofsoftwaredesigntoanaudienceofcustomers,management,andtechnicalstaffisalsoaformofreview.Inthisbook,however,wefocusontheformaltechnicalreview,sometimescalledawalkthroughoraninspection.Aformaltechnicalreviewisthemosteffectivefilterfromaqualityassurancestandpoint.Conductedbysoftwareengineers(andothers)forsoftwareengineers,theFTRisaneffectivemeansforimprovingsoftwarequality.
1.CostImpactofSoftwareDefects
TheIEEEStandardDictionaryofElectricalandElectronicsTerms(IEEEStandard100-1992)definesadefectas“aproductanomaly.”ThedefinitionforfaultinthehardwarecontextcanbefoundinIEEEStandard610.12-1990:
(a)Adefectinahardwaredeviceorcomponent;forexample,ashortcircuitorbrokenwire.(b)Anincorrectstep,process,ordatadefinitioninacomputerprogram.Note:
Thisdefinitionisusedprimarilybythefaulttolerancediscipline.Incommonusage,theterms"error"and"bug"areusedtoexpressthismeaning.Seealso:
data-sensitivefault;program-sensitivefault;equivalentfaults;faultmasking;intermittentfault.
Withinthecontextofthesoftwareprocess,thetermsdefectandfaultaresynonymous.Bothimplyaqualityproblemthatisdiscoveredafterthesoftwarehasbeenreleasedtoend-users(ortoanotheractivityinthesoftwareprocess).Inearlierchapters,weusedthetermerrortodepictaqualityproblemthatisdiscoveredbysoftwareengineers(orothers)beforethesoftwareisreleasedtotheend-user(ortoanotheractivityinthesoftwareprocess).
Theprimaryobjectiveofformaltechnicalreviewsistofinderrorsduringtheprocesssothattheydonotbecomedefectsafterreleaseofthesoftware.Theobviousbenefitofformaltechnicalrevi