资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,期末综合复习例题,问题:建立一个简化的商业自动化系统,其中:,营业员通过该系统记录每日销售的商品(,商品名,商品,编号,单价,数量,销售时间,);,收款员通过该系统记录收到的现金数额以及购物余额;,商店经理每日统计销售额,并在必要时查看某种商品的,销售情况(商品名,商品编码,金额),DFD,图,简化的商业自动化系统,营业员,收款员,经 理,销售的商品,现金额,现金余额,销售情况,日销售额,查询要求,建立系统的功能模型,首先:建立系统环境图,确定系统边界,-,顶层,DFD,其中:,1,数据流为:销售的商品,日销售额等,3,个输入流,,3,个输出流,数据源为:营业员,经理,收款员,数据潭为:经理,收款员,2,加工名为:要建立的系统名字,录入、修改或,删除商品信息,录入、修改,现金额,并计算余额,查询商品销售情况,计算日销售额,1,2,3,继之:自顶向下,逐层分解,A,、按人或部门的功能要求,将加工,“,打碎,”,,形成:,注:需给每一加工编号;,B,、,”,分派,”,数据流,形成:,录入、修改或,删除商品信息,2,录入、修改,现金额,并计算余额,查询商品销售情况,计算日销售额,销售的商品,现金额,现金余额,查询要求,销售情况,日销售额,1,3,其中:要根据特定的加工要求进行分派;,保持与顶层数据流的一致;,可以不引入数据源和数据潭。,录入、修改或,删除商品信息,录入、修改,现金额,并计算余额,查询商品销售情况,计算日销售额,销售的商品,现金额,现金余额,查询要求,销售情况,日销售额,销售文件,1,2,3,C,、引入文件,使之形成一个有机整体,系统:,注:到一个文件,既有输入流,又有输出流,则可简化为,,并可不给出标识。,至此,体现精化,形成,0,层数据流图。,查询商品销售情况,计算日销售额,查询要求,销售情况,日销售额,销售文件,3,继续,A,、,B,、,C,:自顶向下,逐层分解。,例如:加工,3,可分解为:,3.3,判定要求,查询要求,3.1,统计销售情况,3.2,计算日销售额,销售文件,查询要求,2,查询要求,1,销售情况,日销售额,加工,3:,*,其中为什么要引入,加工,“,判定要求,”,?,E-R,图,学校教学管理,一位老师可以担任多门课的教学任务,一位学生学习多门课程,一门课程由多位学生选修,并有相应成绩,图,3.2,某校教学管理,ER,图,其他图形工具,层次方框图,层次方框图用树形结构的一系列多层次的矩形框描述数据的层次结构。,图,3.5,层次方框图的一个例子,图,3.9,商场管理信息系统的功能层次方框图,Warnier,图,Warnier,图是表示信息层次结构的另一种图形工具,它是由嵌套的花括号、伪代码、以及少量的说明和符号组成的层次树,表明信息的逻辑组织。,花括号,同一类信息,-,在一定条件下,上下两个数据只能取其一,圆括号,重复出现的次数,.,图,3.6 Warnier,图的一个例子,图,3.10,商场管理信息系统主要功能的,Warnier,图,层次图和,HIPO,图,在层次图中一个矩形框代表一个模块,框间的连线表示调用关系,(,位于上方的矩形框所代表的模块调用,位于下方的矩形框所代表的模块,),。,图,5.4,正文加工系统的层次图,HIPO,图是美国,IBM,公司发明的,“,层次图加输入,/,处理,/,输出图,”,的英文缩写。为了使,HIPO,图具有可追踪性,在,H,图,(,即层次图,),里除了顶层的方框之外,每个方框都加了编号。,图,5.5,正文加工系统的,H,图,IPO,图,图形工具能方便地描绘输入数据、对数据的处理和输出数据之间的关系,因此,在需求分析阶段可使用,IPO,图简单地描述系统的主要算法。,改进的,IPO,图,系统名称:订单处理,设计者:,XXX,模块名称:确定能否供货,日期:,2003.3.8,上层调用模块:处理模块,可调用下层模块:无,输入部分(,I,),处理描述(,P,),输出部分(,O,),订单订货量,X,供货类型标志,I,库存信息,Y,缺货信息,Z,变换设计实例,事务中心,输入模块,路径,1,路径,2,给,出结果,a,h,c,g,b,f,c-e,c,e,e-g,e,g,b-d,b,d,d-f,d,f,事务设计,1,2,3,5,4,6,a,b,c,d,e,f,g,h,7,i,变换结果,输出,结果,h,i,i,过程设计的工具,描述程序处理过程的工具称为过程设计的工具,它们可以分为图形、表格和语言三类。,图,6.4,:,流程图的基本控制结构,程序流程图,盒图,(N-S,图,),出于要有一种不允许违背结构程序设计精神的图形工具的考虑,,Nassi,和,Shneiderman,提出,了盒图,又称为,N-S,图。,图,6.5,盒图的基本符号,(a),顺序;,(b) IF-THEN-ELSE,型分支;,(c) CASE,型多分支;,(d),循环;,(e),调用子程序,A,PAD,图,PAD,是问题分析图,(Problem Analysis Diagram),的英文缩写,自,1973,年由日本日立公司发明以后,已得到一定程度的推广。,图,6.6PAD,图的基本符号,(a),顺序,(,先执行,P1,后执行,P2),;,(b),选择,(IF C THEN P,1,ELSE P,2,),;,(c) CASE,型多分支;,(d) WHILE,型循环,(WHILE C DO P),;,(e) UNTIL,型循环,(REPEAT P UNTIL C),;,(f),语句标号;,(g),定义,图,6.7,使用,PAD,图提供的定义功能来逐步求精的例子,(a),初始的,PAD,图;,(b),使用,def,符号细化处理框,P2,判定表,条件茬,(Condition stub):,左上部分:列出了各种可能的条件。除去某些问题中对各个条件的先后次序有特定的要求以外,通常判定表中各条件的先后门次序不要求。,条件项,(Condition Entry):,右上部分:列出了各种条件的取值的组合。,条件定义,(,条件茬,),条件取值的组合,(,条件项,),动作定义,(,动作茬,),在各种取值的组合下应执行的动作,(,动作项,),动作茬,(Action Stub):,左下部分:列出 了可能采取的动作。这些动作的排列顺序没有限制,但为便于阅读可令其按适当的顺序排列。,动作项,(Action Entry),:右下部分:是和条件项紧密相关的,它指出了在条件项的各种取值的组合情况下应采取什么动作。,假设某航空公司规定,乘客可以免费托运行李的重量不超过,30,公斤。当行李的重量超出,30,公斤时 ,对一般舱的国内乘客超重部分每公斤收费,4,元,对头等舱的国内乘客超重部分每公斤收费,6,元。对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。试画出相应判定表。,判定树,判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。,判定树是由左边(树根)开始,沿着各个分支向右看,根据每一个条件的取值状态,可以找出相应的策略(即动作),所有的动作都在判定树的最右侧。,图,6.8,用判定树表示计算行李费的算法,7.6.1,逻辑覆盖,逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。,逻辑覆盖法,(续),条件组合覆盖,判定,/,条件覆盖,判定覆盖,条件覆盖,语句覆盖,路径覆盖,1,语句覆盖,入口,A 1,AND B=0,T,A=2,OR X 1,T,X = X / A,X = X + 1,返回,F,F,A,B,X,用例,1,2,0,4,用例,2,路径:,sacbed,S,a,b,c,e,d,2,判定覆盖,(,分支覆盖,),入口,A 1,AND B=0,T,A=2,OR X 1,T,X = X / A,X = X + 1,返回,F,F,A,B,X,用例,1,2,0,4,用例,2,1,1,1,S,a,b,c,e,d,路径:,sacbed,、,sabd,sacbd,、,sabed,3,条件覆盖,入口,A 1,AND B=0,T,A=2,OR X 1,T,X = X / A,X = X + 1,返回,F,F,A,B,X,用例,1,2,0,4,用例,2,1,1,1,A,B,X,用例,1,1,0,3,用例,2,2,1,1,S,a,b,c,e,d,应该有:,a,点:,A1,A0,b,点:,A=2,A2,X1,X 1,AND B=0,T,A=2,OR X 1,T,X = X / A,X = X + 1,返回,F,F,A,B,X,用例,1,2,0,4,用例,2,1,1,1,S,a,b,c,e,d,5,条件组合覆盖,可能的条件组合:,(,1,),A,1,,,B,0,(,2,),A,1,,,B0,(,3,),A1,,,B,0,(,4,),A1,,,B0,(,5,),A,2,,,x,1,(,6,),A,2,,,x1,(,7,),A2,,,x,1,(,8,),A2,,,x1,相应的输入数据:,A,2,,,B,0,,,x,4,满足(,1,)和(,5,),A,2,,,B,1,,,x,1,满足(,2,)和(,6,),A,1,,,B,0,,,x,2,满足(,3,)和(,7,),A,1,,,B,1,,,x,1,满足(,4,)和(,8,),显然,满足条件组合覆盖的测试数据,也一定满足判定覆盖、条件覆盖和判定条件覆盖标准。,每条可能的路径都至少执行一次。,入口,A 1,AND B=0,T,A=2,OR X 1,T,X = X / A,X = X + 1,返回,F,F,6,路径覆盖,Test cases:, A=1 , B=1 , X=1, A=1 , B=1 , X=2, A=3 , B=0 , X=1, A=2 , B=0 , X=4,S,a,b,c,e,d,独立,路径测试步骤:,导出程序流程图的拓扑结构,-,流图,(,控制流程图,),计算流图,G,的环路复杂性,V(G),确定只包含独立路径的基本路径集,剔除不可行路径,补充其他重要路径。,设计测试用例,黑盒测试,等价类划分,某一,8,位微机,其十六进制常数定义为:以,0x,或,0X,开头的数是十六进制整数,其值的范围是,-7f,7f,(表示十六进制的大小写字母不加区别),如,0X13,0X6A,-0X3c,。,划分等价类并编号,如下表所示。,输入数据,合理等价类,不合理等价类,十六进制整数,1,0x,或,0X,开头,1,2,位数字串,2,以,0x,打头的,1,2,位数字串,3,非,0x,或非打头的串,4,含有非数字且(,a,b,c,d,e,f,)以外字符,5,多于,5,个字符,6,后跟非,0,的多位串,7,0,后跟数字串,8,后多于,3,个数字,十六进制数范围,9,在,7f,7f,之间,10,小于,7f,11,大于,7f,为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子,测试数据,期望结果,覆盖范围,0x23,显示有效输入,1,,,9,0x15,显示有效输入,2,,,9,为每个不合理等价类至少设计一个测试用例,测试数据,期望结果,覆盖范围,2,显示无效输入,3,G12,显示无效输入,4,123311,显示无效输入,5,1012,显示无效输入,6,011,显示无效输入,7,0134,显示无效输入,8,0x777,显示无效输入,10,0x87,显示无效输入,11,边界值分析,1-,三角形问题,三角形问题接受三个整数,a,、,b,、,c,作为输入,代表三角形的三条边。,a,b,c,必须满足以下条件:,C1.1=a=200,C2.1=b=200,C3.1=c=200,C4.ab+c,C5.ba+c,C6.ca+b,程序的输出是由这三条边确定的三角形类型,等边三角形,等腰三角形,不等边三角形,非三角形,三角形问题的测试用例,-,边界值分析,用例,a,b,c,预期输出,1,100,100,1,等腰三角形,2,100,100,2,等腰三角形,3,100,100,100,等边三角形,4,100,100,199,非三角形,5,100,100,200,等腰三角形,6,100,1,100,等腰三角形,7,100,2,100,等腰三角形,8,100,100,100,等边三角形,9,100,199,100,等腰三角形,10,100,200,100,非三角形,11,1,100,100,等腰三角形,12,2,100,100,等腰三角形,13,100,100,100,等边三角形,14,199,100,100,等腰三角形,15,200,100,100,非三角形,三角形问题的最坏情况测试用例,三个变量:,a,b,c,产生,53=125,个测试用例,存在大量冗余,
展开阅读全文