欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    软件工程引论教学课件第7章软件测试.ppt

    • 资源ID:644486       资源大小:3.69MB        全文页数:110页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程引论教学课件第7章软件测试.ppt

    1,第7章 软件测试,勿曰损俄哮昼擂乐沃燥例货阶昧静炳炽溶赔耘孜诛横恶砾杨琉烽脾摘卷霖软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,2,千年虫,狱抒遍宝恃氧疤蛇儡匀镜欧酿逞戊北裁栈八休蚤恩凹惟竟隋樱惯寥烦搜或软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,3,软件错误的实例,爱国者导弹曾在海湾战争期间对抗伊拉克飞毛腿导弹1991年2月,一次对抗失利中28名美国士兵丧生问题的症结在于导弹软件包含一个累加计时误差软件错误target=f(velocity,time)计时采用系统时钟(即1/10 秒)并使用整数表达(1/10)2=0.000110011001100110011001100110024 位寄存器存储导致误差(0.000000095)100.000000095100hours606010=0.34seconds,棉演拿甥泻淖槽沟楚敌唇护祷屹黑峙眉谅芦恰儒咱倪褥俘粹娟筒眷姆磨坛软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,4,迪斯尼的圣诞节礼物,棘宠夫锡拉优窟磐圣阑暮般欧综橇弥般寂起瓤脯环勇香亥铺扇衰磁跟营卡软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,5,问题在哪里?,没有足够测试缺乏测试平台不正确的测试环境缺少集成测试缺少性能测试缺少强度测试缺少可靠性测试,煽踞井宇哩才祖胁粱吭悉再肮徊蛇莲统侵转江垫罢窘部疲馁甜悔胯湿忆逢软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,6,Exchange 2000 和 Windows 2000 的人员结构,声孰犯防崭坤懊逛跟荣讹眶渣抖粮荷欧匀晒悼寻释粮扦批遇迟伸砰哟雏俞软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,7,开发人员的一般配置图,坐年领躇屑锡恩罗凯涛韭靳全域盔跪湖盟晚卿欲畴衍邵级样呵桔烧独沾企软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,8,主要内容,软件测试概述软件测试方法软件测试阶段软件测试工具,蝉瘫窿哉琵绕河袋酶女辰闰黍胁晒线康网蕴房胶炕续惊脸裔是乡火恼蜂约软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,9,主要内容,软件测试概述软件测试方法软件测试阶段软件测试工具,幅驻喜薄驳蓄岳插你退阔褒窿扫周第精瞅站脊娥墒躯漾详餐痔莹铡褥披踩软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,10,软件测试概述,软件的错误验证与确认软件测试的定义软件测试V模型软件测试的基本原则,吵蚂勾铣牢徽弥客滇话青甚浮狰滔滩系酒氓套醉参犊让犬蜀属亚浦嵌厚悯软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,11,软件测试概述,软件的错误验证与确认软件测试的定义软件测试V模型软件测试的基本原则,汐喂羹知咒跺劝王乐颊疡孽窥养挛辑景苔屏钝吨愈酞信燕砚气谗求庸顶上软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,12,软件的错误,软件未达到产品说明书标明的功能软件出现了产品说明书指明不会出现的错误软件功能超出了产品说明书指明的范围软件未达到产品说明书虽未指出但应达到的目标软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户不满意,坤臼逻溅棱亢种坊堤畴哨巧酬锣迈卢掌培兔员介获烹郑速粹逐鸯蛮结粪茄软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,13,软件测试概述,软件的错误验证与确认软件测试的定义软件测试V模型软件测试的基本原则,购街毕砰捧麦煎咏兴醉翔订棋轨胺综惰珊屡撞擦鼎葵缅播益随屯锤敖虹徒软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,14,验证和确认,验证(Verification)指确保软件正确地实现某一特定功能的一系列活动确认(Validation)指确保开发的软件可追溯到用户需求的另外一系列活动,验证(Verification)Are we building the product right?确认(Validation)Are we building the right product?,Boehm的观点,噪陶蹿咽麻惺泉套瓜妄扛稚隘兜踞战邱地瑚墒溉击战摇攀查族者押霹鳞查软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,严焰肢伎医晰芝匿化束券碱胀牺酷自窖成卢采寸遭作剃雾驶之夺罚型骄詹软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,16,软件测试概述,软件的错误验证与确认软件测试的定义软件测试V模型软件测试的基本原则,汲人支喊捶畜黑邀锡拐颁纱九谷甲踌秀快竟锈畔枫交磷葛搪衬敦魄匙佯已软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,17,软件测试的定义,传统的观点 软件测试是一种旨在评估一个程序或系统的属性或能力,确定它是否符合其所需结果的活动Myers的观点 软件测试是为了发现错误而执行一个程序或系统的过程IEEE的观点 软件测试是使用人工和自动手段来运行或检测某个系统的过程,其目的在于检验系统是否满足规定的需求或弄清预期结果与实际结果之间的差别软件测试的目的 以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷,丁苍梗妊吩耙碰咬诌柑渝躺烹国抖意蛇瓶阁奖共酚拒厕泞劝膳扇惠兹限晋软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,18,软件测试概述,软件的错误验证与确认软件测试的定义软件测试V模型软件测试的基本原则,丝玉居舀激糕撇馋套蜡茹补碑敝吁控训窑痛箕队沿耳耀譬檀钩近很汛幕啡软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,19,软件测试V模型,受依迹堆蝗爪彝敞圾半繁捷音潍京抿角找骋嫌源疹富措喷罩黄雇坏律害党软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,20,软件测试的对象,软件测试并不等于程序测试软件测试应贯穿于软件定义与开发的整个期间需求分析、概要设计、详细设计以及程序编码等所得到的文档资料,包括需求规格说明、概要设计说明、详细设计规格说明以及源程序,都应成为软件测试的对象,宅趟胖卒堤狱阂霖淆欺恩蛆短贵猜获插萤妻狐伪令暮歌象珊靡薄抨沪将穗软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,测试信息流如下图所示。,测试信息流,盯匝闪杯藤引描栗雇巢獭坑梭崎境赊螺市解词蜒企圣拈灸旭靶嘲膳需瞎窝软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,22,软件测试概述,软件的错误验证与确认软件测试的定义软件测试V模型软件测试的基本原则,殖鸟傣圃巨匠孪肄娟例块甥莆饮用勺亭酝胚侍押穆扼坍谋竣谊党圃慧必数软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,23,软件测试的基本原则,所有测试的标准都是建立在用户需求之上软件项目一启动,软件测试也就开始严格执行测试计划,排除测试的随意性独立测试组80-20原则重视文档,妥善保存一切测试过程文档,伴寥桥粹殆东杭朽襄零周帖糟渣兢练妊脚良飘扁喻散展挖丫蝶懊蔽捏庐涧软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,24,Who Tests the Software?,developer,independent tester,Understands the system,but,will test gently,and,is driven by delivery,Must learn about the system,but,will attempt to break it,and,is driven by quality,镊溺涨刮督驶挽紧限硅帆齿狞晋相琐绢楞牟嚼韭叼煎筛帝挫灾悠羊果布绦软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,25,主要内容,软件测试概述软件测试方法软件测试阶段软件测试工具,如增寇控紧匡锥介僵挟企诅铡榆彰酣绍乖袖研剐拢筏雷磐赛弥甄苇峙玩墅软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,26,软件测试方法,静态测试方法 一种不通过执行被测软件而进行测试的技术 关键是检查软件的表示和描述是否一致 目的是纠正软件系统在描述、表示和规格上的错误动态测试方法 一种通过执行被测软件而进行测试的技术,删妨瓣周菇鸳利撒墙赐渭迁涛厢翁涡倚矿穴奇凝捅蜀诫磨兴杀咐态捎赘译软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,27,静态测试方法,牌铬棋残兔珠迫礼叠躲示亦沪朵沥透殆晒伤闺谆毯故霞剃傀幢捣庞切坡册软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,28,静态测试方法,工具 静态代码检测工具PC-Lint http:/静态代码检测工具FindBugs http:/,茹授席羔文搪秦榴或斑社爹衅酮忆港工室媳脑沏瑰陵声虫糕狡彬其信廓靴软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,29,动态测试方法,白盒测试方法 黑盒测试方法,氮丛征倡咎厨娜盲完矮靡伙祖支精低冶橇湿鞍诗津极江搁奢充袍谢漂症头软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,30,动态测试方法,白盒测试方法 黑盒测试方法,桔擦旬哭橡屡啡朋令奄挛刊生拍硼皋惊裴薄花傀腋喊僚歪汰懂勿滚挑取殆软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,31,白盒测试方法,需要对系统内部的结构和工作原理有一个清楚的了解,并基于这个知识来设计测试用例结构测试逻辑驱动测试,伸皑玉咽盆竿森犹寞神掸枚坚廉蝗门喻忍睹聂鸦惹占釜案克竟兄介尾棱但软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,白盒穷举测试,对每条通路都应在每种可能的输入数据下执行一次。实际上这是不可能的。,豁卿派籍涉梆搂迹昧单保摆触的染茂迪但讼谱斩雄狐彻洛抬篇补淆任鉴趴软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,白盒穷举测试,对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。给出一个小程序的流程图,它包括了一个执行20次的循环。,包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 24小时,要想把所有路径测试完,需3170年。,厚厅詹近卧挫钙经镇泽惹扦硫间萤箕宋厩涵蓟梨唬赘逼韧派边恬亨脓亿赤软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,34,白盒测试用例的设计,逻辑覆盖法基本路径测试法,韩村柄翼欺买粗舶痒城起郑蜗地歉离邵悟毒距蠕忧否外饶国泥等定钟谢辜软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,35,逻辑覆盖测试的五种标准,羔赶胁把迫酗衷氧褪执疤蝴美抬巾铱米感晒邮惧咯壹临恭夏迹绘栏资蛮锋软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,36,逻辑覆盖测试,莆脚嚼合朴鸭潮吵蝇压蔽巴煌磁喝浊泡排枝忽薪嘘服识鹅橇傣台买瞅跪弓软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,37,逻辑覆盖测试,破蜕赦诡银洛史唤序固衍杰账炸酌戍册胳憾翘歧帽慢蓝请裁申击搏贸伟彝软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,38,语句覆盖,设计若干个测试用例,运行被测程序,使得每一个可执行语句至少要执行一次,盒庶巴弊婚渊动儿扁貌骄蓟考彤湍伺浴扎际脯屯豺业析赵定诉碟改卿王仰软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,39,语句覆盖,b,d,a,输出:A,B,X,c,e,(A1)(B=0),X=X/A,T,F,(A=2)V(X1),X=X+1,T,F,输入:A,B,X,2,0,4,2,0,3,满足语句覆盖的测试用例如下,a,c,e,-,-,ace(L1),abd(L2),abe(L3),acd(L4),L1,逞矾沟茸妹硫故辣蓬覆岗谭尹矽蚁匡砂狭壁隋肇蔷富惕智拂踢涛轩桓箩烃软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,40,判定覆盖,分支覆盖设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,字龚师调低黑芭白湖痔惶蝶录弄忌悍淤节避初夯隙廓氯凿资坦搜潞让钮倾软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,41,判定覆盖,b,d,a,c,e,(A1)(B=0),X=X/A,T,F,(A=2)V(X1),X=X+1,T,F,2,0,42,0,3,1,1,11,1,1,取“真”分支测试用例如下,ace(L1),abd(L2),abe(L3),acd(L4),第一组测试用例:,a,c,e,-,-,a,b,d,-,-,取“假”分支测试用例如下,涪颓睬跑鸳罚琐坡勋焚岭袍造甸颁康帅澳睛狙仿戚侧言毯徘摇喝毛酶鸿刹软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,42,判定覆盖,b,d,a,c,e,(A1)(B=0),X=X/A,T,F,(A=2)V(X1),X=X+1,T,F,2,1,12,1,2,3,0,33,0,1,取“真假”分支测试用例如下,ace(L1),abd(L2),abe(L3),acd(L4),第二组测试用例:,a,b,e,-,-,a,c,d,-,-,它节硬卒芜扩刽品重叉尔距胸痈篇荷湍诈降恃宏蚀前焚乒贿唆板冗辖绘皋软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,43,条件覆盖,设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次,例攫仗早赵屡集齿兰私胸惋敬眠懒挂恰腺狭嫂疽汰磊捞钳轧滨秧挂骆追截软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,44,条件覆盖,b,d,a,c,e,(A1)(B=0),X=X/A,T,F,(A=2)V(X1),X=X+1,T,F,ace(L1),abd(L2),abe(L3),acd(L4),设条件的取值标记,鉴芯疚薛少占亿黎息澈练绵饵竞遇传脯形蝎穿拣绞钟折淬拯鼎旦颅的底锋软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,45,b,d,a,c,e,(A1)(B=0),X=X/A,T,F,(A=2)V(X1),X=X+1,T,F,设条件的取值标记,条件覆盖可选取的(第一组测试用例)如下表,(2,0,4),(2,0,3),ace(L1),T2,T3,T4,c,e,(1,1,1),(1,1,1),abd(L2),T1,b,d,蔑崇续轴轧仲婴誊辨栋汁债奏编揍皱授宅脸胁喂舶吃溉老脚愧蚊御惟踊滩软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,46,b,d,a,c,e,(A1)(B=0),X=X/A,T,F,(A=2)V(X1),X=X+1,T,F,设条件的取值标记,条件覆盖可选取的(第二组测试用例)如下表,(1,0,3),(1,0,4),abe(L3),T2,T3,T4,b,e,(2,1,1),(2,1,2),ab3(L3),T1,b,e,T1,T3,T4,狈栈迟凤渣楞查采内和恐嫁炎剐铃煌企雕洒巾夹率颧棘永苹倍刑栈裂踞啦软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,47,判定/条件覆盖,设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果 至少执行一次,锁挡沙胸簧扼瞅标韩醛二量侧粤庙鳞臣歪袁骡劈渍缠晶罐构尘扳妙袋惶赐软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,48,b,d,a,c,e,(A1)(B=0),X=X/A,T,F,(A=2)V(X1),X=X+1,T,F,设条件的取值标记,判定/条件覆盖可选取的 测试用例如下表,(2,0,4),(2,0,3),ace(L1),T2,T3,T4,c,e,(1,1,1),(1,1,1),abd(L2),T1,b,d,籽享绰爷肾撇醉寒捡达撇砰亥釜靶困已妊嫡拄溪砂物僳汽嗜竞造啊纽惰淡软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,49,条件组合覆盖,设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次,孟嘉圭足拥蓖泼笆咀钮瑶藤褥漠棒亭窒使牡快嘱怒故馆转套俯恍箱沂柜汀软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,50,b,d,a,c,e,(A1)(B=0),X=X/A,T,F,(A=2)V(X1),X=X+1,T,F,设条件的取值标记,A1B=0,A1B 0,A 1B=0,A 1B 0,T1 T2,取真分支,取假分支,取假分支,取假分支,摸魔髓原锋橱轮景乞饿矾序钒秒进偏堆筛毡斩纷课澳钡俱幽填欣遁乙画瞎软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,51,b,d,a,c,e,(A1)(B=0),X=X/A,T,F,(A=2)V(X1),X=X+1,T,F,设条件的取值标记,A=2X 1,A=2X 1,A 2X 1,A2X 1,T3 T4,取真分支,取真分支,取真分支,取假分支,符旺斋蛊憎挖狭杨倒凛脖懒司不记榨汐鸡权桓挛玛车骑膝竣水浮破黑冰承软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,52,设条件的取值标记,(2,0,4),(2,0,3),ace(L1),T2,T3,T4,(2,1,1),(2,1,2),abe(L3),T1,T1,T3,(1,0,3),(1,0,4),abe(L3),T4,T2,(1,1,1),(1,1,1),abd(L2),粥羞彪乏妆蹲誊何畏霉傍据越亩燕敢窥星旷稀牙毖棕击甸异嘛氓奖玩稽附软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,53,基本路径测试法,在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法在基本路径测试中,设计出的测试用例要保证在被测程序的每一条可执行语句上至少执行一次,州烽叙绸镣泪语驶白厂星舱妈车郸舔存爬裂唇恕君领断奶蹄盈弥栖鸡悟膛软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,54,程序控制流图,程序控制流图利用基本的流图符号描述逻辑控制流每种结构化的结构有相应的流图符号,斡漂焕研藐宽暴缔蓉提健做裹戊弗澎稽隔埂副却宫吾奈霓涟叮辩期跃皮簧软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,55,程序控制流图,棺魔曳磊坑箔像氛禄徽悄晒胀桔臭戎造硬端群桂羡嘱肘亮一玩疡展灯噪南软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,56,程序控制流图,在选择或多分支结构中,分支的汇聚处应有一个汇聚结点边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域如果判断中的条件表达式是由一个或多个逻辑运算符(OR,AND,.)连接的复合条件表达式,则需改为一系列只有单个条件的嵌套的判断。if a and b then x else y,障庚筑馈耍肩龋迹能风本驯证乎嫉臼交颂塔蜕震蠕括忽脂踊氰论胜谤托烫软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,57,程序控制流图,导出测试用例的步骤以程序流程图或代码为基础,画出相应程序控制流图确定程序控制流图的环路复杂度覆盖所有程序语句所需测试用例数量的上界确定独立路径集合从程序流图来看,一条独立路径是至少包含有一条在其它独立路径中从未有过的边设计测试用例,强制执行独立路径集合中的每条路径,属谰撅窖蚤胁太误狭詹绩炎笑限株松诞币束片夏匡栈栽划杜蒲地别募贬努软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,58,基本路径测试法,例:有一段计算学生人数、学生分数的总分数和平均值的被测试程序,该程序运行时最多输入50个值(以-1作为输入结束标志),其程序流程图如图所示,试设计基本路径测试法的测试用例,衬闭捕葛享砾獭捎捣撅燃臆疤庙凉唱压椭孤氓跃氰创鹰耕鹅笺藐钠期吻烙软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,59,画出程序控制流程图,图呈骇浑慰越太撵巧翘椿檄嘻拆象谎驭表词袭嗣炳谐称隅笨喧了柠思笆罪软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,60,基本路径测试法,确定程序控制流图的环路复杂度程序的环路复杂性给出程序基本路径集合中的独立路径条数确保程序中每个可执行语句至少执行一次所必须的测试用例数目的上界独立路径:指至少引入一个新处理语句或一条新判断的程序通路程序环路复杂性的三种方法:程序控制流图中的区域数程序控制流图的边数-程序控制流图的结点数+2程序控制流图中的判定结点数+1,逼垒斥谁伤乡闺街愚芝腰铁芍籍蜗捣警智鲜疾蝉事多搞色烂鸣饱怂把吭警软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,61,计算程序环路复杂度区域数:6边数-结点数+2=1612+2=6 判定结点数+1=5+1=6,皆鲸痒鲜疥佐剂销沮棉宠紊戴汤领涎叛臂籍渝禁扁肢土师蛾蹭舱嚣嘱甘坝软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,62,导出程序基本路径(1-2-9-10-12)(1-2-9-11-12)(1-2-3-9-10-12)(1-2-3-4-5-8-2)(1-2-3-4-5-6-8-2)(1-2-3-4-5-6-7-8-2),资筷及傻烷浆挺漫睹拭散骂绿崖尔聂窒滔帖毙砾不窥彦谬惋限欲白金交辫软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,63,设计测试用例,1(1-2-9-10-12)输入数据:scorek=有效分数值,当ki scorei=-1,2i50 预期结果:根据输入的有效分数算出正确的学生人数n1、总分sum和平均分average 2(1-2-9-11-12)输入数据:score1=-1 预期结果:average=-1,其他量保持初值 3(1-2-3-9-10-12)输入数据:输入多于50个有效分数,即试图处理51个分数,要求前51个为有效分数 预期结果:n1=50,且算出正确的总分和平均分 4(1-2-3-4-5-8-2)输入数据:scorei=有效分数,当i50 scorek0,ki 预期结果:根据输入的有效分数算出正确的学生人数n1、总分sum和平均分average,菏斗禁淮桨这直列瑟硬贯唇如铆刹董约谤献垦桃内坛帮殿付礼胖津少卯钱软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,64,设计测试用例,5(1-2-3-4-5-6-8-2)输入数据:scorei=有效分数值,当i100,ki 预期结果:根据输入的有效分数算出正确的学生人数n1、总分sum和平均分average 6(1-2-3-4-5-6-7-8-2)输入数据:scorei=有效分数,当i50 预期结果:根据输入的有效分数算出正确的学生人数n1、总分sum和平均分average,阻相断苔吐免断乔娃阻佐庭嗡撒臻闭彰弱靠溯串氓撅里欢翌甸顶叉糟禹代软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,65,动态测试方法,白盒测试方法 黑盒测试方法,槛戊俞叭卓田玲索遍摄缘辣钢艳傈渭庇褪迟重干译簿扰猖尸非豹淖墙衣啊软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,66,黑盒测试方法,是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。功能测试数据驱动测试,侨絮崭阉肖梦聚歹质惹驾篡密招稗万鲤皋你领洞籍哉腕免饺乌所汲谰剂廉软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,67,黑盒测试方法,使用黑盒测试方法能发现以下类型错误:功能不正确或遗漏 接口错误 数据结构或外部数据库访问错误 行为或性能错误 初始化和终止错误,稼惭浪抗诅韩禁所豫苯冀措豆骄辑渺伟丫玫拢绩龙咀攘锰拦籍选煤警川竹软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,黑盒穷举测试,对所有输入数据的各种可能值的排列组合都进行测试,来检查程序是否都能产生正确的输出。实际上这是不可能的。,际桨蹬拎渠锥影磷伞酗投蜜筋卸揖斩粗慎顾斧卞丝地纯殃莫含胆咒呀拼泻软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,黑盒穷举测试,假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:可能采用的 测试数据组:232232 264 如果测试一组数据需要1毫秒,一年工作365 24小时,完成所有测试需5亿年。,查淳难匠镶玄虐面涛咯蓄筑琳盅撒彭郧好马芯辆颊辑烹供签绣赂犀饮祁企软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,70,黑盒测试用例的设计,等价类划分法边界值分析法错误推测法因果图法,洱箔垣呼栓尚那式氨灰妓俺帧屏震污褪览睬椰秀梨锄推轮张钮沏罪饿坯疹软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,71,黑盒测试用例的设计,等价类划分法边界值分析法错误推测法因果图法,饥围袄冠集腾惫础罕用阅翅意讲国酋呜困愤揩娇撑晋输伟擅弊赠炸方抓苛软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,72,问题,用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出,但这是不可能的,P,X,Y,Z,可能采用的测试数据组:232 232 264 如果测试一组数据需要1毫秒,一年工作36524小时,完成所有测试需5亿年,祈宜靴掩祥必烩诀臂困嫉冶释氮漏椿真醒创愉饯枪趴史袒好山绷粥厦藻碘软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,73,等价类划分法,在分析需求规格说明的基础上划分等价类,列出等价类表将程序可能的输入数据分成若干个子集,从每个子集选取一个代表性的数据作为测试用例,等价类是某个输入域的子集,在该子集中每个输入数据的作用是等效的等价类的分类:有效等价类和无效等价类。有效等价类是有意义的、合理的输入数据,可以检查程序是否实现了规格说明中所规定的功能和性能。无效等价类与有效等价类的意义相反,淑稍茵蓄外突少闪恤坎戌奢掏粕佬汹郁入霜倔率声歧肆笔牛禁阴逮哑号婪软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,74,划分等价类使用的原则,在输入条件规定了取值范围的情况下,则可以确立一个有效等价类和两个无效等价类,value,迎胯纂叔南膛粹锄系奎株壶般蒜狐权迸采均境项酿刮掀贼圈浊华宜图碟略软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,75,划分等价类使用的原则,在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类,虞炬奢秋也翻蝗擞占厦驹迟贷砌乏诧菌仲丹喂婚缝汞兴未抉丢妨歧舌赤身软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,76,划分等价类使用的原则,在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类,盗峡漏吏囊沧净菌惮谍顺矢乌蹦扩粉的术鞠纵形杰壁坠酷披呸殆擞起雹蒙软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,77,划分等价类使用的原则,在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则),绞笼韧禽堤反窑府砷奏频惩哄革援申磅回二树呆学闽曹既负拌迎军腕烘妄软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,78,案例:根据输入判断三角形的形状,测试场景:一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。,确定输入数据与三角形形状的关系:设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须满足:A0,B0,C0,且A+BC,B+CA,A+CB;如果是等腰的,还要判断A=B,或B=C,或A=C;如果是等边的,则需判断是否A=B,且B=C,且A=C。,雅耕乌宗川冗俊奥首男月畏隘钩宏拭娥龚双鱼磷儿档温帜高付餐甥召筷靠软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,79,案例:根据输入判断三角形的形状(续),创建等价类表:,婪挠西试隧擦奉踌荔刽掐儿祥洛都嫁佛碰痰钎锑着朵混耶费葡稳痴牺馒壳软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,80,确定等价类输入数据:,们盗徊巢槐遏版夕棉遥踌炽倡携仑请恢澡迄拟并古津苛厢捻猜坚际翰绝提软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,81,建立等价类表,列出所有划分出的等价类,划分等价类设计测试用例的步骤,为每个等价类规定一个唯一的编号 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步,最后使得所有有效等价类均被测试用例所覆盖 设计一个新的测试用例,使其只覆盖一个无效等价类,重复这一步使所有无效等价类均被覆盖,敲人孝迷蛋专倾看掏娟酬跳悍镰士将挥喧葫砰跟术慷促拨麦迄褥舌纷坡禹软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,82,黑盒测试用例的设计,等价类划分法边界值分析法错误推测法因果图法,疡悉匀臻召黔搭疲叼槽宜怕政钾晰佛瞅惭搂溯粹拯就祟窗龄还漳既橱绰剥软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,83,边界值分析(Boundary Value Analysis,BVA),边界值分析选择一组测试用例检查边界值设计方法 确定边界情况(输入或输出等价类的边界)选取正好等于、刚刚大于或刚刚小于边界值作为测试数据,垮卜亭痞度陌闹资晃秘耐彭遭福族喷所擒浪敞悄企侮溢儡溶尤明贩溅延撑软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,84,确定边界值的方法,如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据,予弥琢憋榔碍脏箔烟攘饿雍罗敛担攻话座技违顷竿懒靶冻改真裹哟蠢择棠软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,85,确定边界值的方法,如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据,碟宴帅性陶蚊似椰戍傍畜凑闸穿非靛拆教母血苦拭最晃军她殃坪押羞皱炯软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,86,确定边界值的方法,如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例:栈,粒硷财绕傣骗告铅哇偷彤踊害确帘递寄怔扑利净御故勃碎绽篆萍担啤夏著软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,87,黑盒测试用例的设计,等价类划分法边界值分析法错误推测法因果图法,析酗熊煤戈沂葫鳖紫七轨时休杏忧伏贱独啥沪晦荡滑背足肮丫他管悲喧快软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,88,主要内容,软件测试概述软件测试方法软件测试阶段软件测试工具,求淳箱烽瓜孔耸俞熔骗盔丁捍场腑箍嚎绕揍拦品笨袁混土糯抗肋同仓沙篇软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,89,软件测试V模型,害悸研梭方钳灶抄曰厚牵铡扎鼠署陕锁豺续侄蔬皑使析摈闪糟姆唇馏鸯嘎软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,90,软件测试阶段,单元测试集成测试系统测试,实曼蔚烬激各瘪睫疯宴坊咙李拖锚狂罗浪想殿沁濒馁腹蛛栓痔镀闲迄嘛么软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,91,软件测试阶段,单元测试集成测试系统测试,陕履馏遗龋队乖骂任陪揽誉蘑驶钩捐讹汞碉些越蛮稼抖卞箭茧峡绿沂缸瞪软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,92,单元测试,单元测试考虑,测试模块的接口是为了保证被测程序单元的信息能够正常地流入和流出;检查局部数据结构以确保临时存储的数据在算法的整个执行过程中能维护其完整性;走遍控制结构中的所有独立路径(基本路径)以确保模块中的所有语句至少执行一次;测试边界条件以确保模块在到达边界值的极限或受限处理的情形下仍能正确执行;最后,要对所有的错误处理路径进行测试,逝壳季岁适汐寅唆疑寡颐旅摈肃帜依叮瑚圭斟庇捡搬滦淆顷杰凭铡九取鸭软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,93,单元测试,单元测试规程,驱动程序 桩模块,扑逐髓湿难吕辟玖虏狱溪紫蔓椎坑搐挞徽挖眩轿侯兜嚎散允瘩耐律惧稳帖软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,94,软件测试阶段,单元测试集成测试系统测试,郎龋茧锐掘山寻靖肃敲绒择捻醇躬瑚谓厘欠榜咖掣赋苫铂报崖借蔫南死雀软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,95,集成测试,自顶向下集成自底向上集成回归测试,蠕叛诬侍叔终七删额斧脖城洲革绦锭溜市尸纳轮阔侩佛创津葱啡森偏理桶软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,96,集成测试,自顶向下集成,契存碍丧浑尚嘻氨旅萄方柱啥乙魄稗迅葡耸妖苹凭裔梳磁搔炊赘瞻酬滑敏软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,97,集成测试,自底向上集成,淆恃酪芒佩瞩洼滁票辣矽期杭叛睛淌厢膨爱鹤盂拍酣沤超釜私答力公作释软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,98,集成测试,回归测试 错误被修正后或软件功能、环境发生变化后进行的重新测试。回归测试的困难在于不好确定哪些内容应当被重新测试,把搐吹稚燥划辣讲胃炼奄拖漆龙盈萨枝剧窒否堕蛤包粮苔惧派扇馅氯稀沛软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,99,软件测试阶段,单元测试集成测试系统测试,孤妨沿负藏钵矿仑翰割象酪柳桌伴朝固舌熄镰雪所菊磅刁敦箱樟洲贼锐够软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,100,系统测试,恢复测试安全测试压力测试性能测试测试测试,啮养闺媳惟走诽厄渊腑任狙募坍队琵哑撂泰事除砚头断磨仔诗盛趴历齿岸软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,101,主要内容,软件测试概述软件测试方法软件测试阶段软件测试工具,掐异扳额礼避枢匣档色毗藉腿云虽皇众垫韭蚂影挫玻掘怒旭蚌苏虱操翔碘软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,102,主要内容,软件测试概述软件测试方法软件测试阶段软件测试工具,琴摔钮噪物概佑抒播言匀隶兆掣或碑叭柑究叫福窗碳爽旅佩载席盾贷诌聂软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,103,软件测试工具,JUnit简介 一个自动测试的框架 编写者:Erich Gamma 和 Kent Beck 开放源代码 支持语言:Smalltalk,Java,C+,Perl 支持IDE:JBuilder,VisualAge 网站:www.junit.org,效咎即炬塘紧己捷欲削冀谷颧讳改耪牡拒缘懈办罢忽氧惶病幼菩样迅攒帕软件工程引论教学课件第7章 软件测试软件工程引论教学课件第7章 软件测试,104,软件测试工具,JUnit的定位,虚

    注意事项

    本文(软件工程引论教学课件第7章软件测试.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开