软件测试功能测试用例设计黑盒测试优秀课件

上传人:仙*** 文档编号:172656398 上传时间:2022-12-05 格式:PPT 页数:49 大小:3.79MB
返回 下载 相关 举报
软件测试功能测试用例设计黑盒测试优秀课件_第1页
第1页 / 共49页
软件测试功能测试用例设计黑盒测试优秀课件_第2页
第2页 / 共49页
软件测试功能测试用例设计黑盒测试优秀课件_第3页
第3页 / 共49页
点击查看更多>>
资源描述
李黎李黎2黑盒测试黑盒测试n什么是黑盒测试?什么是黑盒测试?34输入输出黒盒内部实现不可见5黑盒测试发现的常见错误黑盒测试发现的常见错误1、功能不正确或遗漏6黑盒测试功能黑盒测试功能2、界面错误7黑盒测试功能黑盒测试功能3、数据库访问错误8黑盒测试功能黑盒测试功能4、性能错误9黑盒测试的特点黑盒测试的特点 从理论上讲,黑盒测试只有采用穷举输入从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,测试,把所有可能的输入都作为测试情况考虑,才能查出所有的错误。才能查出所有的错误。实际上测试情况是无穷多的,完全测试是实际上测试情况是无穷多的,完全测试是不可能的。不可能的。10黑盒测试的特点黑盒测试的特点n 如何解决如何解决n 必须将黑盒测试行为加以分类必须将黑盒测试行为加以分类 1、节约测试实施的时间和资源、节约测试实施的时间和资源 2、避免盲目测试、提高测试效率、避免盲目测试、提高测试效率 3、使测试的实施重点突出、目的更明确、使测试的实施重点突出、目的更明确11黑盒测试的特点黑盒测试的特点n 1、等价类划分法、等价类划分法n 2、边界值分析法、边界值分析法n 3、错误推测法、错误推测法n 4、因果图法、因果图法n 5、判定表驱动法、判定表驱动法n 6、正交试验设计法、正交试验设计法n 7、功能图法(把软件分解为相对独立的功能单、功能图法(把软件分解为相对独立的功能单元)元)12等价类划分等价类划分 将程序的输入域分成若干部分,然后从每个部分中将程序的输入域分成若干部分,然后从每个部分中选取少数代表性数据作为测试数据。选取少数代表性数据作为测试数据。特点:代表性数据在测试活动中的作用等价于这一特点:代表性数据在测试活动中的作用等价于这一类中其他的数据。类中其他的数据。(分类:有效和无效等价类)(分类:有效和无效等价类)13n有效等价类有效等价类 对于程序的需求说明来说是合理的,有意义的输入数据对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合所构成的集合利用它可以检验程序是否实现了预期的功能和性能利用它可以检验程序是否实现了预期的功能和性能n无效等价类无效等价类 对于程序的需求说明来说是不合理的,没有意义的输入对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合数据所构成的集合 利用它可以检验程序对于无效数据的处理能力利用它可以检验程序对于无效数据的处理能力14划分等价类的方法划分等价类的方法:1)在输入条件规定了取值范围的情况下在输入条件规定了取值范围的情况下,则可以则可以确立一个有效等价类和两个无效等价类。如:输入值确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是是学生成绩,范围是0100;15划分等价类的方法划分等价类的方法:2)在输入条件规定了输入值的集合或者规定了在输入条件规定了输入值的集合或者规定了“必须如何必须如何”的的条件的情况下条件的情况下,可确立一个有效等价类和一个无效等价类;可确立一个有效等价类和一个无效等价类;3)在输入条件是一个布尔量(在输入条件是一个布尔量(true和和false)的情况下)的情况下,可确可确定一个有效等价类和一个无效等价类。定一个有效等价类和一个无效等价类。16划分等价类的方法划分等价类的方法:4)在规定了输入数据的一组值(假定在规定了输入数据的一组值(假定n个)个),并且程并且程序要对每一个输入值分别处理的情况下序要对每一个输入值分别处理的情况下,可确立可确立n个有效等价类和一个无效等价类。个有效等价类和一个无效等价类。17划分等价类的方法划分等价类的方法:n 5)在规定了输入数据必须遵守的规则的情况下在规定了输入数据必须遵守的规则的情况下,可可确立一个有效等价类(符合规则)和若干个无效确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);等价类(从不同角度违反规则);18划分等价类的方法划分等价类的方法:n 无效等价类无效等价类1(用户名少于(用户名少于4个字符、多于个字符、多于18个字个字符的)符的)n 无效等价类无效等价类2(用户名包括(用户名包括#¥*等特殊字符的)等特殊字符的)n 无效等价类无效等价类3(用户名不以数字或者字母开头的)(用户名不以数字或者字母开头的)n 无效等价类无效等价类4(用户名包括空格的)(用户名包括空格的)n 无效等价类无效等价类5(用户名为空的)(用户名为空的)19划分等价类的方法划分等价类的方法:n 6)在确知已划分的等价类中各元素在程序处在确知已划分的等价类中各元素在程序处理中的方式不同的情况下理中的方式不同的情况下,则应再将该等价类进一则应再将该等价类进一步的划分为更小的等价类。步的划分为更小的等价类。20等价类划分的特点和注意事项等价类划分的特点和注意事项n 等价类的特点等价类的特点测试内容相同测试内容相同如果等价类中的一个测试能够捕获一个缺陷,那么选择如果等价类中的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷该等价类中的其他测试也能捕获该缺陷如果等价类中的一个测试不能够捕获一个缺陷,那么选如果等价类中的一个测试不能够捕获一个缺陷,那么选择该等价类中的其他测试也不能捕获该缺陷择该等价类中的其他测试也不能捕获该缺陷l 两类划成一类,结果?两类划成一类,结果?l 一类划成两类,结果?一类划成两类,结果?n 注意注意考虑无效等价类考虑无效等价类仔细划分仔细划分2022-12-32021怎样设计测试用例怎样设计测试用例 1)为每一个等价类规定一个唯一的编号;为每一个等价类规定一个唯一的编号;2)设计一个新的测试用例设计一个新的测试用例,使其尽可能多地覆盖尚未使其尽可能多地覆盖尚未被覆盖地有效等价类被覆盖地有效等价类,重复这一步,直到所有的有效等价重复这一步,直到所有的有效等价类都被覆盖为止;类都被覆盖为止;3)设计一个新的测试用例设计一个新的测试用例,使其仅覆盖一个尚未被覆使其仅覆盖一个尚未被覆盖的无效等价类盖的无效等价类,重复这一步,直到所有的无效等价类都重复这一步,直到所有的无效等价类都被覆盖为止。被覆盖为止。22边界值分析法边界值分析法n 对程序输入或输出的边界值进行分析和测试,对程序输入或输出的边界值进行分析和测试,是对等价类划分法的一种补充。是对等价类划分法的一种补充。23边界值分析法的特点边界值分析法的特点 1)边界值分析不是从某等价类中随便挑一边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要个作为代表,而是使这个等价类的每个边界都要作为测试条件。作为测试条件。2)边界值分析不仅考虑输入条件,还要考边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。虑输出空间产生的测试情况。24边界值分析法的特点边界值分析法的特点有效等价类边界值(有效等价类边界值(0,1,99,100)无效等价类边界值(无效等价类边界值(-1,101)25边界值分析法的特点边界值分析法的特点n 通常情况下,软件测试所包含的边界检验有通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、尺寸、空间等。几种类型:数字、字符、尺寸、空间等。n 相应地,以上类型的边界值应该在:最大相应地,以上类型的边界值应该在:最大/最最小、首位小、首位/末位、最短末位、最短/最长、最长、空空/满等情况下。满等情况下。26边界值方法发现问题边界值方法发现问题n 测试两位数加法计算器测试两位数加法计算器2022-12-32627边界值方法分析问题边界值方法分析问题n 遇见了什么问题遇见了什么问题2022-12-32728边界值方法解决问题边界值方法解决问题n 如何解决这类问题如何解决这类问题2022-12-328测试用例编号输入数值被测边界预期输出123-100-99+(-99)-98+(-98)-99错误信息正确输出:-198正确输出:-19645698+9899+9910099正确输出:196正确输出:198错误信息29边界值方法小结边界值方法小结n 输入或输出的边界最容易产生错误输入或输出的边界最容易产生错误 n 确定边界值的方法确定边界值的方法对取值范围进行界定对取值范围进行界定对取值个数进行界定对取值个数进行界定有序集合有序集合分析规格说明,找出其他边界条件分析规格说明,找出其他边界条件n 隐含的边界值隐含的边界值 2 2的乘方的乘方ASCIIASCII表表2022-12-32930边界值方法实战一边界值方法实战一n 案例:即时贴程序案例:即时贴程序2022-12-33004013941测试用例测试用例编号编号 输入数值输入数值 被测边界被测边界 预期输出预期输出 12不输入标题输入1个字节0给出错误提示标题正确添加345输入39个字节输入40个字节输入41个字节40标题正确添加标题正确添加错误信息 31边界值方法实战二边界值方法实战二n讨论讨论:确定以下问题的边界值确定以下问题的边界值测试:文本输入域允许输入测试:文本输入域允许输入1-2551-255个字符。个字符。测试:在测试:在U U盘上保存文件。(考虑文件大小)盘上保存文件。(考虑文件大小)测试:输入测试:输入6 6位邮政编码。位邮政编码。2022-12-33132边界值分析法的使用边界值分析法的使用 1)如果输入条件规定了值的范围如果输入条件规定了值的范围,则应取刚达到这个则应取刚达到这个范围的边界的值范围的边界的值,以及刚刚超越这个范围边界的值作为测以及刚刚超越这个范围边界的值作为测试输入数据。试输入数据。如果程序的规格说明中规定:如果程序的规格说明中规定:“重量在重量在10公斤至公斤至50公斤范围内的邮件,其邮费计算公式为公斤范围内的邮件,其邮费计算公式为:货物重量货物重量*费率费率=邮费邮费”。有效等价类边界值有效等价类边界值(10、10.01、50、49.99)无效等价类边界值(无效等价类边界值(9.99、50.01)33边界值分析法的使用边界值分析法的使用n 2)如果输入条件规定了值的个数如果输入条件规定了值的个数,则用最大个则用最大个数数,最小个数最小个数,比最小个数少一比最小个数少一,比最大个数多一的比最大个数多一的数作为测试数据。数作为测试数据。比如,一个输入文件应包括比如,一个输入文件应包括1255个记录,个记录,则测试用例可取则测试用例可取1和和255,还应取,还应取0及及256等。等。34边界值分析法的使用边界值分析法的使用n 3)将规则将规则1)和)和2)应用于输出条件,即设计)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。测试用例使输出值达到边界值及其左右的值。问题问题:某程序的规格说明要求计算出某程序的规格说明要求计算出“每月保每月保险金扣除额为险金扣除额为0至至1165.25元元”,如何取其测试数,如何取其测试数据据?有效等价类边界值(有效等价类边界值(0.00、0.01、1165.24、1165.25)无效等价类边界值(无效等价类边界值(-0.01、1165.26)35边界值分析法的使用边界值分析法的使用 4)如果程序的规格说明给出的输入域或输如果程序的规格说明给出的输入域或输出域是有序集合出域是有序集合,则应选取集合的第一个元素和最则应选取集合的第一个元素和最后一个元素作为测试用例。后一个元素作为测试用例。5)分析规格说明分析规格说明,找出其它可能的边界条件。找出其它可能的边界条件。36功能图法功能图法n 功能图法就是用功能图形象地表示程序的功能说功能图法就是用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例。功能图模明,并机械地生成功能图的测试用例。功能图模型由状态迁移图和逻辑功能模型组成。型由状态迁移图和逻辑功能模型组成。n 例如:例如:Windows的屏幕保护程序测试(有密码保的屏幕保护程序测试(有密码保护功能)护功能)37屏幕保护屏幕保护空闲状态空闲状态等待输入密码等待输入密码Esc键按下 显示密码输入框不正确的密码 清空密码输入框正确的密码 屏幕初始化38状态迁移图状态迁移图不正确的密码输入Esc键按下正确的密码输入.39逻辑功能表逻辑功能表输入输入Esc按下按下其它键按下其它键按下正确的密码输入正确的密码输入错误的密码输入错误的密码输入I1I2I3I4输出输出显示密码输入框显示密码输入框密码错误提示信息密码错误提示信息O1O2状态状态空闲状态空闲状态等待输入密码等待输入密码返回空闲状态返回空闲状态初始化屏幕初始化屏幕S1S2S3S440错误推测法错误推测法n 错误推测法是基于经验和直觉推测程序中所有可错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用能存在的各种错误,从而有针对性地设计测试用例例41错误推测法基本思想错误推测法基本思想n列举出程序中所有可能有的错误和容易发列举出程序中所有可能有的错误和容易发生错误的特殊情况来设计测试用例生错误的特殊情况来设计测试用例n例如例如:以前测试时曾出现过错误的地方,包括单元测试、集成以前测试时曾出现过错误的地方,包括单元测试、集成测试、系统测试、前几次回归测试测试、系统测试、前几次回归测试输入数据的问题,如是否可为空,是否可以有特殊字符,输入数据的问题,如是否可为空,是否可以有特殊字符,是否可以小于是否可以小于0、等于、等于0等等等等一些问题的范围或边界一些问题的范围或边界42场景分析法场景分析法n 一、场景分析法的定义一、场景分析法的定义n 二、为什么引入用例场景二、为什么引入用例场景n 三、场景分析法实例三、场景分析法实例43场景分析法的定义场景分析法的定义n 用例场景是通过描述流经用例的路径来确定的过用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中程,这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。所有基本流和备选流。44为什么引入用例场景为什么引入用例场景n 现在的软件几乎都是由事件触发来控制流程现在的软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成事件流。件不同的触发顺序和处理结果形成事件流。n 这种在软件设计方面的思想也可被引入到软这种在软件设计方面的思想也可被引入到软件测试中,生动的描绘出事件触发时的情景,有件测试中,生动的描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时测试用例也利于测试设计者设计测试用例,同时测试用例也更容易的得到理解和执行。更容易的得到理解和执行。45场景分析法实例场景分析法实例 右图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流 2),或者终止用例而不再重新加入到某个流(如备选流 2 和 4)。46场景分析法实例场景分析法实例n 遵循上图中每个经过用例的可能路径,可以确定不同的用例场景。从遵循上图中每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:l 场景场景 1 1 基本流基本流l 场景场景 2 2 基本流基本流 备选流备选流 1 1l 场景场景 3 3 基本流基本流 备选流备选流 1 1 备选流备选流 2 2l 场景场景 4 4 基本流基本流 备选流备选流 3 3l 场景场景 5 5 基本流基本流 备选流备选流 3 3 备选流备选流 1 1l 场景场景 6 6 基本流基本流 备选流备选流 3 3 备选流备选流 1 1 备选流备选流 2 2l 场景场景 7 7 基本流基本流 备选流备选流 4 4l 场景场景 8 8 基本流基本流 备选流备选流 3 3 备选流备选流 4 4n 注:为方便起见,场景注:为方便起见,场景 5 5、6 6 和和 8 8 只描述了备选流只描述了备选流 3 3 指示的循环执指示的循环执行一次的情况。行一次的情况。47n 测试用例测试用例生成每个场景的测试用例是通过确定某个特定条生成每个场景的测试用例是通过确定某个特定条件来完成的,这个特定条件将导致特定用例场景件来完成的,这个特定条件将导致特定用例场景的执行。的执行。n 测试用例例子测试用例例子假定上图描述的用例对备选流假定上图描述的用例对备选流 3 规定如下:规定如下:“如果在如果在ATM机上机上输入提款金额输入提款金额中输入的美元量中输入的美元量超出当前帐户余额,则出现此事件流。系统将显超出当前帐户余额,则出现此事件流。系统将显示一则警告消息,之后重新加入基本流,再次执示一则警告消息,之后重新加入基本流,再次执行行 输入提款金额输入提款金额,此时银行客户可以输入新,此时银行客户可以输入新的提款金额。的提款金额。”48据此,可以开始确定需要用来执行备选流 3 的测试用例:注:由于没有提供其他信息,以上显示的测试用例都非常简单。测试用例很少如此简单。49实用举例一 下面是一个由用例生成测试用例的更符合实际情况的示例。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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