欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件测试第03章(2).ppt

    • 资源ID:70988498       资源大小:601KB        全文页数:68页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件测试第03章(2).ppt

    3.3 黑黑 盒盒 测测 试试 技技 术术 黑盒测试也称数据驱动测试,在测试时,黑盒测试也称数据驱动测试,在测试时,把程序看作一个不能打开的黑盒子,在完全不把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试。者在程序接口进行测试。在黑盒测试过程中,只是通过在黑盒测试过程中,只是通过输入数据、输入数据、进行操作、观察输出结果进行操作、观察输出结果,来检查软件系统是,来检查软件系统是否按照需求规格说明书的规定正常使用,软件否按照需求规格说明书的规定正常使用,软件是否能适当地接收输入数据而产生正确的输出是否能适当地接收输入数据而产生正确的输出信息,并保持外部信息的完整性。信息,并保持外部信息的完整性。13.3.1 功能测试功能测试 1.等价类划分法等价类划分法 等价类划分法是一种重要的、常用的等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试进行合理分类,从而保证设计出来的测试用例具有用例具有完整性和代表性完整性和代表性。2举例:设计测试用例,来实现一个对所有实数进行举例:设计测试用例,来实现一个对所有实数进行举例:设计测试用例,来实现一个对所有实数进行举例:设计测试用例,来实现一个对所有实数进行开平方运算(开平方运算(开平方运算(开平方运算(y=y=sqrt(xsqrt(x))的程序的测试。)的程序的测试。)的程序的测试。)的程序的测试。思考方向:思考方向:思考方向:思考方向:由于开平方运算只对非负实数有效,这时需要由于开平方运算只对非负实数有效,这时需要由于开平方运算只对非负实数有效,这时需要由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域将所有的实数(输入域将所有的实数(输入域将所有的实数(输入域x x)进行划分,可以分成:正)进行划分,可以分成:正)进行划分,可以分成:正)进行划分,可以分成:正实数、实数、实数、实数、0 0 和和和和 负实数。假设我们选定负实数。假设我们选定负实数。假设我们选定负实数。假设我们选定+1.4444+1.4444代表正实代表正实代表正实代表正实数,数,数,数,-2.345-2.345代表负实数,则为该程序设计的测试用例代表负实数,则为该程序设计的测试用例代表负实数,则为该程序设计的测试用例代表负实数,则为该程序设计的测试用例的输入为的输入为的输入为的输入为+1.4444+1.4444、0 0 和和和和 -2.345-2.345。3等价类划分法是把所有可能的输入数据,即程序等价类划分法是把所有可能的输入数据,即程序等价类划分法是把所有可能的输入数据,即程序等价类划分法是把所有可能的输入数据,即程序的的的的输入域划分输入域划分输入域划分输入域划分为若干部分(子集),然后从每一个为若干部分(子集),然后从每一个为若干部分(子集),然后从每一个为若干部分(子集),然后从每一个子集中子集中子集中子集中选取少数具有代表性选取少数具有代表性选取少数具有代表性选取少数具有代表性的数据作为测试用例。的数据作为测试用例。的数据作为测试用例。的数据作为测试用例。所谓等价类是指某个输入域的子集合。在该子集所谓等价类是指某个输入域的子集合。在该子集所谓等价类是指某个输入域的子集合。在该子集所谓等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等合中,各个输入数据对于揭露程序中的错误都是等合中,各个输入数据对于揭露程序中的错误都是等合中,各个输入数据对于揭露程序中的错误都是等效的,它们具有等价特性,即每一类的代表性数据效的,它们具有等价特性,即每一类的代表性数据效的,它们具有等价特性,即每一类的代表性数据效的,它们具有等价特性,即每一类的代表性数据在测试中的作用都等价于这一类中的其它数据。这在测试中的作用都等价于这一类中的其它数据。这在测试中的作用都等价于这一类中的其它数据。这在测试中的作用都等价于这一类中的其它数据。这样,对于表征该类的数据输入将能代表整个子集合样,对于表征该类的数据输入将能代表整个子集合样,对于表征该类的数据输入将能代表整个子集合样,对于表征该类的数据输入将能代表整个子集合的输入。因此,可以合理的假定:的输入。因此,可以合理的假定:的输入。因此,可以合理的假定:的输入。因此,可以合理的假定:测试某等价类的代表值就是等效于对于这一测试某等价类的代表值就是等效于对于这一测试某等价类的代表值就是等效于对于这一测试某等价类的代表值就是等效于对于这一类其它值的测试类其它值的测试类其它值的测试类其它值的测试。4如何划分?如何划分?先从程序的规格说明书中找出各个输入先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分两个或多个等条件,再为每个输入条件划分两个或多个等价类,形成若干的价类,形成若干的互不相交的子集互不相交的子集。采用等价类划分法设计测试用例通常分两步采用等价类划分法设计测试用例通常分两步进行:进行:(1)确定等价类,列出等价类表。确定等价类,列出等价类表。(2)确定测试用例。)确定测试用例。5划分等价类可分为两种情况:划分等价类可分为两种情况:(1)有效等价类)有效等价类 是指对软件规格说明而言,是有意义的、合理是指对软件规格说明而言,是有意义的、合理的输入数据所组成的集合,能够检验程序的输入数据所组成的集合,能够检验程序是否实现是否实现了规格说明中预先规定的功能和性能。了规格说明中预先规定的功能和性能。(2)无效等价类)无效等价类 是指对软件规格说明而言,是无意义的、不合是指对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合,可以鉴别程序异常处理的输入数据所构成的集合,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现理的情况,检查被测对象的功能和性能的实现是否是否有不符合有不符合规格说明要求的地方。规格说明要求的地方。6进行等价类划分的依据:进行等价类划分的依据:(1 1)按照区间划分)按照区间划分)按照区间划分)按照区间划分 在输入条件规定了取值范围或值的个数在输入条件规定了取值范围或值的个数在输入条件规定了取值范围或值的个数在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。的情况下,可以确定一个有效等价类和两个无效等价类。的情况下,可以确定一个有效等价类和两个无效等价类。的情况下,可以确定一个有效等价类和两个无效等价类。例:例:例:例:程序输入条件为小于程序输入条件为小于程序输入条件为小于程序输入条件为小于100100大于大于大于大于1010的整数的整数的整数的整数x x,则有效等价类,则有效等价类,则有效等价类,则有效等价类为为为为1010 x x100100,两个无效等价类为,两个无效等价类为,两个无效等价类为,两个无效等价类为x10 x10和和和和x100 x100。例:例:例:例:程序输入程序输入程序输入程序输入x x取值于一个固定的枚举类型取值于一个固定的枚举类型取值于一个固定的枚举类型取值于一个固定的枚举类型1,3,7,151,3,7,15,且程,且程,且程,且程序序序序 中对这中对这中对这中对这4 4个数值分别进行了处理,则有效等价类为个数值分别进行了处理,则有效等价类为个数值分别进行了处理,则有效等价类为个数值分别进行了处理,则有效等价类为x=1x=1、x=3x=3、x=7x=7、x=15x=15,无效等价类为,无效等价类为,无效等价类为,无效等价类为x1,3,7,15x1,3,7,15的值的集合。的值的集合。的值的集合。的值的集合。(2 2)按照数值划分)按照数值划分)按照数值划分)按照数值划分 在规定了一组输入数据(假设包括在规定了一组输入数据(假设包括在规定了一组输入数据(假设包括在规定了一组输入数据(假设包括 n n个个个个 输入值),并且程序要对每一个输入值分别进行处理的情况输入值),并且程序要对每一个输入值分别进行处理的情况输入值),并且程序要对每一个输入值分别进行处理的情况输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定下,可确定下,可确定下,可确定 n n 个有效等价类(每个值确定一个有效等价类)个有效等价类(每个值确定一个有效等价类)个有效等价类(每个值确定一个有效等价类)个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。和一个无效等价类(所有不允许的输入值的集合)。和一个无效等价类(所有不允许的输入值的集合)。和一个无效等价类(所有不允许的输入值的集合)。7(3 3)按照数值集合划分)按照数值集合划分)按照数值集合划分)按照数值集合划分 在输入条件规定了输入值的集合或在输入条件规定了输入值的集合或在输入条件规定了输入值的集合或在输入条件规定了输入值的集合或规定了规定了规定了规定了“必须如何必须如何必须如何必须如何”的条件下,可以确定一个有效等价类和的条件下,可以确定一个有效等价类和的条件下,可以确定一个有效等价类和的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。一个无效等价类(该集合有效值之外)。一个无效等价类(该集合有效值之外)。一个无效等价类(该集合有效值之外)。例:例:例:例:程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数x x,则有效等价类为,则有效等价类为,则有效等价类为,则有效等价类为x x的值为奇数的整数,无效等价类为的值为奇数的整数,无效等价类为的值为奇数的整数,无效等价类为的值为奇数的整数,无效等价类为x x的值不为奇数的整数。的值不为奇数的整数。的值不为奇数的整数。的值不为奇数的整数。例:例:例:例:程序输入条件为以字符程序输入条件为以字符程序输入条件为以字符程序输入条件为以字符 aa开头、长度为开头、长度为开头、长度为开头、长度为8 8的字符串,并的字符串,并的字符串,并的字符串,并且字符串不包含且字符串不包含且字符串不包含且字符串不包含 a za z之外的其它字符,则有效等价类之外的其它字符,则有效等价类之外的其它字符,则有效等价类之外的其它字符,则有效等价类为满足了上述所有条件的字符串,无效等价类为不以为满足了上述所有条件的字符串,无效等价类为不以为满足了上述所有条件的字符串,无效等价类为不以为满足了上述所有条件的字符串,无效等价类为不以 aa开开开开头的字符串、长度不为头的字符串、长度不为头的字符串、长度不为头的字符串、长度不为8 8的字符串和包含了的字符串和包含了的字符串和包含了的字符串和包含了 a za z之外之外之外之外其它字符的字符串。其它字符的字符串。其它字符的字符串。其它字符的字符串。(5 5)细分等价类)细分等价类)细分等价类)细分等价类 在确知已划分的等价类中各元素在程序中在确知已划分的等价类中各元素在程序中在确知已划分的等价类中各元素在程序中在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为的处理方式不同的情况下,则应再将该等价类进一步划分为的处理方式不同的情况下,则应再将该等价类进一步划分为的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。更小的等价类,并建立等价类表。更小的等价类,并建立等价类表。更小的等价类,并建立等价类表。(4 4)按照限制条件或规则划分)按照限制条件或规则划分)按照限制条件或规则划分)按照限制条件或规则划分 在规定了输入数据必须遵守在规定了输入数据必须遵守在规定了输入数据必须遵守在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合的规则或限制条件的情况下,可确定一个有效等价类(符合的规则或限制条件的情况下,可确定一个有效等价类(符合的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。规则)和若干个无效等价类(从不同角度违反规则)。规则)和若干个无效等价类(从不同角度违反规则)。规则)和若干个无效等价类(从不同角度违反规则)。8在设计测试用例时,应同时考虑有效等价类和无效在设计测试用例时,应同时考虑有效等价类和无效在设计测试用例时,应同时考虑有效等价类和无效在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。根据已列出的等价类表确等价类测试用例的设计。根据已列出的等价类表确等价类测试用例的设计。根据已列出的等价类表确等价类测试用例的设计。根据已列出的等价类表确定测试用例,具体过程如下:定测试用例,具体过程如下:定测试用例,具体过程如下:定测试用例,具体过程如下:(1 1)首先为等价类表中的每一个等价类分别规定一)首先为等价类表中的每一个等价类分别规定一)首先为等价类表中的每一个等价类分别规定一)首先为等价类表中的每一个等价类分别规定一个唯一的编号。个唯一的编号。个唯一的编号。个唯一的编号。(2 2)设计一个新的测试用例,使它能够)设计一个新的测试用例,使它能够)设计一个新的测试用例,使它能够)设计一个新的测试用例,使它能够尽量覆盖尚尽量覆盖尚尽量覆盖尚尽量覆盖尚未覆盖的有效等价类未覆盖的有效等价类未覆盖的有效等价类未覆盖的有效等价类。重复这个步骤,直到所有的。重复这个步骤,直到所有的。重复这个步骤,直到所有的。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。有效等价类均被测试用例所覆盖。有效等价类均被测试用例所覆盖。有效等价类均被测试用例所覆盖。(3 3)设计一个新的测试用例,使它)设计一个新的测试用例,使它)设计一个新的测试用例,使它)设计一个新的测试用例,使它仅覆盖一个尚未仅覆盖一个尚未仅覆盖一个尚未仅覆盖一个尚未覆盖的无效等价类覆盖的无效等价类覆盖的无效等价类覆盖的无效等价类。重复这一步骤,直到所有的无。重复这一步骤,直到所有的无。重复这一步骤,直到所有的无。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。效等价类均被测试用例所覆盖。效等价类均被测试用例所覆盖。效等价类均被测试用例所覆盖。93 3条边分别为条边分别为条边分别为条边分别为A A、B B、C C,满足:,满足:,满足:,满足:A0A0,B0B0,C0C0,且,且,且,且A+BCA+BC,B+CAB+CA,A+CBA+CB;等腰需满足等腰需满足等腰需满足等腰需满足A=BA=B,或,或,或,或B=CB=C,或,或,或,或A=C A=C;等边需满足等边需满足等边需满足等边需满足A=BA=B,且,且,且,且B=CB=C,且,且,且,且A=C A=C;例:三角形问题例:三角形问题例:三角形问题例:三角形问题步骤步骤步骤步骤1 1 1 1:条件分析:条件分析:条件分析:条件分析10步骤步骤步骤步骤2 2 2 2:列出等价类列表:列出等价类列表:列出等价类列表:列出等价类列表11步骤步骤步骤步骤3 3 3 3:设计测试用例:设计测试用例:设计测试用例:设计测试用例122.边界值分析法边界值分析法 边界值分析法就是边界值分析法就是对输入或输出的边界对输入或输出的边界值进行测试值进行测试的一种黑盒测试方法。通常边界的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。种情况下,其测试用例来自等价类的边界。为什么使用边界值分析法?为什么使用边界值分析法?无数的测试实践表明,大量的故障往往无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果。计测试用例,通常会取得很好的测试效果。13怎样用边界值分析法设计测试用例?怎样用边界值分析法设计测试用例?(1)首首先先确确定定边边界界情情况况:通通常常输输入入或或输输出出等价类的边界就是应该着重测试的边界情况。等价类的边界就是应该着重测试的边界情况。(2)选选取取正正好好等等于于、刚刚刚刚大大于于或或刚刚刚刚小小于于边边界界的的值值作作为为测测试试数数据据,而而不不是是选选取取等等价价类类中的典型值或任意值。中的典型值或任意值。14边界值分析使用与等价类划分法相同的划分,只是边界值分析使用与等价类划分法相同的划分,只是边界值分析使用与等价类划分法相同的划分,只是边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因边界值分析假定错误更多地存在于划分的边界上,因边界值分析假定错误更多地存在于划分的边界上,因边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。此在等价类的边界上以及两侧的情况设计测试用例。此在等价类的边界上以及两侧的情况设计测试用例。此在等价类的边界上以及两侧的情况设计测试用例。例:测试计算平方根的函数例:测试计算平方根的函数例:测试计算平方根的函数例:测试计算平方根的函数 输入:实数输入:实数输入:实数输入:实数 输出:实数输出:实数输出:实数输出:实数 规格说明:当输入一个规格说明:当输入一个规格说明:当输入一个规格说明:当输入一个0 0或比或比或比或比0 0大的数的时候,大的数的时候,大的数的时候,大的数的时候,返回其正平方根;当输入一个小于返回其正平方根;当输入一个小于返回其正平方根;当输入一个小于返回其正平方根;当输入一个小于0 0的数时,显示错的数时,显示错的数时,显示错的数时,显示错误信息误信息误信息误信息“平方根非法平方根非法平方根非法平方根非法-输入值小于输入值小于输入值小于输入值小于0”0”并返回并返回并返回并返回0 0;库函数;库函数;库函数;库函数Print-LinePrint-Line可以用来输出错误信息。可以用来输出错误信息。可以用来输出错误信息。可以用来输出错误信息。15n n等价类划分:等价类划分:等价类划分:等价类划分:可以考虑作出如下划分:可以考虑作出如下划分:可以考虑作出如下划分:可以考虑作出如下划分:输入输入输入输入 (i)0(i)=0(ii)=0 测试用例有两个:测试用例有两个:测试用例有两个:测试用例有两个:输入输入输入输入4 4,输出,输出,输出,输出2 2。对应于。对应于。对应于。对应于 (ii)(ii)。输入输入输入输入-10-10,输出,输出,输出,输出0 0和错误提示。对应于和错误提示。对应于和错误提示。对应于和错误提示。对应于 (i)(i)。n n边界值分析:边界值分析:边界值分析:边界值分析:划分划分划分划分(ii)(ii)的边界为的边界为的边界为的边界为0 0和最大正实数;划分和最大正实数;划分和最大正实数;划分和最大正实数;划分(i)(i)的边界为最小的边界为最小的边界为最小的边界为最小负实数和负实数和负实数和负实数和0 0。由此得到以下测试用例:。由此得到以下测试用例:。由此得到以下测试用例:。由此得到以下测试用例:输入输入输入输入 最小负实数最小负实数最小负实数最小负实数 输入输入输入输入 绝对值很小的负数绝对值很小的负数绝对值很小的负数绝对值很小的负数 输入输入输入输入 0 0 输入输入输入输入 绝对值很小的正数绝对值很小的正数绝对值很小的正数绝对值很小的正数 输入输入输入输入 最大正实数最大正实数最大正实数最大正实数 16选择测试用例的原则如下:选择测试用例的原则如下:选择测试用例的原则如下:选择测试用例的原则如下:如如如如果果果果输输输输入入入入条条条条件件件件规规规规定定定定了了了了值值值值的的的的范范范范围围围围,则则则则应应应应该该该该取取取取刚刚刚刚达达达达到到到到这这这这个个个个范范范范围围围围的的的的边边边边界界界界值值值值,以以以以及及及及刚刚刚刚刚刚刚刚超超超超过过过过这这这这个个个个范范范范围围围围边边边边界的值作为测试输入数据。界的值作为测试输入数据。界的值作为测试输入数据。界的值作为测试输入数据。如如如如果果果果输输输输入入入入条条条条件件件件规规规规定定定定了了了了值值值值的的的的个个个个数数数数,则则则则用用用用最最最最大大大大个个个个数数数数、最最最最小小小小个个个个数数数数、比比比比最最最最大大大大个个个个数数数数多多多多1 1个个个个、比比比比最最最最小小小小个个个个数数数数少少少少1 1 个个个个的数作为测试数据。的数作为测试数据。的数作为测试数据。的数作为测试数据。根根根根据据据据规规规规格格格格说说说说明明明明的的的的每每每每一一一一个个个个输输输输出出出出条条条条件件件件,使使使使用用用用前前前前面面面面两两两两条规则条规则条规则条规则 。分析规格说明,找出其他可能的边界条件分析规格说明,找出其他可能的边界条件分析规格说明,找出其他可能的边界条件分析规格说明,找出其他可能的边界条件17边界值分析法是基于可靠性理论中称为边界值分析法是基于可靠性理论中称为边界值分析法是基于可靠性理论中称为边界值分析法是基于可靠性理论中称为“单故障单故障单故障单故障”的假设,即有两个或两个以上故障同时出现而的假设,即有两个或两个以上故障同时出现而的假设,即有两个或两个以上故障同时出现而的假设,即有两个或两个以上故障同时出现而导致软件失效的情况很少,也就是说,软件失效导致软件失效的情况很少,也就是说,软件失效导致软件失效的情况很少,也就是说,软件失效导致软件失效的情况很少,也就是说,软件失效基本上是由单故障引起的。基本上是由单故障引起的。基本上是由单故障引起的。基本上是由单故障引起的。因此,在边界值分析法中获取测试用例的方因此,在边界值分析法中获取测试用例的方因此,在边界值分析法中获取测试用例的方因此,在边界值分析法中获取测试用例的方法是:法是:法是:法是:(1 1)每次保留程序中一个变量,让其余的变量取正)每次保留程序中一个变量,让其余的变量取正)每次保留程序中一个变量,让其余的变量取正)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取常值,被保留的变量依次取常值,被保留的变量依次取常值,被保留的变量依次取minmin、min+min+、nomnom、max-max-和和和和maxmax。(2 2)对程序中的每个变量重复)对程序中的每个变量重复)对程序中的每个变量重复)对程序中的每个变量重复 (1)(1)。18例例例例1 1:有两个输入变量:有两个输入变量:有两个输入变量:有两个输入变量x1(ax1b)x1(ax1b)和和和和x2(cx2d)x2(cx2d)的的的的程序程序程序程序F F的边界值分析测试用例如下:的边界值分析测试用例如下:的边界值分析测试用例如下:的边界值分析测试用例如下:x1 ,x1 ,x1 ,x1x2a bdc19例例例例2 2:有二元函数:有二元函数:有二元函数:有二元函数f(x,y)f(x,y),其中,其中,其中,其中x x1,121,12,y y1,311,31。则采用边界值分析法设计的测试用例是:则采用边界值分析法设计的测试用例是:则采用边界值分析法设计的测试用例是:则采用边界值分析法设计的测试用例是:,推论:对于一个含有推论:对于一个含有推论:对于一个含有推论:对于一个含有n n个变量的程序,采用边界值分析法测个变量的程序,采用边界值分析法测个变量的程序,采用边界值分析法测个变量的程序,采用边界值分析法测试程序会产生试程序会产生试程序会产生试程序会产生4n+14n+1个测试用例。个测试用例。个测试用例。个测试用例。练习:有函数练习:有函数练习:有函数练习:有函数f(x,y,x)f(x,y,x),其中,其中,其中,其中x x1900,21001900,2100,y y1,121,12,z z1,311,31的。请写出该函数采用边界值分析法设计的测试的。请写出该函数采用边界值分析法设计的测试的。请写出该函数采用边界值分析法设计的测试的。请写出该函数采用边界值分析法设计的测试用例。用例。用例。用例。,20健壮性测试健壮性测试健壮性测试健壮性测试是作为边界值分析的一个简单的扩充,它是作为边界值分析的一个简单的扩充,它是作为边界值分析的一个简单的扩充,它是作为边界值分析的一个简单的扩充,它除了对变量的除了对变量的除了对变量的除了对变量的5 5个边界值分析取值外,还需要增加一个边界值分析取值外,还需要增加一个边界值分析取值外,还需要增加一个边界值分析取值外,还需要增加一个略大于最大值个略大于最大值个略大于最大值个略大于最大值(max+)(max+)以及略小于最小值以及略小于最小值以及略小于最小值以及略小于最小值(min-)(min-)的取的取的取的取值,值,值,值,检查超过极限值时检查超过极限值时检查超过极限值时检查超过极限值时系统的情况。因此,对于有系统的情况。因此,对于有系统的情况。因此,对于有系统的情况。因此,对于有n n个变量的函数采用健壮性测试需要个变量的函数采用健壮性测试需要个变量的函数采用健壮性测试需要个变量的函数采用健壮性测试需要6n+16n+1个测试用例。个测试用例。个测试用例。个测试用例。前面例前面例前面例前面例1 1中的程序中的程序中的程序中的程序F F的健壮性测试如下图所示:的健壮性测试如下图所示:的健壮性测试如下图所示:的健壮性测试如下图所示:x1x2a bcd练习:为例练习:为例练习:为例练习:为例2 2中的函数中的函数中的函数中的函数f(x,y)f(x,y)写出相应的健壮性测试用例写出相应的健壮性测试用例写出相应的健壮性测试用例写出相应的健壮性测试用例213.错误推测法错误推测法 基基于于经经验验和和直直觉觉推推测测程程序序中中所所有有可可能能存存在在的的各各种种错错误误,从从而而有有针针对对性性的的设设计计测测试试用用例的方法,这就是错误推测法。例的方法,这就是错误推测法。错误推测法的基本想法是:列举出程序错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。情况,根据它们选择测试用例。22如测试一个采用二分法的检索程序,可以如测试一个采用二分法的检索程序,可以考虑以下情况:考虑以下情况:(1)表中只有一个元素。表中只有一个元素。(2)表长是表长是2的幂。的幂。(3)表长为表长为2的幂减的幂减1或或2的幂加的幂加123等价类划分法和边界值分析方法都是着重考虑输入等价类划分法和边界值分析方法都是着重考虑输入等价类划分法和边界值分析方法都是着重考虑输入等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件条件,但没有考虑输入条件的各种组合、输入条件条件,但没有考虑输入条件的各种组合、输入条件条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能之间的相互制约关系。这样虽然各种输入条件可能之间的相互制约关系。这样虽然各种输入条件可能之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起出错的情况已经测试到了,但多个输入条件组合起出错的情况已经测试到了,但多个输入条件组合起出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。来可能出错的情况却被忽视了。来可能出错的情况却被忽视了。来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可如果在测试时必须考虑输入条件的各种组合,则可如果在测试时必须考虑输入条件的各种组合,则可如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一能的组合数目将是天文数字,因此必须考虑采用一能的组合数目将是天文数字,因此必须考虑采用一能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作种适合于描述多种条件的组合、相应产生多个动作种适合于描述多种条件的组合、相应产生多个动作种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果的形式来进行测试用例的设计,这就需要利用因果的形式来进行测试用例的设计,这就需要利用因果的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。图(逻辑模型)。图(逻辑模型)。图(逻辑模型)。244.因果图法因果图法 因因果果图图法法是是一一种种利利用用图图解解法法分分析析输输入入的的各各种种组组合合情情况况,从从而而设设计计测测试试用用例例的的方方法法,它它适适合合于于检检查查程程序序输输入入条条件件的的各各种种组组合情况。合情况。25因果图中用来表示因果图中用来表示4种因果关系的基本符号:种因果关系的基本符号:c c1 1e e1 1恒等恒等恒等恒等c c1 1e e1 1 非非非非c c1 1e e1 1或或或或c c2 2c c3 3c c1 1e e1 1与与与与c c2 226因果图中的因果图中的4种基本关系种基本关系 在因果图的基本符号中,图中的左结点在因果图的基本符号中,图中的左结点在因果图的基本符号中,图中的左结点在因果图的基本符号中,图中的左结点c ci i表示表示表示表示输入状态(或称原因),右结点输入状态(或称原因),右结点输入状态(或称原因),右结点输入状态(或称原因),右结点e ei i表示输出状态表示输出状态表示输出状态表示输出状态(或称结果)。(或称结果)。(或称结果)。(或称结果)。c ci i 与与与与 e ei i 取值取值取值取值0 0或或或或1 1,0 0表示某状态不表示某状态不表示某状态不表示某状态不出现,出现,出现,出现,1 1则表示某状态出现。则表示某状态出现。则表示某状态出现。则表示某状态出现。pp恒等:若恒等:若恒等:若恒等:若 c c1 1 是是是是1 1,则,则,则,则 e e1 1 也为也为也为也为1 1,否则,否则,否则,否则 e e1 1 为为为为0 0。pp非:若非:若非:若非:若 c c1 1 是是是是1 1,则,则,则,则 e e1 1 为为为为0 0,否则,否则,否则,否则e e1 1为为为为1 1。pp或:若或:若或:若或:若 c c1 1 或或或或 c c2 2 或或或或 c c3 3 是是是是1 1,则,则,则,则 e e1 1 为为为为1 1,否则,否则,否则,否则 e e1 1 为为为为0 0。pp与:若与:若与:若与:若 c c1 1 和和和和 c c2 2 都是都是都是都是1 1,则,则,则,则 e e1 1 为为为为1 1,否则,否则,否则,否则 e e1 1 为为为为0 0。27因果图中的约束因果图中的约束因果图中的约束因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间在实际问题中输入状态相互之间、输出状态相互之间在实际问题中输入状态相互之间、输出状态相互之间在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为可能存在某些依赖关系,称为可能存在某些依赖关系,称为可能存在某些依赖关系,称为“约束约束约束约束”。对于输入条件的。对于输入条件的。对于输入条件的。对于输入条件的约束有约束有约束有约束有E E、I I、OO、R R四种,对于输出条件的约束只有四种,对于输出条件的约束只有四种,对于输出条件的约束只有四种,对于输出条件的约束只有MM约束。约束。约束。约束。ppE E约束约束约束约束(异异异异):a a和和和和b b中最多有一个可能为中最多有一个可能为中最多有一个可能为中最多有一个可能为1 1,即,即,即,即a a和和和和b b不能同时不能同时不能同时不能同时 为为为为1 1。ppI I 约束约束约束约束(或或或或):a a、b b、c c中至少有一个必须为中至少有一个必须为中至少有一个必须为中至少有一个必须为1 1,即,即,即,即 a a、b b、c c不不不不能同时为能同时为能同时为能同时为0 0。ppOO约束约束约束约束(唯一唯一唯一唯一):a a和和和和b b必须有一个且仅有一个为必须有一个且仅有一个为必须有一个且仅有一个为必须有一个且仅有一个为1 1。ppR R约束约束约束约束(要求要求要求要求):a a是是是是1 1时,时,时,时,b b必须是必须是必须是必须是1 1,即,即,即,即a a为为为为1 1时,时,时,时,b b不能为不能为不能为不能为0 0。ppMM约束约束约束约束(强制强制强制强制):若结果:若结果:若结果:若结果a a为为为为1 1,则结果,则结果,则结果,则结果b b强制为强制为强制为强制为0 0。28ab异异Eab或或Icab唯一唯一ORab要求要求Mab强制强制因果图中用来表示约束关系的约束符号:因果图中用来表示约束关系的约束符号:29利用因果图生成测试用例的基本步骤如下:利用因果图生成测试用例的基本步骤如下:分析软件规格说明的描述中哪些是原因,分析软件规格说明的描述中哪些是原因,哪些是结果。原因是输入条件或输入条件的哪些是结果。原因是输入条件或输入条件的等价类,结果是输出条件。等价类,结果是输出条件。分分析析软软件件规规格格说说明明描描述述中中的的语语义义,找找出出原原因因与与结结果果之之间间、原原因因与与原原因因之之间间对对应应的的关关系系,根据这些关系,画出因果图。根据这些关系,画出因果图。30标标明明约约束束条条件件。由由于于语语法法或或环环境境的的限限制制,有有些些原原因因和和结结果果的的组组合合情情况况是是不不可可能能出出现现的的。为为表表明明这这些些特特定定的的情情况况,在在因因果果图图上上使用若干标准的符号标明约束条件。使用若干标准的符号标明约束条件。把因果图转换成判定表。把因果图转换成判定表。为判定表中的每一列设计测试用例。为判定表中的每一列设计测试用例。31实例:用因果图法测试以下程序实例:用因果图法测试以下程序 有一个处理单价为有一个处理单价为1元元5角钱的盒装饮料的角钱的盒装饮料的自动售货机软件,若投入自动售货机软件,若投入1元元5角硬币,按下角硬币,按下“可乐可乐”、“雪碧雪碧”或或“红茶红茶”按钮,相应按钮,相应的饮料就送出来。若投入的是的饮料就送出来。若投入的是2元硬币,在送元硬币,在送出饮料的同时退还出饮料的同时退还5角硬币。角硬币。32(1 1)分析程序规格说明中的原因和结果:)分析程序规格说明中的原因和结果:)分析程序规格说明中的原因和结果:)分析程序规格说明中的原因和结果:(2 2)画出因果图(编号为)画出因果图(编号为)画出因果图(编号为)画出因果图(编号为1111和和和和1212的中间结点是导出的中间结点是导出的中间结点是导出的中间结点是导出结果的进一步原因):结果的进一步原因):结果的进一步原因):结果的进一步原因):中间状态:中间状态:中间状态:中间状态:(11)(11)已投币已投币已投币已投币 (12)(12)已按钮已按钮已按钮已按钮原因原因原因原因结果结果结果结果 (1)(1)投入投入投入投入1 1元元元元5 5角硬币角硬币角硬币角硬币 (21)(21)退还退还退还退还5 5角硬币角硬币角硬币角硬币 (2)(2)投入投入投入投入2 2元硬币元硬币元硬币元硬币 (22)(22)送出送出送出送出“可乐可乐可乐可乐”饮饮饮饮料料料料 (3)(3)按下按下按下按下“可乐可乐可乐可乐”按钮按钮按钮按钮 (23)(23)送出送出送出送出“雪碧雪碧雪碧雪碧”饮饮饮饮料料料料 (4)(4)按下按下按下按下“雪碧雪碧雪碧雪碧”按钮按钮按钮按钮 (24)(24)送出送出送出送出“红茶红茶红茶红茶”饮料饮料饮料饮料 (5)(5)按下按下按下按下“红茶红茶红茶红茶”按钮按钮按钮按钮 3312345212223241112EE34(3 3)将因果图转换成如下所示的判定表:)将因果图转换成如下所示的判定表:)将因果图转换成如下所示的判定表:)将因果图转换成如下所示的判定表:12 23 34 45 56 67 78 89 910101111条件:条件:(1)投入投入1元元5角角(2)投入投入2元元(3)按下按下“可乐可乐”(4)按下按下“雪碧雪碧”(5)按下按下“红茶红茶”10100

    注意事项

    本文(软件测试第03章(2).ppt)为本站会员(hyn****60)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开