《某科技大学软件测试技术课件.ppt》由会员分享,可在线阅读,更多相关《某科技大学软件测试技术课件.ppt(46页珍藏版)》请在三一办公上搜索。
1、软件测试技术,软件测试课程组西南科技大学计算机学院,问题引入,例:某个软件需求文档中有这样的说明:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。边界值测试等价类测试,4.3 基于判定表的测试,判定表基于判定表的测试案例:三角形问题,NextDate问题练习:隔一日问题,4.3.1 判定表,判定表的原理判定表的组成判定表建立的步骤,1.判定表的原理,判定表判定表(Decision Table),又叫决策表判定表是分析和表达多逻辑条件下执行不同操作的工具。在程序设计发展的初期,判定表被当作编写
2、程序的辅助工具。,2.判定表的组成,条件桩(Condition Stub)列出问题的所有条件动作桩(Action Stub)列出可能采取的操作条件项(Condition Entity)列出条件桩的取值动作项(Action Entity)列出条件项各种取值下应该采取的动作,判定表的组成,规则,任何一个条件组合的特定取值及其相应要执行的操作称为规则;在判定表中贯穿条件项和动作项的一列就是一条规则;判定表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。,规则示例:三角形问题,规则(续),规则合并规则合并就是判定表的简化。有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似
3、的关系,就可以将规则合并。,(1)两条规则合并成一条,条件项“”表示与取值无关。,条件项“”在逻辑上包含其它的条件。,(2)两条规则的进一步合并,3.判定表建立步骤,根据软件规格说明列出所有的条件桩和动作桩;确定规则的个数;假如有n个条件,每个条件有两个取值(0,1),则有2n 种规则;填入条件项;填入动作项,得到初始决策表;简化,合并相似规则(相同动作)。,例:维修机器问题,问题描述:“对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器,应给予优先的维修处理”请建立决策表。,例:维修机器问题(续),(1)列出所有的条件桩和动作桩条件桩C1:功率大于50马力吗?C2:维修记录
4、不全吗?C3:运行超过10年吗?动作桩A1:进行优先处理A2:作其他处理,例:维修机器问题(续),(2)确定规则个数输入条件个数:3;每个条件的取值:“是”或“否”;规则个数:2*2*2=8;,功率大于50马力吗 维修记录不全吗 运行超过10年吗,例:维修机器问题(续),(3)填入条件项;,利用集合的笛卡尔积计算条件项的取值,例:维修机器问题(续),(4)填入动作项;,1,2合并,5,7合并,6,8合并,例:维修机器问题(续),(5)化简;,4.3.2 基于判定表的测试,根据输入输出绘制判定表;设计测试用例覆盖判定表中每条规则;,4.3.3 案例:三角形问题,问题描述 输入三个正整数a、b、c
5、,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。请用基于判定表的方法设计测试用例。,(1)条件桩C1:a,b,c构成三角形?C2:a=b?C3:a=c?C4:b=c?(2)规则数共有四个条件,每个条件的取值为“是”或“否”,因此有24=16条规则。,一、设计判定表,(3)动作桩 A1:非三角形;A2:不等边三角形;A3:等腰三角形;A4:等边三角形;A5:不可能;,(4)判定表,注意:条件的选择可以大大扩展判定表的规模;例如a,b,c构成三角形吗?可以扩展为三个条件:a b+c?b a+c?c a+b?,条
6、件桩修改后的判定表,a=b,a=c,bc,二、设计测试用例,课堂练习,隔一天的日期程序有三个输入变量month、day、year,分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004年11月29日,则该程序的输出为2000年12月1日。,课后练习,登陆功能说明书:(用户输入和密码输入)1)管理员用户名为“admin”,密码为“123456”,正常登陆2)用户名和密码输入为空,提示“用户和密码不允许为空”在用户名和密码非空的情况下:3)要求用户名必须输入字母,否则提示“输入非法”4)要求密码必须输入数字,否则提示“输入非法”在输入合法的情况下:5
7、)用户名错误,提示“用户名和密码输入错误”,用户名和密码清空6)用户名正确,密码错误,提示“用户名和密码输入错误”,用户名保留,密码清空,4.3.4 案例:NextDate函数,问题描述 程序有三个输入变量month、day、year,并且满足:1month12、1day31、1900 year 2050。它们分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。,第一次尝试,M1=月份:每月有30天M2=月份:每月有31天M3=月份:此月是2月D1=日期:1日期28D2=日期:日期=29D
8、3=日期:日期=30D4=日期:日期=31Y1=年:年是闰年Y2=年:年是平年,有256条规则的第一次尝试,年变量对应的等价类收缩为表中的一个条件,第二次尝试(重点考虑闰年),M1=月份:每月有30天M2=月份:每月有31天M3=月份:此月是2月D1=日期:1日期28D2=日期:日期=29D3=日期:日期=30D4=日期:日期=31Y1=年:年是平年Y2=年:年是闰年,第三次尝试(关注日期和月份),M1=月份:每月有30天M2=月份:每月有31天,12月除外M3=月份:此月是12月M4=月份:此月是2月D1=日期:1日期 27D2=日期:日期=28D3=日期:日期=29D4=日期:日期=30D
9、5=日期:日期=31Y1=年:年是闰年Y2=年:年不是闰年,NextDate函数的判定表,每月30天,每月31天,12月除外,续,此月是12月,此月是2月,此年是闰年,NextDate函数的精简判定表,续,NextDate函数的测试用例,指导方针和观察,判定表技术适用的应用程序的特征:if-then-else逻辑很突出输入变量之间存在逻辑关系涉及输入变量子集的计算输入与输出之间存在因果关系很高的McCabe圈复杂度,判定表的优点能把复杂的问题按各种可能的情况一一列举出来简明而易于理解可避免遗漏,判定表的缺点不能表达重复执行的动作,例如循环结构判定表不能很好地伸缩有n个条件的决策表有2n 个规则
10、。解决方法使用扩展条目判定表、代数简化表,将大表“分解”为小表,查找条件项的判定表式,小 结,判定表(决策表)测试的原理三角形问题的测试用例NextDate函数测试用例判定表测试的讨论,作业:教材87页:9题、10题、11题,问题与讨论,1、不是井里没有水,而是你挖的不够深。不是成功来得慢,而是你努力的不够多。2、孤单一人的时间使自己变得优秀,给来的人一个惊喜,也给自己一个好的交代。3、命运给你一个比别人低的起点是想告诉你,让你用你的一生去奋斗出一个绝地反击的故事,所以有什么理由不努力!4、心中没有过分的贪求,自然苦就少。口里不说多余的话,自然祸就少。腹内的食物能减少,自然病就少。思绪中没有过
11、分欲,自然忧就少。大悲是无泪的,同样大悟无言。缘来尽量要惜,缘尽就放。人生本来就空,对人家笑笑,对自己笑笑,笑着看天下,看日出日落,花谢花开,岂不自在,哪里来的尘埃!25、你不能拼爹的时候,你就只能去拼命!26、如果人生的旅程上没有障碍,人还有什么可做的呢。27、我们无法选择自己的出身,可是我们的未来是自己去改变的。励志名言:比别人多一点执着,你就会创造奇迹28、伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。29、人生就像一道漫长的阶梯,任何人也无法逆向而行,只能在急促而繁忙的进程中,偶尔转过头来,回望自己留下的蹒跚脚印。30、时间,带不走真正的朋友;岁月
12、,留不住虚幻的拥有。时光转换,体会到缘分善变;平淡无语,感受了人情冷暖。有心的人,不管你在与不在,都会惦念;无心的情,无论你好与不好,只是漠然。走过一段路,总能有一次领悟;经历一些事,才能看清一些人。31、我们无法选择自己的出身,可是我们的未来是自己去改变的。32、命好不如习惯好。养成好习惯,一辈子受用不尽。33、比别人多一点执着,你就会创造奇迹。50、想像力比知识更重要。不是无知,而是对无知的无知,才是知的死亡。51、对于最有能力的领航人风浪总是格外的汹涌。52、思想如钻子,必须集中在一点钻下去才有力量。53、年少时,梦想在心中激扬迸进,势不可挡,只是我们还没学会去战斗。经过一番努力,我们终
13、于学会了战斗,却已没有了拼搏的勇气。因此,我们转向自身,攻击自己,成为自己最大的敌人。54、最伟大的思想和行动往往需要最微不足道的开始。55、不积小流无以成江海,不积跬步无以至千里。56、远大抱负始于高中,辉煌人生起于今日。57、理想的路总是为有信心的人预备着。58、抱最大的希望,为最大的努力,做最坏的打算。59、世上除了生死,都是小事。从今天开始,每天微笑吧。60、一勤天下无难事,一懒天下皆难事。61、在清醒中孤独,总好过于在喧嚣人群中寂寞。62、心里的感觉总会是这样,你越期待的会越行越远,你越在乎的对你的伤害越大。63、彩虹风雨后,成功细节中。64、有些事你是绕不过去的,你现在逃避,你以后
14、就会话十倍的精力去面对。65、只要有信心,就能在信念中行走。66、每天告诉自己一次,我真的很不错。67、心中有理想 再累也快乐68、发光并非太阳的专利,你也可以发光。69、任何山都可以移动,只要把沙土一卡车一卡车运走即可。70、当你的希望一个个落空,你也要坚定,要沉着!71、生命太过短暂,今天放弃了明天不一定能得到。72、只要路是对的,就不怕路远。73、如果一个人爱你、特别在乎你,有一个表现是他还是有点怕你。74、先知三日,富贵十年。付诸行动,你就会得到力量。75、爱的力量大到可以使人忘记一切,却又小到连一粒嫉妒的沙石也不能容纳。1、这世上,没有谁活得比谁容易,只是有人在呼天抢地,有人在默默努
15、力。2、当热诚变成习惯,恐惧和忧虑即无处容身。缺乏热诚的人也没有明确的目标。热诚使想象的轮子转动。一个人缺乏热诚就象汽车没有汽油。善于安排玩乐和工作,两者保持热诚,就是最快乐的人。热诚使平凡的话题变得生动。3、起点低怕什么,大不了加倍努力。人生就像一场马拉松比赛,拼的不是起点,而是坚持的耐力和成长的速度。只要努力不止,进步也会不止。4、如果你不相信努力和时光,那么时光第一个就会辜负你。不要去否定你的过去,也不要用你的过去牵扯你的未来。不是因为有希望才去努力,而是努力了,才能看到希望。5、人生每天都要笑,生活的下一秒发生什么,我们谁也不知道。所以,放下心里的纠结,放下脑中的烦恼,放下生活的不愉快
16、,活在当下。人生喜怒哀乐,百般形态,不如在心里全部淡然处之,轻轻一笑,让心更自在,生命更恒久。积极者相信只有推动自己才能推动世界,只要推动自己就能推动世界。6、人性本善,纯如清溪流水凝露莹烁。欲望与情绪如风沙袭扰,把原本如天空旷蔚蓝的心蒙蔽。但我知道,每个人的心灵深处,不管乌云密布还是阴淤苍茫,但依然有一道彩虹,亮丽于心中某处。7、每个人的心里,都藏着一个了不起的自己,只要你不颓废,不消极,一直悄悄酝酿着乐观,培养着豁达,坚持着善良,只要在路上,就没有到达不了的远方!8、不要活在别人眼中,更不要活在别人嘴中。世界不会因为你的抱怨不满而为你改变,你能做到的只有改变你自己!9、欲戴王冠,必承其重。
17、哪有什么好命天赐,不都是一路披荆斩棘才换来的。10、放手如拔牙。牙被拔掉的那一刻,你会觉得解脱。但舌头总会不由自主地往那个空空的牙洞里舔,一天数次。不痛了不代表你能完全无视,留下的那个空缺永远都在,偶尔甚至会异常挂念。适应是需要时间的,但牙总是要拔,因为太痛,所以终归还是要放手,随它去。11、这个世界其实很公平,你想要比别人强,你就必须去做别人不想做的事,你想要过更好的生活,你就必须去承受更多的困难,承受别人不能承受的压力。12、逆境给人宝贵的磨炼机会。只有经得起环境考验的人,才能算是真正的强者。自古以来的伟人,大多是抱着不屈不挠的精神,从逆境中挣扎奋斗过来的。13、不同的人生,有不同的幸福。
18、去发现你所拥有幸运,少抱怨上苍的不公,把握属于自己的幸福。你,我,我们大家都可以经历幸福的人生。14、给自己一份坚强,擦干眼泪;给自己一份自信,不卑不亢;给自己一份洒脱,悠然前行。轻轻品,静静藏。为了看阳光,我来到这世上;为了与阳光同行,我笑对忧伤。15、总不能流血就喊痛,怕黑就开灯,想念就联系,疲惫就放空,被孤立就讨好,脆弱就想家,不要被现在而蒙蔽双眼,终究是要长大,最漆黑的那段路终要自己走完。21、每个人都有潜在的能量,只是很容易:被习惯所掩盖,被时间所迷离,被惰性所消磨。22、不论你在什么时候开始,重要的是开始之后就不要轻言放弃。23、恨别人,痛苦的却是自己。24、每天醒来,敲醒自己的不
19、是钟声,而是梦想。25、你不能拼爹的时候,你就只能去拼命!26、如果人生的旅程上没有障碍,人还有什么可做的呢。27、我们无法选择自己的出身,可是我们的未来是自己去改变的。励志名言:比别人多一点执着,你就会创造奇迹28、伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。29、人生就像一道漫长的阶梯,任何人也无法逆向而行,只能在急促而繁忙的进程中,偶尔转过头来,回望自己留下的蹒跚脚印。30、时间,带不走真正的朋友;岁月,留不住虚幻的拥有。时光转换,体会到缘分善变;平淡无语,感受了人情冷暖。有心的人,不管你在与不在,都会惦念;无心的情,无论你好与不好,只是漠然。走过一段路,总能有一次领悟;经历一些事,才能看清一些人。31、我们无法选择自己的出身,可是我们的未来是自己去改变的。32、命好不如习惯好。养成好习惯,一辈子受用不尽。33、比别人多一点执着,你就会创造奇迹。,