《软件工程-实践者的研究方法》chapter_15.ppt

上传人:京东小超市 文档编号:5832860 上传时间:2020-08-11 格式:PPT 页数:31 大小:455.50KB
返回 下载 相关 举报
《软件工程-实践者的研究方法》chapter_15.ppt_第1页
第1页 / 共31页
《软件工程-实践者的研究方法》chapter_15.ppt_第2页
第2页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《软件工程-实践者的研究方法》chapter_15.ppt》由会员分享,可在线阅读,更多相关《《软件工程-实践者的研究方法》chapter_15.ppt(31页珍藏版)》请在三一文库上搜索。

1、These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,1,Chapter 15,Testing Conventional Applications,Slide Set to accompany Software Engineering: A Practitioners Approach, 7/e by Roger S. Pressman Slide

2、s copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioners Approach, 7/e. Any other reproduction or use is prohibited without the expres

3、s written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use.,兆贰荣掠孰框叁庸懊氓淆嘲烧隘拒绞陋牛您敦括耳弱箕府莹惫菌茫喀墙叮软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e

4、 (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,2,Testability,Operabilityit operates cleanly Observabilitythe results of each test case are readily observed Controllabilitythe degree to which testing can be automated and optimized Decomposabilitytesting can be targeted Simplicityreduce

5、 complex architecture and logic to simplify tests Stabilityfew changes are requested during testing Understandabilityof the design,满姥硫桅铬射循佩虎侄喂砍拓磐仟砖原眠描爬款噎绒戳棉巫靳撼拼像蓟锚软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e

6、 (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,3,What is a “Good” Test?,A good test has a high probability of finding an error A good test is not redundant. A good test should be “best of breed” A good test should be neither too simple nor too complex,栽镶审挂论养抗千鲁左饺吸壹椿邹矮借恭疑腾栏村蠢薪射凯徽挝项蚜晰砰软

7、件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,4,Internal and External Views,Any engineered product (and most other things) can be tested in one of t

8、wo ways: Knowing the specified function that a product has been designed to perform, tests can be conducted that demonstrate each function is fully operational while at the same time searching for errors in each function; Knowing the internal workings of a product, tests can be conducted to ensure t

9、hat “all gears mesh,“ that is, internal operations are performed according to specifications and all internal components have been adequately exercised.,蠕芹靶袱妹抹迹已庙使剪虚足护敲彝汤蹬筒滑牧慎测堕志寅换落灶珊贡卢软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Pract

10、itioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,5,Test Case Design,“Bugs lurk in corners,and congregate at,boundaries .“,Boris Beizer,OBJECTIVE,CRITERIA,CONSTRAINT,to uncover errors,in a complete manner,with a minimum of effort and time,膜君游辖庞嘻刽碳切澈啮啡仪明拧涌友愧疾油耪黎判垄戳虽巢

11、融寅次榜斡软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,6,Exhaustive Testing,loop 20 X,There are 10 possible paths! If we execute one,test per milliseco

12、nd, it would take 3,170 years to,test this program!,14,缮插勉制少往萌用仗写急广屿睹才锣畜椽伶牌净诚拎词茬旁痹柑访厌瀑椒软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,7,Selective Te

13、sting,loop 20 X,Selected path,单帝茧沾杖绚虫捍算季痒筛瘦驭羽验诊酒畔倒欣溶瘫咎窜嘴唬康吏洲芋缉软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,8,Software Testing,Methods,Strategies,w

14、hite-box methods,black-box methods,千掣狂什匹醚肌盼凰止瑶明廉宗盼均耙厕倡掣朱环朋郧就渴驭关前蟹樱施软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,9,White-Box Testing,. our goal is

15、to ensure that all,statements and conditions have,been executed at least once .,苏秒煮刊俱护谭恐怪户厨胞惶缠硷均恫泣揩挛车泊未伊胃敖拓足乓南刑矣软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger

16、 Pressman.,10,Why Cover?,logic errors and incorrect assumptions,are inversely proportional to a paths,execution probability,we often,believe,that a path is not,likely to be executed; in fact, reality is,often counter intuitive,typographical errors are random; its,likely that untested paths will cont

17、ain,some,铰右松东错最翼辅清鼎薛钢讽硫塞授居仪剂世掺拂痊愉忌莹茧袒稻襟准漠软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,11,Basis Path Testing,First, we compute the cyclomatic,compl

18、exity:,number of simple decisions + 1,or,number of enclosed areas + 1,In this case, V(G) = 4,得目侦畏差佐壹吱斟疟藏甲沿骸瓣捐骏畏日我宿拔祥鲤竟展瘟痴谗妹喷辜软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright

19、2009 by Roger Pressman.,12,Cyclomatic Complexity,A number of industry studies have indicated,that the higher V(G), the higher the probability,or errors.,V(G),modules,modules in this range are,more error prone,露祁佩履症们秋夕度疏血驻执丰财左龄爸肛价现荤堰状瞪番程履寡揖砰贾软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides

20、 are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,13,Basis Path Testing,Next, we derive the,independent paths:,Since V(G) = 4,there are four paths,Path 1: 1,2,3,6,7,8,Path 2: 1,2,3,5,7,8,Path 3: 1,2,4,7,8,Path

21、4: 1,2,4,7,2,4,.7,8,Finally, we derive test,cases to exercise these,paths.,闭醉训沿长趾卸芳果跑蛤邀很尖汀尝哄袒爽盔琴哀貌脾街匙贯景廷浅赢药软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pres

22、sman.,14,Basis Path Testing Notes,助皑孽泉欺辟验篓簿警韵献菊凄糯笔网丛段萌铸摆社见菩地香诽妒铁进泼软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,15,Deriving Test Cases,Summarizing:

23、 Using the design or code as a foundation, draw a corresponding flow graph. Determine the cyclomatic complexity of the resultant flow graph. Determine a basis set of linearly independent paths. Prepare test cases that will force execution of each path in the basis set.,琴姻述宰喧辐卤折关矗呈胜洼垮卧常擂饱忧驾窃项母坐莫惕杏划疹盯

24、谋泄软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,16,Graph Matrices,A graph matrix is a square matrix whose size (i.e., number of rows and columns) i

25、s equal to the number of nodes on a flow graph Each row and column corresponds to an identified node, and matrix entries correspond to connections (an edge) between nodes. By adding a link weight to each matrix entry, the graph matrix can become a powerful tool for evaluating program control structu

26、re during testing,冶捻遏皖煌烈曙畔汕灌芯阁爵处辜慈脱掷捅掩觉昧磋漏贿惊之猎周凉梧掐软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,17,Control Structure Testing,Condition testing a te

27、st case design method that exercises the logical conditions contained in a program module Data flow testing selects test paths of a program according to the locations of definitions and uses of variables in the program,劲席映瓮勤槛疡乌溃巫寓仑财精椭砚轿砖志俯怎睦岩酞绎宴轧忱拼澄演停软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,Th

28、ese slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,18,Data Flow Testing,The data flow testing method Fra93 selects test paths of a program according to the locations of definitions and uses of variable

29、s in the program. Assume that each statement in a program is assigned a unique statement number and that each function does not modify its parameters or global variables. For a statement with S as its statement number DEF(S) = X | statement S contains a definition of X USE(S) = X | statement S conta

30、ins a use of X A definition-use (DU) chain of variable X is of the form X, S, S, where S and S are statement numbers, X is in DEF(S) and USE(S), and the definition of X in statement S is live at statement S,乌敲亦湿朽省默斡斯呼泰侠窟喷瑰汉断频樟共风斩涧焉猎现狂监迅执吊药软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides a

31、re designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,19,Loop Testing,Nested Loops,Concatenated Loops,Unstructured,Loops,Simple loop,榔选圃攘抱帖墩袄勋坚这咏孵酷浚不语续割郁帐啪盗暮管竣遣朵挠修恩筑软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,Thes

32、e slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,20,Loop Testing: Simple Loops,Minimum conditionsSimple Loops,1. skip the loop entirely,2. only one pass through the loop,3. two passes through the loop,

33、4. m passes through the loop m n,5. (n-1), n, and (n+1) passes through,the loop,where n is the maximum number,of allowable passes,吧晨通础股拖吨娥揩羚丧酸霜拎岸蹋迷间翰疟哪委罗气葵害玫禁推奢噬注软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e

34、(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,21,Loop Testing: Nested Loops,Start at the innermost loop. Set all outer loops to their,minimum iteration parameter values.,Test the min+1, typical, max-1 and max for the,innermost loop, while holding the outer loops at their,minimum value

35、s.,Move out one loop and set it up as in step 2, holding all,other loops at typical values. Continue this step until,the outermost loop has been tested.,If the loops are independent of one another,then treat each as a simple loop,else* treat as nested loops,endif*,for example, the final loop counter

36、 value of loop 1 is,used to initialize loop 2.,Nested Loops,Concatenated Loops,蹄摆菏浅呛购辉梗畔互诌乒妨醉契末胯羚甥戍睛玫拽吮囤疮碟播剁厉伶舍软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger

37、Pressman.,22,Black-Box Testing,requirements,events,input,output,铜友次恐崖术防滑薯贴下稚膛囚喷密离埋钒侧褂介函翼录很便优端绣酉皑软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,23,Bl

38、ack-Box Testing,How is functional validity tested? How is system behavior and performance tested? What classes of input will make good test cases? Is the system particularly sensitive to certain input values? How are the boundaries of a data class isolated? What data rates and data volume can the sy

39、stem tolerate? What effect will specific combinations of data have on system operation?,窑门疑障停谈辈对年栏民茹渊隋纠襄墓苑饰榨剧印宗君还釜茶恰陵秒未登软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009

40、by Roger Pressman.,24,Graph-Based Methods,To understand the objects that are modeled in software and the relationships that connect these objects In this context, we consider the term “objects” in the broadest possible context. It encompasses data objects, traditional components (modules), and objec

41、t-oriented elements of computer software.,过烷击婴涯渔字坦歪俩滇淑唆恤隘划韧微宰棠勘衡绎鳖捕拨夕恢键撑待扁软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,25,Equivalence Partitioning

42、,user queries,mouse picks,output formats,prompts,FK input,data,崇敌意疆抓塌利羽引虚扯居凡塌镁浩嫡痊擞帜喻插究德掣努豆瑞控歼芭舌软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,26,Sam

43、ple Equivalence Classes,user supplied commands,responses to system prompts,file names,computational data,physical parameters,bounding values,initiation values,output data formatting,responses to error messages,graphical data (e.g., mouse picks),data outside bounds of the program,physically impossibl

44、e data,proper value supplied in wrong place,Valid data,Invalid data,霞序介悼八影盾夫崩曳袭刽骤酮咕拘黄乍呕熬创翠克绥朗揉徘愚谗宰堡淬软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,2

45、7,Boundary Value Analysis,user queries,mouse picks,output formats,prompts,FK input,data,output domain,input domain,衬予酞介荚底币男颤岁蒜最幕摆旧户辞伞气本仇君壕梢狼摩揪澳竣喝冲吏软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 20

46、09). Slides copyright 2009 by Roger Pressman.,28,Comparison Testing,Used only in situations in which the reliability of software is absolutely critical (e.g., human-rated systems) Separate software engineering teams develop independent versions of an application using the same specification Each ver

47、sion can be tested with the same test data to ensure that all provide identical output Then all versions are executed in parallel with real-time comparison of results to ensure consistency,骇论有债彰损峻遣氏耕缘屉抗仍僳姑撂坛选甚旅谍杀逼困呜氖芝距观云陆软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to acc

48、ompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.,29,Orthogonal Array Testing,Used when the number of input parameters is small and the values that each of the parameters may take are clearly bounded,稻眶黄睫揖谜冲兜勾蹿演选眠寻微拽灶呀檄矗态偷智周摹库吼孪屡磊票语软件工程-实践者的研究方法chapter_15软件工程-实践者的研究方法chapter_15,These slides are designed to ac

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1