欢迎来到天天文库
浏览记录
ID:39320698
大小:492.00 KB
页数:116页
时间:2019-06-30
《Chapter13软件测试技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter13软件测试技术SoftwareTestingTechniques13.1SoftwareTestingTestingistheprocessofexercisingaprogramwiththespecificintentoffindingerrorspriortodeliverytotheenduser.TestabilityOperability—itoperatescleanlyObservability—theresultsofeachtestcasearereadilyobservedCont
2、rolability—thedegreetowhichtestingcanbeautomatedandoptimizedDecomposability—testingcanbetargetedSimplicity—reducecomplexarchitectureandlogictosimplifytestsStability—fewchangesarerequestedduringtestingUnderstandability—ofthedesignWhatTestingShowserrorsrequirement
3、sconformanceperformanceanindicationofqualityWhoTeststheSoftware?developerindependenttesterUnderstandsthesystembut,willtest"gently"and,isdrivenby"delivery"Mustlearnaboutthesystem,but,willattempttobreakitand,isdrivenbyqualityExhaustiveTestingloop<20XThereare10poss
4、iblepaths!Ifweexecuteonetestpermillisecond,itwouldtake3,170yearstotestthisprogram!!14SelectiveTestingloop<20XSelectedpath13.2测试技术分类静态测试代码会审codeinspection走查walk-through办公桌检查deskchecking例如:Yourdon结构化走通、IBM的Fagan检查动态测试黑盒测试白盒测试静态测试定义:人工方式进行的代码复审。又称人工测试,代码复审。目的:检查程序的
5、静态结构,找出编译不能发现的错误和人的主观认识上的偏差。范围:需求定义、设计文档、源代码(着重分析)特点:Myers的研究表明,对于某些类型的错误,静态测试更有效。经验表明,组织良好的代码复审可以发现程序中30%到70%的编码和逻辑设计错误。不存在错误定位问题。动态测试定义:机器测试,在设定的测试数据上执行被测试程序的过程。目的:通过执行程序代码动态地验证结果的正确性。三个过程:设计测试用例;执行被测试程序;分析执行结果并发现错误。两个方面:在测试数据上程序是对的;测试数据是正确的SoftwareTestingMeth
6、odsStrategieswhite-boxmethodsblack-boxmethodsTestCaseDesign"Bugslurkincornersandcongregateatboundaries..."BorisBeizerOBJECTIVECRITERIACONSTRAINTtouncovererrorsinacompletemannerwithaminimumofeffortandtime13.3白盒测试White-BoxTesting...ourgoalistoensurethatallstatemen
7、tsandconditionshavebeenexecutedatleastonce...WhyCover?logicerrorsandincorrectassumptionsareinverselyproportionaltoapath'sexecutionprobabilityweoftenbelievethatapathisnotlikelytobeexecuted;infact,realityisoftencounterintuitivetypographicalerrorsarerandom;it'slike
8、lythatuntestedpathswillcontainsome逻辑覆盖(LogicCoverage)语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。PROCEXPA(A,B,X:REAL);BEGINIF(A>1ANDB=0)THENX=X/A;IF(A=2
此文档下载收益归作者所有