资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件测试软件测试功能性测试功能性测试软件测试软件测试1 1软件测试软件测试功能性测试功能性测试功能性测试边界值测试边界值测试等价类测试等价类测试基于决策表的测试基于决策表的测试功能性测试的回顾功能性测试的回顾2 2软件测试软件测试功能性测试功能性测试4 决策表原因原因基本组成基本组成决策表的生成决策表的生成决策表的化简决策表的化简测试用例的设计测试用例的设计讨论讨论3 3软件测试软件测试功能性测试功能性测试4.1 产生的原因四四 决决策策表表决策表方法是功能性测试方法中最严格的。决策表的完备性保证一种完备的测试决策表的完备性保证一种完备的测试决策表方法可适用各种情况,不必要求数据的独立性4 4软件测试软件测试功能性测试功能性测试4 决策表原因原因基本组成基本组成决策表的化简决策表的化简决策表的生成决策表的生成测试用例的设计测试用例的设计讨论讨论5 5软件测试软件测试功能性测试功能性测试4.2 基本组成决策表的各个部分决策表的各个部分 四四 决决策策表表条件桩条件桩条件项条件项行动桩行动桩行动项行动项Condition Stub:列出问题的所有列出问题的所有条件条件Condition Entry :针对左列条件取值,针对左列条件取值,给出真假值给出真假值Action Stub :列出问题规定可能采取列出问题规定可能采取的行动的行动Action Entry :在条件组合下应采取在条件组合下应采取的行动的行动规则规则6 6软件测试软件测试功能性测试功能性测试4.2 基本组成决策表的各个部分例决策表的各个部分例 四四 决决策策表表桩桩r1r2r3-4r5r6r7-8条条件件 c1YYYNNNc2YYNYYNc3YN-YN-行行动动a1a2a3a4Condition Stub:列出问题列出问题的所有条件的所有条件Condition Entry :针对左列针对左列条件取值,给出真假值条件取值,给出真假值ActionStub :列出问题规列出问题规定可能采取的行动定可能采取的行动Action Entry :在条件组合下应采在条件组合下应采取的行动取的行动规则规则if then7 7软件测试软件测试功能性测试功能性测试4.2 基本组成读书指南决策表读书指南决策表四四 决决策策表表12345678问问题题你觉得疲倦吗?你觉得疲倦吗?YYYYNNNN你对内容感兴趣吗?你对内容感兴趣吗?YYNNYYNN书中的内容使你糊涂?书中的内容使你糊涂?YNYNYNYN建建议议请回到本章开头重读请回到本章开头重读继续读下去继续读下去跳到下一章去读跳到下一章去读停止阅读,请休息停止阅读,请休息Condition Stub:列出问题列出问题的所有条件的所有条件Condition Entry :针对左列针对左列条件取值,给出真假值条件取值,给出真假值ActionStub :列出问题规列出问题规定可能采取的行动定可能采取的行动Action Entry :在条件组合下应采在条件组合下应采取的行动取的行动规则规则If then8 8软件测试软件测试功能性测试功能性测试4.2 基本组成如果条件条目具有二值逻辑如果条件条目具有二值逻辑,则决策表则决策表的条件部分是旋转了的条件部分是旋转了90度的真值表度的真值表保证覆盖所有可能的条件值组合保证覆盖所有可能的条件值组合四四 决决策策表表决策表的完备性保证一种完备的测试决策表的完备性保证一种完备的测试决策表的特点决策表的特点 9 9软件测试软件测试功能性测试功能性测试决策表的各种表示方法C1:a,b,c构成三角形?构成三角形?NYYYYYYYYC2:a=b吗?吗?-YYYYNNNNC3:a=c吗?吗?-YYNNYYNNC4:b=c吗?吗?-YNYNYNYNA1:非三角形非三角形A2:不等边三角形不等边三角形A3:等腰三角形等腰三角形A4:等边三角形等边三角形A5:不可能不可能增加行动-通过增加行动,可显示何时规则在逻辑上通过增加行动,可显示何时规则在逻辑上不可能满不可能满足足四四 决决策策表表1010软件测试软件测试功能性测试功能性测试决策表的各种表示方法细化条件 C1:ab+c?NYYYYYYYYYYC2:ba+c?-NYYYYYYYYYC3:ca+b?-NYYYYYYYYC4:a=b吗?吗?-YYYYNNNNC5:a=c吗?吗?-YYNNYYNNC6:b=c吗?吗?-YNYNYNYNA1:非三角形非三角形A2:不等边三角形不等边三角形A3:等腰三角形等腰三角形A4:等边三角形等边三角形A5:不可能不可能四四 决决策策表表1111软件测试软件测试功能性测试功能性测试决策表的各种表示方法增加一行规则条数统计C1:ab+c?NYYYYYYYYYYC2:ba+c?-NYYYYYYYYYC3:c500 500 =500 60 60500金额金额=500欠款欠款60欠款欠款60发批准书、发货单发批准书、发货单不发批准书不发批准书发批准书、发货单发批准书、发货单发批准书、发货单和赊欠报告发批准书、发货单和赊欠报告2020软件测试软件测试功能性测试功能性测试4 决策表原因原因基本组成基本组成决策表的化简决策表的化简决策表的生成决策表的生成测试用例的设计测试用例的设计讨论讨论2121软件测试软件测试功能性测试功能性测试4.5 测试用例的设计用决策表表示测试用例,则输入即为条用决策表表示测试用例,则输入即为条件,输出即为行动,有时,条件最终引件,输出即为行动,有时,条件最终引用输入的等价类,行动则引用软件的主用输入的等价类,行动则引用软件的主要功能处理部分要功能处理部分决策表可机械地强制为完备的,故可得决策表可机械地强制为完备的,故可得到测试用例的完整集合到测试用例的完整集合四四 决决策策表表2222软件测试软件测试功能性测试功能性测试4.5 测试用例的设计三角形问题三角形问题三角形问题三角形问题四四 决决策策表表输出的等价类输出的等价类R1=|R1=|有三条边有三条边a,b,ca,b,c的等边三角形的等边三角形 R2=|R2=|有三条边有三条边a,b,ca,b,c的等腰三角形的等腰三角形 R3=|R3=|有三条边有三条边a,b,ca,b,c的不等边三角形的不等边三角形 R4=|R4=|三条边三条边a,b,ca,b,c不构成三角形不构成三角形 能构成三角形?能构成三角形?三角形类型?三角形类型?2323软件测试软件测试功能性测试功能性测试4.5 测试用例的设计三角形问题的决策表三角形问题的决策表三角形问题的决策表三角形问题的决策表四四 决决策策表表C1:a,b,c构成三角形?构成三角形?NYYYYYYYYC2:a=b吗?吗?-YYYYNNNNC3:a=c吗?吗?-YYNNYYNNC4:b=c吗?吗?-YNYNYNYNA1:非三角形非三角形A2:不等边三角形不等边三角形A3:等腰三角形等腰三角形A4:等边三角形等边三角形A5:不可能不可能通过增加行动,显示何时规则在逻辑上通过增加行动,显示何时规则在逻辑上不可能满足不可能满足通过条件选择,扩展决策表的规模通过条件选择,扩展决策表的规模输入条件的等价类输入条件的等价类D1=|a=b+cD1=|a=b+c D2=|b=a+cD2=|b=a+c D3=|c=a+bD3=|c=a+b 2424软件测试软件测试功能性测试功能性测试4.5 测试用例的设计改进的三角形问题的决策表改进的三角形问题的决策表改进的三角形问题的决策表改进的三角形问题的决策表四四 决决策策表表C1:ab+c?NYYYYYYYYYYC2:ba+c?-NYYYYYYYYYC3:ca+b?-NYYYYYYYYC4:a=b吗?吗?-YYYYNNNNC5:a=c吗?吗?-YYNNYYNNC6:b=c吗?吗?-YNYNYNYNA1:非三角形非三角形A2:不等边三角形不等边三角形A3:等腰三角形等腰三角形A4:等边三角形等边三角形A5:不可能不可能不关心条目对完整决策树不关心条目对完整决策树的识别有微妙影响。的识别有微妙影响。2525软件测试软件测试功能性测试功能性测试4.5 测试用例的设计改进的三角形问题的决策表改进的三角形问题的决策表改进的三角形问题的决策表改进的三角形问题的决策表四四 决决策策表表对于有限条目决策表:对于有限条目决策表:若有若有n个条件,须有个条件,须有( 2n)条规则。若存在条规则。若存在不关心项不关心项,则规则中每出现一个不关心项,规则数乘,则规则中每出现一个不关心项,规则数乘1次次 2。C1:ab+c?NYYYYYYYYYYC2:ba+c?-NYYYYYYYYYC3:ca+b?-NYYYYYYYYC4:a=b吗?吗?-YYYYNNNNC5:a=c吗?吗?-YYNNYYNNC6:b=c吗?吗?-YNYNYNYN规则条数统计规则条数统计A1:非三角形非三角形A2:不等边三角形不等边三角形A3:等腰三角形等腰三角形A4:等边三角形等边三角形A5:不可能不可能规则总数:规则总数: 64个个规则条数统计规则条数统计32168111111112626软件测试软件测试功能性测试功能性测试4.5 测试用例的设计改进的三角形问题的测试用例改进的三角形问题的测试用例改进的三角形问题的测试用例改进的三角形问题的测试用例用例用例IDabc预期输出预期输出1 14 41 12 2非三角形非三角形2 21 14 42 2非三角形非三角形3 31 12 24 4非三角形非三角形4 45 55 55 5等边三角形等边三角形5 5? ? ? ?不可能不可能6 6? ? ? ?不可能不可能7 72 23 32 2等腰三角形等腰三角形8 8? ? ? ?不可能不可能9 93 32 22 2等腰三角形等腰三角形10102 22 23 3等腰三角形等腰三角形11113 34 45 5不等边三角形不等边三角形四四 决决策策表表2727软件测试软件测试功能性测试功能性测试4.5 测试用例的设计NextDateNextDate问题问题问题问题四四 决决策策表表若条件引用了等价类,则若条件引用了等价类,则“”的实际含义为:的实际含义为:“必须失必须失败败”输入条件的等价类输入条件的等价类M1=M1=月份月份| |每月每月3131天天 M2=M2=月份月份| |每月每月3030天天 M3=M3=月份月份| |此月为此月为2 2月月 条件条件规则规则1规则规则2规则规则3C1:月份在月份在M1中吗?中吗?Y-C2:月份在月份在M2中吗?中吗?-Y-C3:月份在月份在M3中吗?中吗?-Y规则条数规则条数444A1:A2:规则总数:规则总数: 8个个不关心条目对完整决策的不关心条目对完整决策的识别有微妙影响。识别有微妙影响。2828软件测试软件测试功能性测试功能性测试4.5 测试用例的设计NextDateNextDate问题问题问题问题条件条件1.1 1.2 1.3 1.4 2.1 2.2 2.3 2.4 3.1 3.2 3.3 3.4C1:月份在月份在M1中吗?中吗? YYYYYYNNYYNNC2:月份在月份在M2中吗?中吗? YYNNYYYYYNYNC3:月份在月份在M3中吗?中吗? YNYNYNYNYYYY规则条数规则条数111111111111A1:A2:1 2345 67四四 决决策策表表规则总数:规则总数: 8个个2929软件测试软件测试功能性测试功能性测试4.5 测试用例的设计NextDateNextDate问题问题问题问题条件条件1.11.21.31.42.32.43.4C1:月份在月份在M1中吗?中吗?YYYYNNNNC2:月份在月份在M2中吗?中吗?YYNNYYNNC3:月份在月份在M3中吗?中吗?YNYNYNYN规则条数规则条数11111111A1:不可能不可能A2:识别和(开发)完备决策表的能力,使我们在识别和(开发)完备决策表的能力,使我们在解决冗余性和不一致性方面处于有利地位。解决冗余性和不一致性方面处于有利地位。四四 决决策策表表3030软件测试软件测试功能性测试功能性测试4.5 测试用例的设计冗余决策表冗余决策表冗余决策表冗余决策表条件条件1-456789C1:月份在月份在M1中吗?中吗?YNNNNYC2:月份在月份在M2中吗?中吗?-YYNNNC3:月份在月份在M3中吗?中吗?-YNYNNA1: A2:- A3:9YNN规则规则1-41-4和和9 9是是冗余的冗余的冗余的冗余的 。四四 决决策策表表决策表是确定的。决策表是确定的。3131软件测试软件测试功能性测试功能性测试4.5 测试用例的设计不一致不一致决策表决策表决策表决策表条件条件1-456789C1:月份在月份在M1中吗?中吗?YNNNNYC2:月份在月份在M2中吗?中吗?-YYNNNC3:月份在月份在M3中吗?中吗?-YNYNNA1: A2:- A3:9YNN规则规则4 4和和9 9不一致。不一致。在决策表中应小心使用不关心条目在决策表中应小心使用不关心条目“”四四 决决策策表表决策表是不确定的。决策表是不确定的。3232软件测试软件测试功能性测试功能性测试四四 决决策策表表 4.5 测试用例的设计NextDateNextDate问题问题问题问题输入条件的等价类输入条件的等价类M1=M1=月份月份| |每月每月3030天天 M2=M2=月份月份| |每月每月3131天天 M3=M3=月份月份| |此月为此月为2 2月月 D1=D1=日期日期|1=|1=日期日期=28=28D2=D2=日期日期| |日期日期=29=29D3=D3=日期日期| |日期日期=30=30D4=D4=日期日期| |日期日期=31=31Y1=Y1=年年| |年是闰年年是闰年 Y2=Y2=年年| |年不是闰年年不是闰年 条件条件C1:月份在月份在M1中?中?Y Y-C2:月份在月份在M2中?中?Y-Y-C3:月份在月份在M3中?中?-YY-C4:日期在日期在D1中?中?-Y Y Y-Y Y C5:日期在日期在D2中?中?-Y-Y Y-Y Y C6:日期在日期在D3中?中?-Y-Y-Y Y-C7:日期在日期在D4中?中?-Y-Y Y-Y C8:年在年在Y1中?中?-A1:不可能不可能A2:NextDate关注不可能的组合关注不可能的组合A1:A1:月份中的天数太多月份中的天数太多A2:A2:不能出现在非闰年中不能出现在非闰年中A3:A3:计算计算NextDateNextDate规则总数:规则总数: 256个个3333软件测试软件测试功能性测试功能性测试4.5 测试用例的设计NextDateNextDate问题问题问题问题输入条件的等价类输入条件的等价类M1=M1=月份月份| |每月每月3030天天 M2=M2=月份月份| |每月每月3131天天 M3=M3=月份月份| |此月为此月为2 2月月 D1=D1=日期日期|1=|1=日期日期=28=28D2=D2=日期日期| |日期日期=29=29D3=D3=日期日期| |日期日期=30=30D4=D4=日期日期| |日期日期=31=31Y1=Y1=年年| |年是闰年年是闰年 Y2=Y2=年年| |年是平年年是平年 关注闰年关注闰年关注扩展条目决策表关注扩展条目决策表日期增日期增1 1日期复位日期复位月份增月份增1 1月份复位月份复位年增年增1 1四四 决决策策表表扩展动作桩扩展动作桩Y1=Y1=年年| |年是年是19001900年年 Y2=Y2=年年| | Y3=Y3=年年| | A1A1:不可能不可能A2A2:计算计算NextDateNextDateY1 = 年年: 年年= 1900Y2 = : 1812 年年 2012 AND (年年 1900) AND (年年= 0 mod 4)Y3 = 年年: (1812 年年 2012 AND年年 0 mod 4) 3434软件测试软件测试功能性测试功能性测试4.5 测试用例的设计NextDateNextDate问题问题问题问题条件条件12345678910111213141516C1:月份在月份在M1 M1 M1 M1 M2 M2 M2 M2 M3 M3 M3 M3 M3 M3 M3 M3C2:日期在日期在D1 D2D3D4 D1 D2 D3 D4 D1 D1 D1 D2 D2 D2 D3 D4C3:年年 在在-Y1 Y2 Y3 Y1 Y2 Y3-规则条数统计规则条数统计 3333333311111133A1:不可能不可能A2:日期增日期增1A3:日期复位日期复位A4:月份增月份增1?A5:月份复位月份复位?A6:年增年增1?规则总数:规则总数: 36个个四四 决决策策表表强一般等价类测试用例:强一般等价类测试用例: 36个个3535软件测试软件测试功能性测试功能性测试4.5 测试用例的设计NextDateNextDate问题问题问题问题输入条件的等价类输入条件的等价类M1=M1=月份月份| |每月每月3030天天 M2=M2=月份月份| |每月每月3131天天 M3=M3=月份月份| |此月为此月为2 2月月 D1=D1=日期日期|1=|1=日期日期=28=28D3=D3=日期日期| |日期日期=29=29D4=D4=日期日期| |日期日期=30=30D5=D5=日期日期| |日期日期=31=31Y1=Y1=年年| |年是年是19001900年年 Y2=Y2=年年| |年是闰年年是闰年 Y3=Y3=年年| |年是平年年是平年 输入条件的等价类输入条件的等价类M2=M2=月份月份| |每月每月3131天,天,1212月除外月除外 M3=M3=月份月份| |此月为此月为1212月月 M4=M4=月份月份| |此月为此月为2 2月月 输入条件的等价类输入条件的等价类D1=D1=日期日期|1=|1=日期日期=27=27D2=D2=日期日期| |日期日期=28=28输入条件的等价类输入条件的等价类Y1=Y1=年年| |年是闰年年是闰年 Y2=Y2=年年| |年不是闰年年不是闰年 四四 决决策策表表规则总数:规则总数: 40个个强一般等价类测试用例:强一般等价类测试用例: 40个个3636软件测试软件测试功能性测试功能性测试4.5 测试用例的设计NextDateNextDate问题问题问题问题四四 决决策策表表条件条件1-3456-91011-1415 16 17 18 19 2021,22C1:月份在月份在M1M1 M1M2M2M3M3 M4 M4 M4 M4 M4M4C2:日期在日期在D1-D3 D4 D5 D1-D4 D5 D1-D4 D5 D1 D2 D2 D3 D3 D4,D5C3: 年年 在在-Y1 Y2 Y1 Y2-A1:不可能不可能A2:日期增日期增1A3:日期复位日期复位A4:月份增月份增1A5:月份复位月份复位A6:年增年增1化简后的决策表化简后的决策表规则总数:规则总数: 22个个体现等价类的体现等价类的“相同处理相同处理”方针方针3737软件测试软件测试功能性测试功能性测试4.5 测试用例的设计NextDateNextDate问题的测试用例问题的测试用例问题的测试用例问题的测试用例四四 决决策策表表用例用例ID月份月份日期日期年年预期输出预期输出1-31-34 415152001200120012001年年4 4月月1616日日4 44 430302001200120012001年年5 5月月1 1日日5 54 4313120012001不可能不可能6-96-91 115152001200120012001年年1 1月月1616日日10101 131312001200120012001年年2 2月月1 1日日11-1411-14121215152001200120012001年年1212月月1616日日1515121231312001200120022002年年1 1月月1 1日日16162 215152001200120012001年年2 2月月1616日日17172 228282004200420042004年年2 2月月2929日日18182 228282001200120012001年年3 3月月1 1日日19192 229292004200420042004年年3 3月月1 1日日20202 2292920012001不可能不可能21,2221,222 2303020012001不可能不可能测试用例总数:测试用例总数: 13个个3838软件测试软件测试功能性测试功能性测试4.5 测试用例的设计佣金问题佣金问题佣金问题佣金问题四四 决决策策表表不适于用决策表分析方法不适于用决策表分析方法只有很少的决策逻辑只有很少的决策逻辑得到的测试用例与等价类测试用例一样得到的测试用例与等价类测试用例一样决策表适用于:决策表适用于:可发生大量决策的情况可发生大量决策的情况在输入变量之间存在重要的逻辑关系的情况在输入变量之间存在重要的逻辑关系的情况3939软件测试软件测试功能性测试功能性测试4 决策表原因原因基本组成基本组成决策表的化简决策表的化简决策表的生成决策表的生成测试用例的设计测试用例的设计讨论讨论4040软件测试软件测试功能性测试功能性测试4.6 决策表方法的讨论指导方针指导方针q 决策表技术适用于以下情况:决策表技术适用于以下情况:If-then-elseIf-then-else逻辑很突出逻辑很突出输入变量之间存在逻辑关系输入变量之间存在逻辑关系涉及输入变量子集的计算涉及输入变量子集的计算输入与输出之间存在因果关系输入与输出之间存在因果关系很高的圈复杂度很高的圈复杂度q 若决策表不能很好的伸缩(具有若决策表不能很好的伸缩(具有n个条件的有限条目决个条件的有限条目决策表有策表有2n个规则),可选的解决办法如下:个规则),可选的解决办法如下:扩展条目决策表扩展条目决策表代数简化表代数简化表四四 决决策策表表4141软件测试软件测试功能性测试功能性测试谢谢!谢谢!4242
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号