您好,欢迎访问三七文档
软件测试用例设计技术研发总部概览我们将学习:–功能性测试概述–功能分解–等价类划分–边界值分析–因果图法–流程分析法–错误推测法功能性测试概述•任何程序都可以看作是将从输入定义域取值映射到输出值域的函数•将系统看成黑盒,又称为黑盒测试•黑盒的实现是不需要了解的,只需要知道输入和预期输出•功能性测试用例设计必须根据软件需求分析功能性测试模型输入输出黒盒内部实现不可见功能性测试的方法•功能分解•等价类划分•边界值分析•因果图法•流程分析法•错误推测法功能分解•含义–把软件分解为相对独立的功能单元•目的–通过功能分解可以明确软件功能性测试的内容–使软件功能性测试可度量,有利于测试监督和管理等价类划分•等价类划分是将程序的输入域或输出域的不同区间划分为不同的数据类,以便导出测试用例•每个等价类所揭示的程序错误都是等价的•要求此方法的测试用例能各自发现一类错误,从而减少必须开发的测试用例数等价类分类•有效等价类–对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合–利用它可以检验程序是否实现了预期的功能•无效等价类–对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合–利用它可以检验程序对于无效数据的处理能力等价类划分•数学含义A=x=BC=y=D确立等价类的原则•如果输入条件规定了取值范围,或者值的个数,则可以确立一个有效等价类和两个无效等价类,例如:–数据范围是1~50–有效等价类为“=1&&=50”–两个无效等价类为“1”和“50”•如果输入条件规定了输入值的集合或者规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类确立等价类的原则•如果输入条件是一个布尔量,则可以确立一个有效等价类和一个无效等价类•如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类确立等价类的原则•如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从不同角度违反规则的数据),例如:–测试密码域,要求密码必须是数字或字母–有效等价类为“密码是数字和字母的组合”–无效等价类为“密码包括中文”、“密码包括其它符号”等•如果确知已划分的等价类中的各元素在程序中的处理方式不同,则应进一步划分成更小的等价类等价类测试用例设计•分析输入输出•划分有效等价类、无效等价类•设计测试用例,使其尽可能多的覆盖有效等价类•设计测试用例,使其尽可能多的覆盖无效等价类边界值分析•缺陷往往遗漏在角落里,聚集在边界上•选取输入条件的边界区域作为测试数据比中间的数据更加容易发现错误•边界值分析法是一种补充等价类划分的测试用例设计技术•不是对某个等价类随便挑一个数据做测试数据,而是选一个或多个边界数据,使得该等价类的每个边界都被测试到•不仅考虑输入数据,而且考虑输出数据边界值分析•数学含义A=x=BC=y=D确立边界值的原则•如果输入条件或输出条件规定了值的范围并且有效条件包括了值的边界,可分别对边界和略超出边界取值,例如:–数据范围是1=x=50正整数–边界值取为:1、50、0、51•如果输入条件或输出条件规定了值的范围并且有效条件不包括了值的边界,可分别对边界和略处于边界内取值,例如:–数据范围是1x50正整数–边界值取为:1、50、2、49确立边界值的原则•如果输入或输出域是个有序的集合(如顺序文件、表格等),应注意选取有序集的第一个和最后一个元素以及集合外但靠近集合的元素作为边界,例如:–输入文件名介于file0101~file0120之间–边界值取为file0100,file0101,file0120,file0121等价类划分与边界值分析的结合1.有效等价类0成绩1002.无效等价类成绩100、成绩03.边界值0、100测试用例设计编号输入输出1555520031001004-1错误5101错误61179999因果图法介绍•考虑输入条件之间的相互联系、相互组合•因果图法最终生成的是判定表,它适用于检查程序输入条件的各种组合情况判定表介绍•在一些数据处理问题中,某些操作依赖多个逻辑条件的取值。处理这类问题的一个非常有力的分析和表达工具是判定表•一些软件的功能需求可用判定表表达得非常清楚,在检验程序的功能时判定表也就成为一个非常有力的工具判定表介绍•判定表由四个部分组成:–条件桩(ConditionStub)–动作桩(ActionStub)–条件项(ConditionEntry)–动作项(ActionEntry)判定表介绍条件桩条件项动作桩动作项判定表图示规则1规则2规则3规则4条件11100条件21—0—条件3010—条件40101操作1XX操作2X操作3X根据规格说明得到的判定表因果图法步骤•分析软件规格说明描述中的因果关系(输入与输出的因果关系)•列出条件项和动作项•将条件项和动作项转换为判定表•将判定表中的每一列拿出来设计测试用例因果图法案例•有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币因果分析•条件项:–1.售货机有零钱找–2.投入1元硬币–3.投入5角硬币–4.押下橙汁按钮–5.押下啤酒按钮•动作项:–21.售货机〖零钱找完〗灯亮–22.退还1元硬币–23.退还5角硬币–24.送出橙汁饮料–25.送出啤酒饮料由因果图建立的判定表流程分析法•流程分析法是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到流程分析法例子提示重新输入用户名Y启动程序,弹出登陆对话框用户输入用户名和密码或取消退出系统取消?用户名正确?NNY密码正确?提示重新输入密码NY进入系统流程分析法测试用例设计思想•这是一个用户登录的流程图,首先根据需求画出功能流程图,根据流程图设计出程序所有可能遍历的路径数。在根据每条路径,分别用等价类、边界值等方法设计测试用例。错误推测法•错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例错误推测法基本思想•列举出程序中所有可能有的错误和容易发生错误的特殊情况来设计测试用例•例如:–以前测试时曾出现过错误的地方,包括单元测试、集成测试、系统测试、前几次回归测试–输入数据的问题,如是否可为空,是否可以有特殊字符,是否可以小于0、等于0等等–一些问题的范围或边界测试用例设计综合策略•任何情况下都必须使用边界值分析方法•必要时用等价类划分法补充一些测试用例•用错误推测法增加一些测试用例•对于业务流程的软件,采用流程分析法•如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法•测试用例设计必须根据软件需求分析
本文标题:软件测试用例设计
链接地址:https://www.777doc.com/doc-3261840 .html