大学软件测试课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《大学软件测试课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 软件 测试 课件
- 资源描述:
-
1、17.2.2 7.2.2 基于逻辑的测试基于逻辑的测试(1)(1)一一.基于逻辑的测试基于逻辑的测试 1.1.如果一个软件系统的需求说明包含有大量的逻辑判断或条件组如果一个软件系统的需求说明包含有大量的逻辑判断或条件组 合时合时,则使用基于逻辑测试方法设计测试的实例。则使用基于逻辑测试方法设计测试的实例。2.2.基于逻辑的测试不仅可以对模块进行测试,而且也适用于单元基于逻辑的测试不仅可以对模块进行测试,而且也适用于单元 和系统的测试。和系统的测试。3.3.对以逻辑判断或条件组合为主的程序,可利用基于逻辑的测试,对以逻辑判断或条件组合为主的程序,可利用基于逻辑的测试,检验程序结构的一致性和完全性
2、。检验程序结构的一致性和完全性。4.4.基于逻辑的测试一般采用基于逻辑的测试一般采用判定表方法。判定表方法。二二.建立判定表建立判定表 1.1.判定表由条件段、判定项、动作段和动作项组成。判定表由条件段、判定项、动作段和动作项组成。2.2.规则表示在某些条件下程序所产生的动作。规则表示在某些条件下程序所产生的动作。3.3.判定表中的判定表中的Y Y、N N表示判定的结果真、假,表示判定的结果真、假,I I表示对应的判定对该规则表示对应的判定对该规则 无关紧要或无关紧要或Y Y或或N N,动作中的,动作中的Y Y、N N表示执行或不执行该动作。表示执行或不执行该动作。三三.使用判定表设计实例使用
3、判定表设计实例 1.1.根据每一个规则和对应的动作设计测试实例;根据每一个规则和对应的动作设计测试实例;2.2.测试路径的覆盖取决于规则的完全性与一致性。测试路径的覆盖取决于规则的完全性与一致性。http:/ 7.2.2 基于逻辑的测试基于逻辑的测试(2)(2)规则项规则项规则规则1 1规则规则2 2规则规则3 3规则规则4 4条条件件项项判定判定1 1Y YY YN NN N判定判定2 2Y YI IN NI I判定判定3 3N NY YN NI I判定判定4 4N NY YN NY Y动动作作动作动作1 1Y YY YN NN N动作动作2 2N NN NY YN N动作动作3 3N NN
4、 NN NY Y缺省规则项缺省规则项规则规则5 5规则规则6 6规则规则7 7规则规则8 8I IN NY YY YI IY YI IN NY YI IN NN NN NN NY YI IY YY YY YY Y规则规则条件条件动作动作 上述上述4 4个判定应有个判定应有1616个组合,上表并未覆盖全部组合,例如判定组合个组合,上表并未覆盖全部组合,例如判定组合(Y,N,N,N)(Y,N,N,N)没有。要实现完全覆盖,必须提供上述规则外的其它判定组合,没有。要实现完全覆盖,必须提供上述规则外的其它判定组合,并把这些判定组合与缺省动作对应,组成新的缺省规则。如右上表。并把这些判定组合与缺省动作对
5、应,组成新的缺省规则。如右上表。缺省动作缺省动作例例.如下判定表如下判定表http:/ 7.2.2 基于逻辑的测试基于逻辑的测试(3)(3)三三.与判定表中成份相关的问题与判定表中成份相关的问题 问问 题题含含 义义判定判定次次序序规则规则动作动作规则的规则的独立性独立性 规则的规则的完全性完全性 规则的规则的一致性一致性 I I项的项的扩展扩展 判定的次序不影响对规则的解释和最终的动作。判定的次序不影响对规则的解释和最终的动作。规则执行的先后顺序不影响规则的动作。规则执行的先后顺序不影响规则的动作。如果一条规则产生多个动作,则动作的次序是无关紧要的。如果一条规则产生多个动作,则动作的次序是无
6、关紧要的。规则是相互独立的,即一条规则条件的满足和动作的选取,与其它规规则是相互独立的,即一条规则条件的满足和动作的选取,与其它规则无关。则无关。如果每个判定值的组合如果每个判定值的组合(包括缺省情况的组合包括缺省情况的组合)在判定表中都是必须的,在判定表中都是必须的,那么称规则是完全的。反之,如果规则是不完全的,则可能存在某些判那么称规则是完全的。反之,如果规则是不完全的,则可能存在某些判定值的组合没有动作。定值的组合没有动作。如果每个判定值的组合仅产生一个动作或一组动作,那么称规则是一如果每个判定值的组合仅产生一个动作或一组动作,那么称规则是一致的。反之,如果规则不一致,则最少存在一组判定
7、值组合,它产生致的。反之,如果规则不一致,则最少存在一组判定值组合,它产生两个或多个动作两个或多个动作(或动作组或动作组)。扩展扩展I I项就是把每个项就是把每个I I项变成两项:一项项变成两项:一项“Y Y”,一项,一项“N N”,使规则扩大一,使规则扩大一倍。如果某些判定是三元判定,一个倍。如果某些判定是三元判定,一个I I项就扩展为三项,等等。项就扩展为三项,等等。http:/ 7.2.2 基于逻辑的测试基于逻辑的测试(4)(4)例例1.1.从现金取款机中取款。从现金取款机中取款。对上述三项内容:有效的信用卡、打入的密码是正确的及帐户对上述三项内容:有效的信用卡、打入的密码是正确的及帐户
8、 中有足够的存款中有足够的存款,检查次序检查次序(判定次序判定次序)是无关紧要的,不同的检查是无关紧要的,不同的检查 次序不影响取款操作。次序不影响取款操作。例例2.2.判定表中判定值为判定表中判定值为I I的的“无关紧要无关紧要”项是最容易发生错误的地方。若项是最容易发生错误的地方。若 某一判定取值某一判定取值I I,表示规则不依赖于该判定值。但它可能取真值或,表示规则不依赖于该判定值。但它可能取真值或 假值。譬如规则:假值。譬如规则:R1R1如果一个技术员工龄超过如果一个技术员工龄超过5 5年,那么加薪年,那么加薪15%15%;R2R2如果一个工人,那么加薪如果一个工人,那么加薪5%5%。
9、在此工龄对技术员加薪是重要的,对工人无关紧要。但不能认在此工龄对技术员加薪是重要的,对工人无关紧要。但不能认 为工人的工龄不可能超过或小于为工人的工龄不可能超过或小于5 5年。年。取款机取款机有效的信用卡有效的信用卡正确的密正确的密码码帐户中有足够的存款帐户中有足够的存款现金现金http:/ 7.2.2 基于逻辑的测试基于逻辑的测试(5)(5)例例3.3.使用判定表对程序结构进行测试,如下程序结构图:使用判定表对程序结构进行测试,如下程序结构图:2 21 13 3A AD DB B动作动作 1 1Y YY YY Y5 5动作动作 3 3N N4 4动作动作 2 2N ND DY YN NN N
10、C CN NY Yhttp:/ 7.2.2 基于逻辑的测试基于逻辑的测试(6)(6)例例3.3.使用判定表对程序结构进行测试,如下程序结构图:使用判定表对程序结构进行测试,如下程序结构图:2 21 13 3A AD DB B动作动作 1 1Y YY YY Y5 5动作动作 3 3N N4 4动作动作 2 2N ND DY YN NN NC CN NY Yhttp:/ 7.2.2 基于逻辑的测试基于逻辑的测试(7)(7)程序结构图图对应的判定表如下:程序结构图图对应的判定表如下:规则项规则项规则规则1 1规则规则2 2规则规则3 3规则规则4 4规则规则5 5规则规则6 6条条件件项项判定判定A
11、 A判定判定B B判定判定C C判定判定D D动动作作动作动作1 1动作动作2 2动作动作3 3规则规则条件条件动作动作Y YY YY YY YY YY YY YY YY YY YY YN NY YN NN NN NN NN NN NN NN NN NN NN NN NN NN NN NN NI II II II II II II II IN NY YN NN NY Y 判定在路径上不判定在路径上不出现的地方填入出现的地方填入I I,将出现将出现I I的地方变成的地方变成两项两项Y Y与与N,N,可得到可得到1616种组合种组合(规则规则),且,且没有两种组合是重没有两种组合是重复的。如下表所
12、示。复的。如下表所示。规则规则1 1规则规则2 2规则规则3 3规则规则4 4规则规则5 5规则规则6 6判定判定A AY YY YY YY YY YY YY YY YN NN NN NN NN NN NN NN N判定判定B BY YY YN NN NN NN NY YY YY YY YN NN NN NY YY YN N判定判定C CY YN NN NN NY YY YY YN NY YY YY YY YN NN NN NN N判定判定D DY YY YY YN NN NY YN NN NN NY YY YN NY YY YN NN N从而说明上述程从而说明上述程序结构图是完全和序结构图是
13、完全和一致的。一致的。http:/ 7.3 黑盒测试黑盒测试(1)(1)一一.黑盒测试也称为功能测试黑盒测试也称为功能测试,它着眼于程序的外部特征它着眼于程序的外部特征,而不考虑程序而不考虑程序 的内部逻辑结构。测试者把被测程序看成一个黑盒的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序不用关心程序的的 内部结构。内部结构。二二.黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照 规格说明书的规定正常使用,程序是否能适当地接收输入数据产生规格说明书的规定正常使用,程序是否能适当地接收输入数据产生 正确的输出信息,并且保
14、持外部信息正确的输出信息,并且保持外部信息(如数据库或文件如数据库或文件)的完整性。的完整性。三三.用黑盒测试法发现程序中的错误必须用所有可能的输入数据来检查用黑盒测试法发现程序中的错误必须用所有可能的输入数据来检查 程序,看能否产生正确的输出。而这种完全的测试方法程序,看能否产生正确的输出。而这种完全的测试方法(即穷举法即穷举法),一般情况下一般情况下,很难做到很难做到,所以软件测试中很难发现所有的错误,即测试并不所以软件测试中很难发现所有的错误,即测试并不 能证明程序是正确的。能证明程序是正确的。四四.我们的目的是要通过测试保证软件的可靠性,只有很好设计测试方案,力我们的目的是要通过测试保
15、证软件的可靠性,只有很好设计测试方案,力 争用尽可能少的测试发现尽可能多的错误。争用尽可能少的测试发现尽可能多的错误。为此需要考虑可行的技术。为此需要考虑可行的技术。五五.黑盒测试技术包括黑盒测试技术包括:等价分类法、边沿值分析法、错误推测法和因等价分类法、边沿值分析法、错误推测法和因果果 图等技术图等技术。http:/ 7.3 黑盒测试黑盒测试(2)(2)对被测程序在一切可能输入情况下执行一遍,称为穷举测试。对被测程序在一切可能输入情况下执行一遍,称为穷举测试。为了做到穷举测试至少必须对所有输入数据各种可能值的排列组合进为了做到穷举测试至少必须对所有输入数据各种可能值的排列组合进行测试,但对
16、于实际程序而言,穷举测试通常是不可能做到的。行测试,但对于实际程序而言,穷举测试通常是不可能做到的。例例1:1:一个程序有两个输入变量一个程序有两个输入变量A,BA,B一个输出变量一个输出变量C,C,设设A,B,CA,B,C都是整型变都是整型变量量,如果在字长为如果在字长为3232位的计算机上运行位的计算机上运行,用黑盒法测试用黑盒法测试,则输入数据的可能则输入数据的可能性有性有 2 23232 2 23232=2=264 64 1.845 1.845 101019 19。假设这个程序执行一次需要假设这个程序执行一次需要1010-8-8秒秒(1(1亿次计算机亿次计算机),那么用这些数据来,那么
17、用这些数据来测试这个程序大约需要测试这个程序大约需要58505850年,这是不可能的。更不用说分析这些数据。年,这是不可能的。更不用说分析这些数据。在白盒测试中,同样要做到在白盒测试中,同样要做到穷举测试常常也是不可能的。穷举测试常常也是不可能的。例例2.2.一段程序,对嵌套一段程序,对嵌套IFIF语语句循环执行句循环执行2020次次(右图右图)在该段在该段程序中共有程序中共有5 52020(约约10101414)条可能条可能的执行通路的执行通路,即使每一条通路执即使每一条通路执行一次也是不可能的。行一次也是不可能的。http:/ 7.3.1 等价分类法等价分类法(1)(1)一一.等价类及其划
18、分等价类及其划分 名称名称等价类等价类等价类划分等价类划分定义定义 等价等价类划类划分的分的方法方法 某个输入集合的子集,某个输入集合的子集,在该等价类中每一个代在该等价类中每一个代表值在测试中的作用等表值在测试中的作用等价于这一类中的其它值。价于这一类中的其它值。划分等价类一般是从程序的功能说明中找出一划分等价类一般是从程序的功能说明中找出一个个输入条件个个输入条件,然后为每个输入条件划分两个或两然后为每个输入条件划分两个或两个以上的等价类个以上的等价类,其中合理等价类是指合法的输入其中合理等价类是指合法的输入数据数据,不合理等价类是指其它数据。不合理等价类是指其它数据。规定了输入值的范围。
19、规定了输入值的范围。划分出一个有效的等价类划分出一个有效的等价类(输入值在此范围内输入值在此范围内),),两两个无效的等价类个无效的等价类(输入值小于最小值或大于最大值输入值小于最小值或大于最大值)规定了输入数据的个数。规定了输入数据的个数。类似划分出一个有效的等价类类似划分出一个有效的等价类,两个无效的等价类。两个无效的等价类。规定了输入数据的一组值,规定了输入数据的一组值,而且程序对不同输入值作而且程序对不同输入值作不同处理。不同处理。每个允许的输入值是一个有效的等价类,此外还每个允许的输入值是一个有效的等价类,此外还有一个无效等价类有一个无效等价类(任一个不允许的输入值任一个不允许的输入
20、值)。规定了输入数据必须遵守规定了输入数据必须遵守的规则。的规则。划分出一个有效的等价类划分出一个有效的等价类(符合规则符合规则),),若干个无若干个无效的等价类效的等价类(从各种不同角度违反规则从各种不同角度违反规则)。程序的处理对象是表格。程序的处理对象是表格。使用空表、含一项的表或多项的表。使用空表、含一项的表或多项的表。输入条件是一个布尔量输入条件是一个布尔量可以确定一个有效等价类和一个无效等价类。可以确定一个有效等价类和一个无效等价类。http:/ 7.3.1 等价分类法等价分类法(2)(2)若在已划分的某一等价类中各元素在程序中的处理方式不同,则将此等价若在已划分的某一等价类中各元
21、素在程序中的处理方式不同,则将此等价类进一步划分为更小的等价类。上述规则是针对输入数据考虑的,大部分也类进一步划分为更小的等价类。上述规则是针对输入数据考虑的,大部分也适用于输出数据。适用于输出数据。划分等价类的举例划分等价类的举例 条条 件件划划 分分 方方 法法输入条件取值范围是输入条件取值范围是11,100100。有效等价类有效等价类:“11输入数据输入数据100100”;无效等价类无效等价类:“输入数据输入数据1 1”或或“输入数据输入数据100100”在程序功能规约中,规定在程序功能规约中,规定“一名一名教师一学期教授一到二门课程教师一学期教授一到二门课程”有效等价类有效等价类:“1
22、1教授课程教授课程2 2”;两个无效等价类两个无效等价类:“不教授课程不教授课程”或或“教授课程教授课程2 2”。在学生管理系统中,对一、二、在学生管理系统中,对一、二、三年级学生分别进行管理。三年级学生分别进行管理。等价类:一年级学生、二年级学生、三年级学生等价类:一年级学生、二年级学生、三年级学生无效等价类:上述三类学生以外的人员集合无效等价类:上述三类学生以外的人员集合若某文件中规定各数据项的关键若某文件中规定各数据项的关键字是首字符为字是首字符为K K。一个有效等价类:首字符为一个有效等价类:首字符为K K的输入值;的输入值;一个无效等价类:首字符不为一个无效等价类:首字符不为K K的
23、输入值。的输入值。规定了输入数据为整型。规定了输入数据为整型。划分出正整数、零和负整数三个有效的等价类;划分出正整数、零和负整数三个有效的等价类;一个无效等价类:输入字符是非整数。一个无效等价类:输入字符是非整数。http:/ 7.3.1 等价分类法等价分类法(3)(3)二二.利用等价类划分技术设计测试用例的步骤利用等价类划分技术设计测试用例的步骤 1.1.为每个等价类编号;为每个等价类编号;2.2.设计一个新的测试方案设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等以尽可能多的覆盖尚未被覆盖的有效等 价类价类,重复这一步骤重复这一步骤,直到所有有效等价类被覆盖为止。直到所有有效等价类
24、被覆盖为止。3.3.设计一个新的测试方案设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类使它覆盖一个尚未被覆盖的无效等价类,重复这一步骤重复这一步骤,直到所有无效等价类被覆盖为止。直到所有无效等价类被覆盖为止。例例.一程序实现把数字串转变成整数。假设运行程序的计算机字长一程序实现把数字串转变成整数。假设运行程序的计算机字长 1616位,用二进制补码表示整数。该程序用位,用二进制补码表示整数。该程序用PascalPascal语言编写,其语言编写,其 说明如下:说明如下:type shortstr=array1.6 of chartype shortstr=array1.6 of char
25、;function strtiont(dstr:shortstr):integer;function strtiont(dstr:shortstr):integer;设被处理的数字串是右对齐的,如果数字串少于设被处理的数字串是右对齐的,如果数字串少于6 6个字符,则在个字符,则在 左边补空格;如果数字串是负的,负号在最高位数字左边。左边补空格;如果数字串是负的,负号在最高位数字左边。根据该程序的规格说明,作等价类的划分,并设计测试方案。根据该程序的规格说明,作等价类的划分,并设计测试方案。http:/ 7.3.1 等价分类法等价分类法(4)(4)1.1.等价类等价类输输入入有效等价类有效等价类
展开阅读全文