软件测试及软件质量控制课件

上传人:29 文档编号:241580437 上传时间:2024-07-06 格式:PPT 页数:100 大小:465.12KB
返回 下载 相关 举报
软件测试及软件质量控制课件_第1页
第1页 / 共100页
软件测试及软件质量控制课件_第2页
第2页 / 共100页
软件测试及软件质量控制课件_第3页
第3页 / 共100页
点击查看更多>>
资源描述
1 1软件测试及软件软件测试及软件质量控制质量控制 第六章第六章孽急衬笋貌恍尼杰烧西笛怔瑚蛋履矾状疼宇添卸惫砾谨犁怒笛痢致辕挂阔软件测试及软件质量控制软件测试及软件质量控制软件测试及软件质量控制 第六章孽急衬笋貌恍尼杰烧西笛怔瑚蛋履1 12 2 软软件件系系统统的的开开发发过过程程中中,软软件件测测试试占占据据着着重重要要地地位位。尽尽管管人人们们采采取取了了多多种种保保证证软软件件质质量量的的措措施施,由由于于软软件件系系统统的的客客观观复复杂杂性性,人人们们的的主主观观认认识识不不可可能能完完全全符符合合客客观观实实际际,完完美美无无缺缺,每每个个阶阶段段的的技技术术审审查查也也不不可可能能毫毫无无遗遗漏漏地地查查出出和和纠纠正正所所有有的的设设计计和和分分析析上上的的错错误误,在在软软件件生生命命周周期期的的各各个个阶阶段段,都都不不可可避避免免地地会会产产生生差差错错,这这些些差差错错迟迟早早会会在在软软件件的的生生产和使用过程中暴露出来。产和使用过程中暴露出来。篆幕揍雾漾歹箩趴频豌学拔吴室哉腔续汉力这租徊涝呕匈牵香圾矗募捕院软件测试及软件质量控制软件测试及软件质量控制 软件系统的开发过程中,软件测试占据着重要地位。尽2 23 3 软软件件工工程程实实践践的的经经验验表表明明,发发现现软软件件的的时时刻刻越越晚晚,改改正正这这些些错错误误所所花花费费的的代代价价也也越越高高,如如果果在在软软件件投投入入使使用用之之前前没没有有发发现现和和纠纠正正软软件件的的大大部部分分错错误误,人人们们付付出的代价会更高,往往会造成恶劣的后果。出的代价会更高,往往会造成恶劣的后果。从从广广义义上上来来说说,软软件件测测试试工工作作散散布布在在软软件件生生命命周周期期的的各各个个开开发发阶阶段段,人人们们认认识识到到,软软件件测测试试是是保保证证软软件件质质量量的的主主要要手手段段,各各阶阶段段的的评评审审工工作作和和验验证证工工作作,均均是是广广义义概概念念上上的的测测试试工工作作。而而主主要要的的测测试试是是在在编编码码和和测测试试这这两两个个阶阶段段进进行行的的。因因此此,狭狭义义的的软软件件测测试试就就是程序测试。是程序测试。绢骋阑有害酞物车的探滓墨世肚呸设眩胸垄乙台弯妆痘占掂馁活见萤赐舟软件测试及软件质量控制软件测试及软件质量控制 软件工程实践的经验表明,发现软件的时刻越晚,改正3 34 46.1 6.1 软件测试基本概念软件测试基本概念 G.J.MyersG.J.Myers给给出出了了关关于于测测试试的的一一些些规规则则,被被软软件工程领域认可:件工程领域认可:(1 1)测测试试是是为为了了发发现现程程序序中中的的错错误误而而执执行行程程序序的过程;的过程;(2 2)好好的的测测试试方方案案极极有有可可能能发发现现迄迄今今为为止止尚尚未未发现的错误;发现的错误;(3 3)成成功功的的测测试试是是发发现现了了至至今今为为止止尚尚未未发发现现的的错误。错误。利虹跋苇某酋嘘低扼赂您苟威盒甸栏船迹郧核泞毒捌坝哑苑颁刺胎挨父卒软件测试及软件质量控制软件测试及软件质量控制6.1 软件测试基本概念 G.J.Myers给出了关4 45 56.1 6.1 软件测试基本概念软件测试基本概念 这这些些规规则则,实实际际上上是是软软件件测测试试的的狭狭义义概概念念程序测试。程序测试。狭狭义义的的软软件件测测试试:测测试试是是为为了了发发现现错错误误而而执执行行程程序序的的过过程程。是是根根据据软软件件开开发发的的各各个个阶阶段段的的说说明明和和程程序序的的内内部部结结构构而而精精心心设设计计的的一一批批测测试试用用例例(有有输输入入数数据据及及预预期期的的结结果果),并并利利用用这这些些测测试试用用例例执执行行程序及发现错误的过程。程序及发现错误的过程。稳缕涝疼索葬鸥磕酚搬惰涕悯频是汁洗缸逗净兹线径绸谆露酸孩蹄孕滋趾软件测试及软件质量控制软件测试及软件质量控制6.1 软件测试基本概念 这些规则,实际上是软件测5 56 66.1 6.1 软件测试基本概念软件测试基本概念 广广义义的的软软件件测测试试是是对对软软件件计计划划、软软件件系系统统分分析析、软软件件设设计计、软软件件编编码码进进行行的的查查错错活活动动,包包括括代代码码执执行行和和人人工工审审查查活活动动,测测试试的的目目的的是是找找出出软软件件生生命命周周期期的的各各个个阶阶段段的的错错误误,有有利利于于以以后后进进行行修修改改和和纠纠正正。但但测测试试本本身身不不修修正正错错误误,调调试试才才会会修修正正错错误误。即即找找错错的的活活动动是是测测试试;分分析析错错误误的的性性质质与与位位置置,进进行行纠纠错错的的活活动动是是调调试试,保保证证算算法法的的正正确确实实现现。软软件件测测试试与与程程序序测测试试都是查找错误的活动,差别在于查找错误的范围不同。都是查找错误的活动,差别在于查找错误的范围不同。狭相茅畦伞滔哮缚宙舒询蛊帮捡康辜捌胚攘叉寻叁佰赎砚参歉攒磁瘦毋壳软件测试及软件质量控制软件测试及软件质量控制6.1 软件测试基本概念 广义的软件测试是6 67 76.1 6.1 软件测试基本概念软件测试基本概念 由于测试的目标是暴露程序的错误,从心理学角度看,由设计者自己进行测试是不恰当的,设计小组和测试小组应该分别设立,有利于进行客观和公正的软件测试。测试是有限的,由于通常的测试过程不可能穷尽一切情况,即使经过了严格的测试之后,仍然可能存在没有被发现的错误隐藏在程序中,不能证明程序中没有错误。珠永表个舵啼证拦秀鼓真联执宜掘枷醚套借巡舱产仔编惠毯鹤即届卷珠沤软件测试及软件质量控制软件测试及软件质量控制6.1 软件测试基本概念 由于测试的目标是暴露程序的错7 78 86.1 6.1 软件测试基本概念软件测试基本概念 因此,测试仅仅有可能找出程序的错误,测试不能证明程序是正确的。软件工程中所有其它阶段都是“建设性”的,软件工程师力图从抽象概念出发,逐步设计出具体的软件系统,而测试人员的工作表面上看却是“破坏性”的,竭力证明软件中含有错误,不能按预定要求正确工作。凡是进行对比的方式均可理解为测试验证。恋顾斤榨鹰计讼慈恫朵叮辊沸挂竣辜拌拈钾剿剔康圾棚塌设阮灯拙猴侨鼠软件测试及软件质量控制软件测试及软件质量控制6.1 软件测试基本概念 因此,测试仅仅有可能找出程序8 89 96.1.2 6.1.2 软件测试的对象软件测试的对象 软件测试应该贯穿于软件生命期的各个阶段,各阶段的工作是相互衔接、相互影响的,前一阶段发生的问题自然要影响到下一阶段的工作。为了把握各个环节的正确性,人们需要进行各种确认和验证工作。软件确认是广义上的软件测试,它是企图证明软件在一个给定的外部环境中软件的逻辑正确性的一系列活动和过程,如需求说明书的确认、程序的确认等。孝亏卓粗雁靶散晒智焉就吮全宵窖一孜拦炮伊学增休吸听冶嵌牧降简飘估软件测试及软件质量控制软件测试及软件质量控制6.1.2 软件测试的对象 软件测试应该贯穿于9 910106.1.2 6.1.2 软件测试的对象软件测试的对象 程序的确认又分为静态确认与动态确认。静态确认一般不在计算机上执行程序,而是通过程序正确性证明、静态分析或人工分析来确认程序的正确性;动态确认主要通过动态分析和动态测试,用执行程序的过程来检查执行的状态,确认程序是否有问题;暗衰菲吧明冕汪睹于歇娘漳甄屎维讥倪灾选共倔渠侨员解臆砂挡壕瓷顽事软件测试及软件质量控制软件测试及软件质量控制6.1.2 软件测试的对象 程序的确认又分为静态确认与动态确101011116.1.2 6.1.2 软件测试的对象软件测试的对象 正确性证明主要是企图绕过复杂的测试,直接证明程序的正确性。如程序的输入输出断言法。设程序段为S,其前断言为P,后断言为R。如果执行S以前P为真,则执行S后R也为真,则证明S是正确的,记为PSR。仁阀仲捏聚诬国涎严炸亨懒沛灰屿沦付刊桂稿二孩老湛刨嵌凶带帮哦箕子软件测试及软件质量控制软件测试及软件质量控制6.1.2 软件测试的对象 正确性证明主要是企图绕过复111112126.1.2 6.1.2 软件测试的对象软件测试的对象 任何程序总可以分成S1、S2、Sn个结点,对应的断言为R1、R2、Rn,起初R1为输入断言,R2为输出断言,也是下一个输入断言,Rn为最后的输出断言,我们总可以,将S1、S2、Sn逐个证明,自顶向下或自底向上都可证明程序的正确性,该分支已发展为计算机代数学;动愧欺积淮怨狼栅宵谆付休邓登箭帘扳腋厨西稼肇署内酉量搬绝介荧抿始软件测试及软件质量控制软件测试及软件质量控制6.1.2 软件测试的对象 任何程序总可以分成S1、S121213136.1.2 6.1.2 软件测试的对象软件测试的对象 软件验证也属于广义上的软件测试,它试图证明在软件生命期的各个阶段、各阶段的逻辑协调性、完备性和正确性。包括系统分析员理解用户要求的正确性、表达的正确性、设计人员对需求规格说明理解的正确性、设计与设计表达的正确性、程序编码的正确性和运行软件程序时输入的正确性、运行结果的正确性等,运行结果与用户预期的结果是否一致等,这说明任何一个环节上发生了问题都可能在软件测试中表现出来。湘逛漆烛抚仲淮只找捻偏犊谨跃陛了辙续庆渤胖殆惕十匈尔抉袜器拒陷兄软件测试及软件质量控制软件测试及软件质量控制6.1.2 软件测试的对象 软件验证也属于广义上的软件131314146.1.3 6.1.3 测试信息流测试信息流 将测试的过程用数据流图表示,可得测试信息流如图6-1所示。(至软件配置)软件配置 1 测试结果 2 错误 3 修正的软件测试配置 测试结果测试工具 测试 评价 调试 正确 预测结果 出错率 4 数据 可靠性 分析图图6-1 测试信息流测试信息流 彦漠让吐莆羌崎军卷郝赦涕抓湛箭镶沿敞第玖盒泉傻现牙溺殷谁卞嫡疗仓软件测试及软件质量控制软件测试及软件质量控制6.1.3 测试信息流 将测试的过程用数据流图表示,可得141415156.1.3 6.1.3 测试信息流测试信息流 1.测试过程需要三类输入:(1)软件配置:包括软件开发文档(用户文档、需求规格说明、软件设计说明、源程序代码)、目标执行程序、数据结构;(2)测试配置:包括测试计划、测试用例、测试驱动程序等;实际上在整个软件开发过程中,测试配置只是软件配置的一个子集;唆蔓思焰柳钞迟店郝命陇邀赠逼蚂则陇梨物诱藐践嫌采敲姬渊崔蚕茬故很软件测试及软件质量控制软件测试及软件质量控制6.1.3 测试信息流 1.测试过程需要三类输入:唆蔓思焰柳15151616 (3 3)测测试试工工具具:为为提提高高软软件件测测试试效效率率,使使用用测测试试工工具具为为测测试试工工作作服服务务;如如:测测试试数数据据自自动动生生成成程程序序,静静态态分分析析程程序序、动动态态分分析析程程序序、测测试试结结果分析程序及标准例程测试数据库等。果分析程序及标准例程测试数据库等。6.1.3 6.1.3 测试信息流测试信息流裳受郡水戮糊状蓉洪纳梦敞援距辽栗陀疾常丸裕盲氰柿魂劲蹬钞雷头省踏软件测试及软件质量控制软件测试及软件质量控制 (3)测试工具:为提高软件测试效率,使用测试工具为16161717 测试之后,对所有测试结果进行分析,将实测试之后,对所有测试结果进行分析,将实际测试的结果与预期的结果进行比较。如果发现际测试的结果与预期的结果进行比较。如果发现出错的数据,则意味着软件有错误,需要纠错,出错的数据,则意味着软件有错误,需要纠错,应进行调试,确定错误的位置和出错的性质,改应进行调试,确定错误的位置和出错的性质,改正这些错误,同时修正相关文档。修正过的文档正这些错误,同时修正相关文档。修正过的文档一般需经过再次测试,直到通过测试为止。一般需经过再次测试,直到通过测试为止。6.1.3 6.1.3 测试信息流测试信息流幽固陨梅版乃爪卯芒哭睬温帘涡恍出继荡糯馏滑啄肄睹匙无搔滋润卞数昭软件测试及软件质量控制软件测试及软件质量控制 测试之后,对所有测试结果进行分析,将实际测试的17171818 通通过过收收集集和和分分析析测测试试结结果果的的有有关关数数据据,可可以以建立软件评估的可靠性模型。建立软件评估的可靠性模型。如如果果经经常常出出现现需需要要修修改改设设计计的的严严重重错错误误,那那么么软软件件的的质质量量和和可可靠靠性性就就值值得得怀怀疑疑,同同时时也也表表明明需要进一步测试。需要进一步测试。相相反反,如如果果软软件件功功能能能能够够正正确确完完成成,出出现现的的错误易于修改,那么就可能有两种评价:错误易于修改,那么就可能有两种评价:6.1.3 6.1.3 测试信息流测试信息流少狄约群菩绝烂藐捌冷褪还眠容蜂讣肺秃能码中超衰卜糠坦贫洗俭备它绸软件测试及软件质量控制软件测试及软件质量控制 通过收集和分析测试结果的有关数据,可以建立软件评18181919一种是软件的质量和可靠性达到可以接受的程度。一种是软件的质量和可靠性达到可以接受的程度。另一种是所做的测试还不足以发现软件的严重错误。另一种是所做的测试还不足以发现软件的严重错误。如如果果得得到到的的评评价价是是没没有有发发现现错错误误,很很有有可可能能测测试试的的配配置置考考虑虑得得不不够够充充分分和和细细致致,软软件件仍仍有有潜潜伏伏的的错误,以后改正错误需要付出高昂的代价。错误,以后改正错误需要付出高昂的代价。6.1.3 6.1.3 测试信息流测试信息流户硒傻号舟头颈粕敲壶苞旺逃州浅础赖雄划缺捉践迷旬稼士摊依届供痕戌软件测试及软件质量控制软件测试及软件质量控制一种是软件的质量和可靠性达到可以接受的程度。6.1.3 测试19192020 2.2.软件错误可以从不同角度进行分类:软件错误可以从不同角度进行分类:(1 1)从错误对程序的影响程度来分:)从错误对程序的影响程度来分:严严重重性性错错误误:严严重重影影响响程程序序的的运运行行,甚甚至至不能运行;不能运行;一一般般性性错错误误:经经常常影影响响程程序序的的运运行行,特特殊殊情况下表现正常;情况下表现正常;6.1.3 6.1.3 测试信息流测试信息流逆旬靳邓唯轴呻掳隧近抨桓疚幌砸月恼犁蹄夏碌栖赴嗽涧克活稿伦悟瘦哦软件测试及软件质量控制软件测试及软件质量控制 2.软件错误可以从不同角度进行分类:6.1.3 测试信息流20202121 3 微微小小错错误误:一一般般情情况况下下程程序序能能运运行行,特特殊殊情况下表现异常;情况下表现异常;4 无影响性错误:不影响程序的运行。无影响性错误:不影响程序的运行。6.1.3 6.1.3 测试信息流测试信息流顿订俱咙胞目皋贝襄叼刺测结画狰田死沦字奋热晾剪撵耪缠冕粹磐梧谰暴软件测试及软件质量控制软件测试及软件质量控制 微小错误:一般情况下程序能运行,特殊情况下21212222 (2 2)从开发过程的转换环节上分:)从开发过程的转换环节上分:构造错误:编码实现与设计不一致;构造错误:编码实现与设计不一致;设计错误:设计逻辑与说明不一致;设计错误:设计逻辑与说明不一致;说明书错误:说明书与用户要求不一致;说明书错误:说明书与用户要求不一致;需求错误:不满足用户的实际要求;需求错误:不满足用户的实际要求;配置错误:软件配置不满足实际环境。配置错误:软件配置不满足实际环境。6.1.3 6.1.3 测试信息流测试信息流灌审匪赋叛光卞克段扰谊浸龟惨研妇苛侈管扫倔魁虑薯辰镍剔固捷势类兢软件测试及软件质量控制软件测试及软件质量控制(2)从开发过程的转换环节上分:6.1.3 测试信息流灌审22222323(3 3)从测试结果的表现上分类:)从测试结果的表现上分类:1 1)功能错误:由系统需求分析不完整引起的;)功能错误:由系统需求分析不完整引起的;2 2)结构错误:由总体设计的错误引起的;)结构错误:由总体设计的错误引起的;3 3)过程错误:由详细设计的错误引起的;)过程错误:由详细设计的错误引起的;4 4)数据错误:由软件编码或详细设计的错误引起的;)数据错误:由软件编码或详细设计的错误引起的;5 5)编码错误:由软件编码引起的错误;)编码错误:由软件编码引起的错误;6 6)其它错误:由文档和其它系统元素引起的错误;)其它错误:由文档和其它系统元素引起的错误;6.1.3 6.1.3 测试信息流测试信息流击尖慑赣乙饼柯彭炊劣盎儒窜假椎肃穆擞雏访贷巢确颤达喊鬼雹甲恰蕾欺软件测试及软件质量控制软件测试及软件质量控制(3)从测试结果的表现上分类:6.1.3 测试信息流击尖慑赣232324246.1.4 6.1.4 软件测试步骤与软件开发软件测试步骤与软件开发各阶段的关系各阶段的关系软件测试一般分为四个步骤:软件测试一般分为四个步骤:(1 1)单单元元测测试试(也也称称模模块块测测试试):针针对对软软件件设设计计的的基基本本单单元元程程序序模模块块,进进行行正正确确性性检检验验的的测测试试工工作作。目目的的在在于于发发现现各各个个模模块块内内部部可可能能存存在在的的各各种种差差错错。单单元元测测试试需需要要从从程程序序内内部部结结构构出出发发设设计计测测试用例,多个模块可以平行、独立地进行测试;试用例,多个模块可以平行、独立地进行测试;崖陇恕贪钵沥溉大屏铆盅菱歼秆勘窒浪焦危华传幢傀恤裸璃慈世臻獭洗象软件测试及软件质量控制软件测试及软件质量控制6.1.4 软件测试步骤与软件开发各阶段的关系软件测试一般分242425256.1.4 6.1.4 软件测试步骤与软件开发软件测试步骤与软件开发各阶段的关系各阶段的关系 (2)集成测试(也称组装测试,联合测试):在单元测试的基础上,将所有模块按设计要求集成在一起进行测试,以检验总体设计中各模块间的接口设计问题、模块之间的相互影响、上层模块存在的各种差错及全局数据结构对系统的影响等方面。带设绸从迸梆扛祭铱边汪魁稀健技减挤菜茎汹撒卞李蔗屡邓冬兜呸专弄圭软件测试及软件质量控制软件测试及软件质量控制6.1.4 软件测试步骤与软件开发各阶段的关系 (252526266.1.4 6.1.4 软件测试步骤与软件开发软件测试步骤与软件开发各阶段的关系各阶段的关系 (3 3)确确认认测测试试(也也称称验验收收测测试试,有有效效性性测测试试):主主要要检检验验软软件件的的功功能能和和性性能能是是否否与与需需求求说说明明书书中中的的规定一致。规定一致。(4 4)系系统统测测试试:将将软软件件系系统统作作为为一一个个元元素素,放放入入整整个个实实际际的的计计算算机机系系统统中中,与与计计算算机机硬硬件件、其其他他软软件件、使使用用人人员员等等系系统统元元素素结结合合在在一一起起,在在实实际际使使用环境下进行综合全面的测试。用环境下进行综合全面的测试。铂暖夫猪纳差疫躯草器厄统绸糟蹭承驶驶魂呢揽真部倔并棒沤谴坷部趾挽软件测试及软件质量控制软件测试及软件质量控制6.1.4 软件测试步骤与软件开发各阶段的关系 (3262627276.1.4 6.1.4 软件测试步骤与软件开发软件测试步骤与软件开发各阶段的关系各阶段的关系 前面多次强调,使用软件生命期(瀑布模型)前面多次强调,使用软件生命期(瀑布模型)模型,软件开发过程是一个自顶向下,逐步细化的模型,软件开发过程是一个自顶向下,逐步细化的过程,而软件测试过程则是与开发过程相反的次序过程,而软件测试过程则是与开发过程相反的次序进行的,是一个自底向上,逐步集成的过程,低一进行的,是一个自底向上,逐步集成的过程,低一层测试为上一层测试准备测试条件和数据驱动环境,层测试为上一层测试准备测试条件和数据驱动环境,也包含两者平行进行测试。也包含两者平行进行测试。驹敦凹驶蝶念铡佃芒搔坛置怂扎瘫犬黔垦烽雨芥巫祥荒附样舍嘲顷哉夸汽软件测试及软件质量控制软件测试及软件质量控制6.1.4 软件测试步骤与软件开发各阶段的关系 前272728286.1.4 6.1.4 软件测试步骤与软件开发软件测试步骤与软件开发各阶段的关系各阶段的关系 因因此此,发发现现引引起起错错误误的的原原因因顺顺序序也也与与开开发发过过程程的的相相次次序序反反,首首先先对对每每一一个个模模块块进进行行单单元元测测试试,消消除除程程序序模模块块内内部部逻逻辑辑上上和和功功能能上上的的错错误误和和缺缺陷陷,再再对对照照软软件件设设计计进进行行集集成成测测试试(有有时时也也叫叫整整体体测测试试),检检测测和和排排除除子子系系统统或或系系统统结结构构上上的的错错误误,再再对对照照需需求求进进行行确确认认测测试试(也也称称为为有有效效性性测测试试),最最后后进进行行系系统统测测试试,运运行行系系统统,看看软软件件系系统统是是否否满满足足功功能能和和性能及其它要求。性能及其它要求。侥闺熔清叼帖聊泅堆吻洁聂钡耘揖扣峨谷奈巫酞须汁檀羹矿职冗衣纹顺翌软件测试及软件质量控制软件测试及软件质量控制6.1.4 软件测试步骤与软件开发各阶段的关系 因282829296.1.4 6.1.4 软件测试步骤与软件开发软件测试步骤与软件开发各阶段的关系各阶段的关系需求分析软件设计软件编码确认测试集成测试单元测试系统测试图图6-2 6-2 软件测试与软件开发过程间的关系软件测试与软件开发过程间的关系陋限蛋酷伟烁毅怎匿敷昭省蹲暖兔右裹简涧播氢挫妹习榴育褒愈岭谜确峙软件测试及软件质量控制软件测试及软件质量控制6.1.4 软件测试步骤与软件开发各阶段的关系需求分析软件设292930306.1.4 6.1.4 软件测试步骤与软件开发软件测试步骤与软件开发各阶段的关系各阶段的关系需求分析 说明书概要设计 说明书详细设计 说明书源程序 代码确认测试集成测试单元测试系统测试图图6-3 6-3 软件测试与开发文档之间的关系软件测试与开发文档之间的关系化磅骏剖僧环狂撵夏腆闽母趁涝茄谅玩目觉闻凰津梯瀑亨戏抹阅社孝伞椰软件测试及软件质量控制软件测试及软件质量控制6.1.4 软件测试步骤与软件开发各阶段的关系需求分析概要设303031316.1.5 6.1.5 软件测试原则软件测试原则(1 1)将将软软件件测测试试贯贯穿穿于于软软件件开开发发的的各各个个阶阶段段中中,在在开开发发过过程程中中尽尽早早地地发发现现和和预预防防错错误误,杜杜绝绝隐隐患患,提高软件质量;提高软件质量;(2 2)测测试试用用例例必必须须包包含含输输入入数数据据和和与与之之对对应应的的预预期输出结果,精心设计测试用例;期输出结果,精心设计测试用例;(3 3)测试时应避免设计者检查自己设计的程序;)测试时应避免设计者检查自己设计的程序;(4 4)设设计计测测试试用用例例时时,应应包包括括合合理理的的与与不不合合理理的的输入条件;输入条件;眺霓匠留瓤牵妻攀蓄祸筒堰旬粟宠位堑蛾吊酣刽沙皿旋嘎胳往恳筹巡念橡软件测试及软件质量控制软件测试及软件质量控制6.1.5 软件测试原则(1)将软件测试贯穿于软件开发的各个313132326.1.5 6.1.5 软件测试原则软件测试原则(5 5)充充分分注注意意测测试试中中出出现现的的错错误误群群集集现现象象,若若发发现现错错误误数数目目较较多多,则则可可能能残残存存的的错错误误数数目目也也较较多多,这这种种错错误误出出现现的的群群集集现现象象,已已为为许许多多程程序序测测试试实实践所证实;践所证实;(6 6)严严格格执执行行测测试试计计划划,以以软软件件需需求求说说明明书书为为基基准设计测试用例,排除测试的随意性;准设计测试用例,排除测试的随意性;平谅描荐瞥损泡耳解梨泣妻眼探波瞧措沙了檬布挂涸兹黍鸯昆回完膨病盐软件测试及软件质量控制软件测试及软件质量控制6.1.5 软件测试原则(5)充分注意测试中出现的错误群集现323233336.1.5 6.1.5 软件测试原则软件测试原则(7 7)对对每每一一个个测测试试结结果果做做全全面面检检查查,不不能能遗遗漏漏错错误误出出现现的的征征兆兆,软软件件修修改改后后要要进进行行回回归归测测试试,即即用用修修改改前前测测试试过过的的测测试试用用例例进进行行测测试试,再再用用新新的的测试用例测试;测试用例测试;(8 8)妥妥善善保保存存测测试试计计划划、测测试试用用例例、出出错错统统计计数数据和最终分析报告,为维护提供方便。据和最终分析报告,为维护提供方便。在在一一个个程程序序段段中中,还还存存在在着着尚尚未未发发现现的的错错误误概率与已发现的错误数正相关。概率与已发现的错误数正相关。群丸褒聂耕斯停炕晒纱归爪氓逻折骏妈札卸玲钧翘兢毅扛轨拒桂秽蝴篷重软件测试及软件质量控制软件测试及软件质量控制6.1.5 软件测试原则(7)对每一个测试结果做全面检查,不333334346.1.5 6.1.5 软件测试原则软件测试原则残存错误的可能性已发现的错误数图6-4 软件错误的群集现象示意图擒悬辞氯漾押芬颂锋会孔隧摩爽痔缎啊渝阁屈雾智宵书阻想坪服筑搂塘履软件测试及软件质量控制软件测试及软件质量控制6.1.5 软件测试原则残存错误的可能性已发现的错误数图6-343435356.2 6.2 软件测试的方法软件测试的方法 软软件件的的测测试试方方法法很很多多,不不同同的的出出发发点点得得到到不不同同的测试方法。有:的测试方法。有:从测试过程来分:静态分析法、动态测试法;从测试过程来分:静态分析法、动态测试法;从从观观察察结结构构的的透透明明性性方方式式来来分分:白白盒盒法法、黑黑盒盒法法、灰盒法;灰盒法;从从获获得得测测试试数数据据形形式式上上分分:穷穷尽尽法法;等等价价类类划划分分法法;边界值分析法;边界值分析法;狭罕牲菇督宰群庇亏弹嗣真畜味酪喝矩人滔储仆珊沮苦著遂附松酪鹃贰榆软件测试及软件质量控制软件测试及软件质量控制6.2 软件测试的方法 软件的测试方法很多,353536366.2 6.2 软件测试的方法软件测试的方法从逻辑分析上分:因果图法;错误推测法;从测试步骤上分:单元测试、集成测试、确认测试、系统测试等;从考察形式上分:功能测试,逻辑测试;蚕福首阳檄谴瓦看锚何阉甫硬卑德姓洽蛤柯芭畴皑滔嚏诞邯推馅喊低胚问软件测试及软件质量控制软件测试及软件质量控制6.2 软件测试的方法从逻辑分析上分:因果图法;错误推测法;363637376.2 6.2 软件测试的方法软件测试的方法 如如何何测测试试得得更更完完全全、怎怎样样进进行行测测试试用用例例的的设设计计,是是软软件件测测试试中中的的关关键键技技术术。无无论论用用哪哪种种方方法法进进行行测测试试,都都是是设设法法用用较较少少的的测测试试用用例例集集合合测测试试出出程程序序中中较较多多的的潜在错误。潜在错误。静静态态分分析析时时,不不执执行行程程序序,可可对对需需求求分分析析说说明明书书、软软件件设设计计说说明明书书、源源程程序序做做结结构构检检查查、流流图图分分析析、符符号号执执行行来来分分析析软软件件可可能能导导致致的的异异常常情情况况,找找出出软软件件错错误。从测试过程来分:静态分析法、动态测试法;误。从测试过程来分:静态分析法、动态测试法;激蠕卵挟丑昆廉厩没剥充胁纲堑冈讶敝梧引卉浆榜租董绣赘设举干灭召杂软件测试及软件质量控制软件测试及软件质量控制6.2 软件测试的方法 如何测试得更完全373738386.2 6.2 软件测试的方法软件测试的方法 结结构构检检查查是是手手工工分分析析技技术术,对对需需求求说说明明、程程序序设设计计、编编码码、测测试试工工作作进进行行评评议议,虚虚拟拟地地(模模拟拟)执行程序,在评议中发现和检查错误;执行程序,在评议中发现和检查错误;流流图图分分析析是是通通过过分分析析流流程程图图、代代码码结结构构来来检检查查程序错误,便于进行编码分析和测试结果分析;程序错误,便于进行编码分析和测试结果分析;饼膀苦畔酌墅他肺撂老谱位腐率盟啼肝孝图铜沸还撑怨耿捞啡资稿识俯籽软件测试及软件质量控制软件测试及软件质量控制6.2 软件测试的方法 结构检查是手工分析技术,对383839396.2 6.2 软件测试的方法软件测试的方法 符符号号执执行行是是定定义义符符号号化化数数据据,为为程程序序的的每每条条路路径径给给出出符符号号表表达达式式,对对特特定定路路径径输输入入符符号号,经经处处理理输输出出符符号号,判判断断程程序序的的行行为为是是否否错错误误,这这种种方方法法复复杂,易出错,较少使用。杂,易出错,较少使用。灰灰盒盒法法是是白白盒盒法法和和黑黑盒盒法法相相结结合合使使用用的的方方法法,仅仅对对重重点点路路径径和和程程序序段段用用白白盒盒法法测测试试,大大部部分分用用黑黑盒法进行测试。盒法进行测试。所未当铜毯讥佳奉捍肝狈抨穆稀梢元逆漂赦揣夯西带躲蓬症友氖傈剃挎貌软件测试及软件质量控制软件测试及软件质量控制6.2 软件测试的方法 符号执行是定义符393940406.2 6.2 软件测试的方法软件测试的方法 动动态态测测试试是是直直接接执执行行程程序序进进行行测测试试,包包括括功功能能测测试试、接接口口测测试试和和结结构构测测试试,观观察察程程序序的的行行为为,记记录录执执行行的的结结果果,从从执执行行结结果果来来分分析析程程序序可可能能出出现现的的错误;错误;有有些些人人设设想想,不不管管使使用用那那种种测测试试方方法法,只只要要对对每每一一种种可可能能发发生生的的情情况况都都进进行行测测试试,能能正正确确通通过过,就可以得到完全正确的程序。就可以得到完全正确的程序。敬胖栅氛抄哥泌手珐马契庚弓娃拙艘险砌控涡扇甄肩朱籍腔亨商子届挥歧软件测试及软件质量控制软件测试及软件质量控制6.2 软件测试的方法 动态测试是直接执404041416.2 6.2 软件测试的方法软件测试的方法 包包含含所所有有可可能能情情况况的的测测试试称称为为穷穷尽尽测测试试,实实际际上上,通通常常不不可可能能做做到到穷穷尽尽测测试试。因因为为各各种种输输入入数数据据的的排排列列组组合合情情况况往往往往多多到到无无法法实实际际测测试试完完成成的的程程度度。如如用用黑黑盒盒法法测测试试三三个个整整数数型型的的输输入入数数据据,如如果果每每个个整数是整数是1616位二进制数,则输入数据有位二进制数,则输入数据有 2 21616221616221616=2=248482.8102.8101414种排列组合。种排列组合。玲著茶焚禁翻痔送幅金颓韩冤枕蝴俯巡价希驮筑志孟醚域陕蜂祝礼包衙矫软件测试及软件质量控制软件测试及软件质量控制6.2 软件测试的方法 包含所有可能情况的测试称为414142426.2 6.2 软件测试的方法软件测试的方法 如如果果每每测测试试一一次次需需要要1 1毫毫秒秒,测测试试完完毕毕这这些些排排列列组组合合的的各各种种情情况况需需要要一一万万年年,另另外外还还需需测测试试不不合合法法的的输输入入情情况况,实实际际上上不不可可能能穷穷尽尽所所有有组组合合情情况况。因此,一般的软件测试是有限测试。因此,一般的软件测试是有限测试。Alpha()Alpha()测测试试:通通用用软软件件产产品品为为了了征征集集用用户户的的意意见见,在在开开发发者者的的场场所所,由由用用户户进进行行的的测测试试,记记录用户发现的错误和问题。录用户发现的错误和问题。桐魂顶睡冯予蛮热乔张今原坊各伴特韶破镐攫段镀蟹峭关咳龙滨矾润验等软件测试及软件质量控制软件测试及软件质量控制6.2 软件测试的方法 如果每测试一次需要1毫秒,424243436.2 6.2 软件测试的方法软件测试的方法 Beta()Beta()测测试试:在在一一个个或或多多个个用用户户自自己己的的场场所所,由由最最终终用用户户进进行行,并并记记录录在在测测试试中中遇遇到到的的所所有有问问题题和想法。和想法。重要的通用软件产品,大多经过重要的通用软件产品,大多经过和和测试。测试。尘瘩看阁波葛诵践隋松考碘凄甫赐着界夹典长拘韭筒羔艳番炽瓣肚笺桩沃软件测试及软件质量控制软件测试及软件质量控制6.2 软件测试的方法 Beta()测试:在一个434344446.3 6.3 测试方案与测试用例测试方案与测试用例 设计测试方案是软件测试中的关键问题。测试设计测试方案是软件测试中的关键问题。测试方案包括预定要测试的功能、结构,应该要输入的方案包括预定要测试的功能、结构,应该要输入的测试数据和输入这些数据后预期的结果测试数据和输入这些数据后预期的结果测试用测试用例。测试用例的设计是其中较困难的问题,不同的例。测试用例的设计是其中较困难的问题,不同的测试数据发现程序错误的能力差别很大,为了提高测试数据发现程序错误的能力差别很大,为了提高测试效率,降低测试成本,应该选用高效的测试数测试效率,降低测试成本,应该选用高效的测试数据。因为不可能进行穷尽测试,选用少量高效的测据。因为不可能进行穷尽测试,选用少量高效的测试数据,进行尽可能完备的测试就显得更重要了。试数据,进行尽可能完备的测试就显得更重要了。稠涅讽旋奢蝉贞置掠杆惑架陀戒琅钡挽瑚撕茫汛盟尸遗六固战捍抿篙陋品软件测试及软件质量控制软件测试及软件质量控制6.3 测试方案与测试用例 设计测试方444445456.3 6.3 测试方案与测试用例测试方案与测试用例 设设计计测测试试方方案案的的基基本本目目标标是是,确确定定一一组组最最有有可可能能发发现现某某个个或或某某类类错错误误的的测测试试用用例例。有有多多种种测测试试技技术术,同同一一种种测测试试技技术术在在不不同同的的应应用用场场合合效效果果可可能能相相差差很很大大,因因此此,通通常常需需要要联联合合使使用用多多种种测测试试技技术术来来设设计计测试用例。测试用例。通通常常的的做做法法是是用用黑黑盒盒法法设设计计基基本本测测试试方方案案,再再用白盒法补充一些方案。用白盒法补充一些方案。蕊冬磨顺辈醛框字塌煌底簧摩理柴歧筛翼皱遗亥羚吮熊淤忠些矗其人沈当软件测试及软件质量控制软件测试及软件质量控制6.3 测试方案与测试用例 设计测试方案45454646 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)白白盒盒法法也也称称逻逻辑辑驱驱动动法法(逻逻辑辑覆覆盖盖法法),从从软软件件的的具具体体逻逻辑辑结结构构和和执执行行路路径径出出发发,设设计计测测试试用用例例。具具有有语语句句覆覆盖盖、判判定定覆覆盖盖(分分支支覆覆盖盖)、条条件件覆覆盖盖、判判定定/条条件件覆覆盖盖、路路径径覆覆盖盖、条条件件组组合合覆覆盖盖、点点覆覆盖、边覆盖,下面以一个经典例子分别介绍:盖、边覆盖,下面以一个经典例子分别介绍:设有某个算法片段的程序流程图如下:设有某个算法片段的程序流程图如下:沈庐氨甥臭俯兑土闺运裕赵殿垢瓷闻愿搭提蠕铸流印窑追革蔗嘿睁妆阅艳软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)白盒法也称逻辑驱动46464747 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)图图6-5程序段程序框图程序段程序框图(A1)AND(B=0)(A=2)OR(X1)X=X/AX=X+1abcdeTT殿孵亏日反明恰虱执候给恋紫禹巳县惦夕腰搔奢涉嘎傍跪逛袋链葵泽表诣软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)图6-5程序段程序框图(A47474848 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)该程序片段有四条路径:该程序片段有四条路径:abd,acd,ace,aedabd,acd,ace,aed。(1)(1)语语句句覆覆盖盖:选选择择足足够够的的测测试试用用例例使使程程序序中中每每条条语句至少执行一次。语句至少执行一次。为为了了使使每每个个语语句句都都执执行行一一次次,程程序序的的执执行行路路径径只只需需经经过过a a、b b、c c、d d、e e各各点点即即可可。如如果果选选择择路路径径aceace,则能保证程序中的语句都执行一次。,则能保证程序中的语句都执行一次。吏坞岗箭频怪汇佰您祁法帽咀蓑辫邦萧娇嵌誊聘遏婉锗战京攻瓶镭儡丈针软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)该程序片段有四条路径:abd,48484949 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)例例如如,选选择择测测试试用用例例:A=2,B=0,X=3,A=2,B=0,X=3,预预 期期的的 结结 果果 为为:A=2,B=0,X=2.5A=2,B=0,X=2.5;但但是是,许许多多路路径径得得不不到到测测试试,这这种种测试很不充分。测试很不充分。图图6-5程序段程序框图程序段程序框图(A1)AND(B=0)(A=2)OR(X1)X=X/AX=X+1abcdeTT钙吓锯被郭葫肇列伞甄亏清肌浴楔爽悸肆苍桓哗医羡理恩左牟阑效裁希茂软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)例如,选择测试用例:49495050 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)(2)(2)判判定定覆覆盖盖(也也称称分分支支覆覆盖盖):判判定定是是一一个个逻逻辑辑表表达达式式的的结结果果。选选择择足足够够的的测测试试用用例例,使使程程序序中中每每个个判判定定至至少少都都能能获获得得一一次次“真真”值值和和一一次次“假假”值值,从从而而使程序的每个判定的每个分支至少都执行一次。使程序的每个判定的每个分支至少都执行一次。例例如如,选选择择测测试试用用例例:A=3,B=0,X=3,A=3,B=0,X=3,预预期期结结果果为为:A=3,B=0,X=1;A=3,B=0,X=1;选选 择择 测测 试试 用用 例例:A=2,B=1,X=0,A=2,B=1,X=0,预预 期期 结结 果果 为为:A=2,B=1,X=1;A=2,B=1,X=1;巩芍萤联锑陆不这泉洋宠痊智宁螟赂茹避钻鸳敏革酞敢得吾坟参判任扑乳软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)(2)判定覆盖(也称分支覆盖50505151 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)这这组组测测试试用用例例覆覆盖盖了了路路径径acdacd和和aed aed,满满足足了了判判定定覆覆盖盖要要求求。判判定定覆覆盖盖比比语语句句覆覆盖盖强强,但但是是判判定定覆覆盖盖只只关关心心整整个个判判定定表表达达式式的的值值,对对程程序序逻逻辑辑的的覆覆盖盖程程度度仍仍然然不不高高,如如上上面面的的测测试试,只只覆覆盖盖了了全全部部路路径径的一半路径。的一半路径。傅嗣咕碎烽莱抨鲤羹耀蛾玻芍聪干模菏刃鲤豁数那夫甄抽蛔茄壬掇袜复歧软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)这组测试用例覆盖了51515252 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)(3)(3)条条件件覆覆盖盖:条条件件为为逻逻辑辑表表达达式式中中的的各各个个逻逻辑辑分分量量。选选择择足足够够的的测测试试用用例例,使使得得程程序序判判定定中中的的每每个个条件都能获得各种可能的结果。条件都能获得各种可能的结果。如如图图6-56-5中中,有有四四个个条条件件:A1,B=0,A=2,X1,A1,B=0,A=2,X1,每每个个条条件件可可能能出出现现的的各各种种结结果果为为:a a点点出出现现:A1,A1;B=0,B0;A1,A1;B=0,B0;b b点出现:点出现:A=2,A2;X1,X1;A=2,A2;X1,X1;耗摘鄂谅衰敛贿验闪可调络殉借篡忍犁淀震浅谨右踩滴宣瘪协攘圆狐七恭软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)(3)条件覆盖:条件为逻辑表52525353 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)例例如如,选选择择测测试试用用例例:A=2,B=0,X=4,A=2,B=0,X=4,预预期期结结果果为为:A=2,B=0,X=3;A=2,B=0,X=3;选选 择择 测测 试试 用用 例例:A=1,B=1,X=1,A=1,B=1,X=1,预预 期期 结结 果果 为为:A=1,B=1,X=1;A=1,B=1,X=1;这这组组测测试试用用例例覆覆盖盖了了路路径径acdacd,aed aed 和和abd abd,满满足足了了条条件件覆覆盖盖要要求求。条条件件覆覆盖盖比比判判定定覆覆盖盖强强,它它使使判判定表达式中的每个条件都取得了两个不同的结果。定表达式中的每个条件都取得了两个不同的结果。咙我泞央纬扯摈嗜瘪寨晴苫蛾渔芹舍隧唱授朱锤篡材件娘遭台免轿跨椽腑软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)例如,选择测试用例53535454 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)但但也也有有相相反反的的情情况况,每每个个条条件件虽虽然然取取得得两两个个不不同同的的结结果果,判判定定表表达达式式却却始始终终只只取取一一个个值值,例例如如:取取数数据:据:A=2,B=0,X=1;A=2,B=0,X=1;满满足足A1,B=0,A=2,X1A1,B=0,A=2,X1的的条条件件,执执行行路径路径aceace;A=1,B=1,X=2;A=1,B=1,X=2;满满足足A1,B0,A2,X1A1,B0,A2,X1的的条条件件,执执行路径行路径abd;abd;满满足足了了条条件件覆覆盖盖,却却不不满满足足判判定定覆覆盖盖,第第二二个个判判定表达式的值总为真。定表达式的值总为真。破哦炎紊原笨桑龟悯圭塌众寂伪沟刷阐厕学儿诚县卑苯官憾宜邻柳运凶丰软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)但也有相反的情况,54545555 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)(4)(4)判判定定/条条件件覆覆盖盖:选选择择足足够够的的测测试试用用例例,使使得得程程序序判判定定中中的的每每个个条条件件都都能能获获得得各各种种可可能能的的结结果果,并并且使得每个判定都取得各种可能的结果。且使得每个判定都取得各种可能的结果。例例如如,选选择择测测试试用用例例:A=2,B=0,X=4,A=2,B=0,X=4,预预期期结结果果为:为:A=2,B=0,X=3;A=2,B=0,X=3;选选择择测测试试用用例例:A=1,B=1,X=1,A=1,B=1,X=1,预预期期结结果果为为:A=1,B=1,X=1;A=1,B=1,X=1;垄会肿涨图蚀睹瓢教哲账地潘个躲迪极耽用竭黍秘隙搂剧戳收汀俞缎荆梗软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)(4)判定/条件覆盖:选择足55555656 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)这组测试用例覆盖了路径这组测试用例覆盖了路径acdacd,aed aed 和和abd,abd,满满足了判定足了判定/条件覆盖要求。但它也并不比条件覆盖条件覆盖要求。但它也并不比条件覆盖更强。更强。侗豫乖积垂专终屑碍徘乳宴经荡割卉韧磊角秧矛古寝本荫姆蔑琅蒋拴困霞软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)这组测试用例覆盖了路56565757 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)(5 5)条条件件组组合合覆覆盖盖:选选择择足足够够的的测测试试用用例例,使使得得程序判定中的条件的各种可能组合都至少出现一次。程序判定中的条件的各种可能组合都至少出现一次。如如图图6-56-5中中,需需要要测测试试覆覆盖盖条条件件组组合合的的下下述述八八种情况:种情况:1)1)A1,B=0 A1,B=0;2)2)A1,B0;A1,B0;3)3)A1,B=0;A1,B=0;4 4)A1,B0;A1,B0;5)5)A=2,X1 A=2,X1 6)6)A=2,X=1 A=2,X1 8)A2,X17)A2,X1 8)A2,X1至孪荡重绘障潘躲愁搅鸡店菠罕玩榔进蓝吩愤喻甄憎阳作自蜕昨膏联针艺软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)(5)条件组合覆盖:选择足够的57575858 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)用用A=2,B=0,X=4,A=2,B=0,X=4,预预期期结结果果:A=2,B=0,X=3,A=2,B=0,X=3,覆覆盖盖情况情况1 1)、)、5 5););用用A=2,B=1,X=1,A=2,B=1,X=1,预预期期结结果果:A=2,B=1,X=2,A=2,B=1,X=2,覆覆盖盖情况情况2 2)、)、6 6)用用A=1,B=0,X=2,A=1,B=0,X=2,预预期期结结果果:A=1,B=0,X=3,A=1,B=0,X=3,覆覆盖盖情况情况 3)3)、7)7)用用A=1,B=1,C=1,A=1,B=1,C=1,预预期期结结果果:A=1,B=1,X=1,A=1,B=1,X=1,覆覆盖盖情况情况 4)4)、8)8)揭钝冰脑蛇缕磁迎纺疯皖述窒毖穿酮材烂蔚窑滤炸肿许辖诱仟行曳室轧猎软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)用A=2,B=0,X=4,58585959 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)条条件件组组合合覆覆盖盖是是最最强强的的覆覆盖盖,虽虽然然这这四四个个测测试试实实现现了了条条件件组组合合覆覆盖盖,但但并并没没有有覆覆盖盖每每一一条条路路径径,如:路径如:路径acdacd遗漏了。遗漏了。以以上上各各种种技技术术基基本本上上是是依依次次增增强强的的顺顺序序,但但测测试试用例的数量也急剧增加。开销大,应注意权衡。用例的数量也急剧增加。开销大,应注意权衡。章芥中君寞技幼漳说添繁您砌糜爬堤逼第功鸦征笔幸杉患厌黑捐哑鼎邦敛软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)条件组合覆盖是最强59596060 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)(6)(6)点点覆覆盖盖:图图论论中中的的点点覆覆盖盖定定义义为为:如如果果连连通通图图G G的的子子图图GG是是连连通通的的,而而且且包包含含G G的的所所有有节节点点,则则称称GG是是G G的的点点覆覆盖盖。如如果果把把程程序序流流程程图图的的每每个个处处理理框框(含含一一个个或或多多个个语语句句)作作为为一一个个节节点点,就就画画出出了了程程序序图图。满满足足点点覆覆盖盖的的要要求求是是选选取取足足够够多多的的测测试试用用例例,测测试试执执行行程程序序时时的的路路径径,至至少少经经过过程程序序图图的的每每个个节节点点一一次次。显然,点覆盖的要求和语句覆盖的要求是相同的。显然,点覆盖的要求和语句覆盖的要求是相同的。帮何晾弟可踊掸单淮垢氖啡迸物雨猾民利函寅冻硷台申含响潜俗娠隶平唾软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)(6)点覆盖:图论中的点覆盖定60606161 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)(7)(7)边边覆覆盖盖:图图论论中中的的边边覆覆盖盖定定义义为为:如如果果连连通通图图G G的的子子图图GG是是连连通通的的,而而且且包包含含G G的的所所有有边边,则则称称GG是是G G的的边边覆覆盖盖。为为了了满满足足边边覆覆盖盖的的测测试试要要求求,使使得得程程序序的的执执行行路路径径经经过过程程序序图图中中的的每每一一条条边边。通通常边覆盖和判定覆盖是一致的。常边覆盖和判定覆盖是一致的。堕虾杀犀郊辰德塌锡情资沤讹忌添狂裸塌宦胆睫录衬录滴蛔厅柔瓜错衣烙软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)(7)边覆盖:图论61616262 6.4 6.4 白盒法(逻辑覆盖)白盒法(逻辑覆盖)(8)(8)路路径径覆覆盖盖:选选择择足足够够的的测测试试用用例例,使使得得程程序序中中的的每每条条可可能能组组合合路路径径都都至至少少执执行行一一次次。(如如果果程程序序图图中中有有环环,则则每每个个环环至至少少经经过过一一次次。)它它是是相相当当强强的的逻逻辑辑覆覆盖盖标标准准,选选择择的的测测试试用用例例更更具具有有代代表表性,暴露错误的能力也更强。性,暴露错误的能力也更强。痈胰淑势倚览岸鸽浚欢捻低逮屉壕羹棍匡扭膳絮檀坪刷壕溜膊癌茨监斌涤软件测试及软件质量控制软件测试及软件质量控制 6.4 白盒法(逻辑覆盖)(8)路径覆盖:选62626363 6.4 6.4 黑盒法(逻辑覆盖)黑盒法(逻辑覆盖)黑黑盒盒测测试试法法把把程程序序看看成成是是一一个个黑黑盒盒子子,不不考考虑虑程程序序内内部部的的执执行行过过程程,着着眼眼于于外外部部特特性
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!