1、测试用例设计黑电测试1测试用例设计黑盒测试测试用例设计概述黑盒测试的概念5 口黑盒测试的数学知识二 黑盒测试用例设计技术测试用例设计概述测试用例的定义测试用例的重要性口好测试用例的特点口设计测试用例的基本准则口设计测试用例的着眼点O测试用例的编写标准测试用例设计的误区测试用例设计概述什么是软件测试用例(1)测试用例是为特定的目的而设计的一组 三测试输入、三执行条件和预期的结果。(2)测试用例是执行的最小实体。测试用例设计概述测试用例的重要性(待删)有效性可复用性易组织性r可评估性,可管理性测试用例设计概述好测试用例的特点B 1完整的 1完整性是对测试用例最基本的要求,尤其是一些基本功能 项上,
2、如果有遗漏,那将是不可原谅的。完整性还体现 在临界测试、压力测试、性能测试等方面,这方面测试 用例也要能够涉及到。2,准确 测试者按照测试用例的输入一步步测试完成后,要能够根 据测试用例描述的输出得出正确的结论,不能出现模糊不 清的语言。3.清晰、简洁好的测试用例描述清晰,每一步都应该有响应的作用,有 很强的针对性,不应该出现一些冗繁无用的操作步骤。测试用例不应该太简单,也不能够太过复杂,最大操作 步骤最好捽制在15步之内。测试用例设计概述5.可维护性,由于软件开发过程中需求变更等原因的影响,常常需要对 测试用例进行修改、增加、删除等,以便测试用例符合 相应测试要求。测试用例应具备这方面的功能
3、。6.适当性 丁三 测试例应该适合特定的测试环境以及符合整个团队的测试 水平,如纯英语环境下的测试用例最好使用英文编写。7.可复用性 fM要求不同测试者在同样测试环境下使用同样测试用例都能 得出相同结论。7测试用例设计概述8.其他S如可追朔性、可移植性也是对编写测试用例的一个要 求。另外,好的测试用例也是最有可能抓住错误的;不重复、多余的;是一组相似测试用例中最有效的;测试用例设计概述设计测试用例的基本准则1 测试用例的代表性能够代表并覆盖各种合理的和不合理的、合法的和非法 的、边界的和越界的以及极限的输入数据、操作和环境 设置等。测试结果的可判定性即测试执行结果的正确性是可判定的,每一个测试
4、用例 I都应有相应的期望结果。测试结果的可再现性即对同样的测试用例,系统的执行结果应当是相同的。测试用例设计概述设计测试用例的着眼点-一1 根据产品规格,测试基本功能;1考虑设计一般用户(非专业人员)的使用方案;=|考虑设计稀有或特殊的使用方案;与系统其他组成部分的配合(如FAX和上网可能要用到 MODEM,测试中考虑对设备的共享);考虑特殊情况(如内存和硬件的冲突等);11 设计极端情况(如内存泄漏、破坏性测试等);1好的测试用例集能花费最小的代价(人力、物力、财力、时间)做最好的测试。测试用例设计概述测试用例的编写标准在ANSI/IEEE829-1983标准中列出了和测试设计相关的测试用
5、例编写规范和模板。标准模板中主要元素如下:标识符惟一标识每一个测试用例一 测试项准确的描述所需要测试的项及其特征 一测试环境要求表征执行该测试用例需要的测试环境-输入标准执行测试用例的输入需求(这些输入可能包括数 据、文件或者操作)二 输出标准按照指定的环境和输入标准得到的期望输出结果 测试用例之间的关联标识该测试用例与其它的测试(或其 它测试用例)之间的依赖关系11测试用例设计概述 测试用例示例:对Windows记事本程序进行测试,选取其中的 一个测试项文件菜单栏的测试:测试对象记事本程序 文件菜单栏(测试用例标识10000,下同)所包含的子测试用例描述如下:I-文件/新建(1001)I-文
6、件/打开(1002)I-文件/保存(1003)I-文件/另存为(1004)|-文件/页面设置(1005)|-文件/打印(1006)|-文件/退出(1007)选取其中的一个子测试用例文件/退出(1007)作为例子,测试用例如下表所示。12字段名称描述标识符1007测试项记事本程序,“文件”菜单栏中的“文件”|“退出”命令的功能测试测试环境 要求Windows 2000 Professional 中文版输入标准(1)打开记事本程序,不输入任何字符,单击“文件”退出”命令(2)打开记事本程序,输入一些字符,不保存文件,单击“文件”|“退出”命令(3)打开记事本程序,输入一些字符,保存文件,单击“文件
7、退出”命令(4)打开一个记事本文件,不做任何修改,单击“文件”退出”命令打开一个记事本文件,修改后不保存,单击“文件”1“退出”命令输出标准(1)记事本未做修改,单击“文件”1“退出”命令,能正确地退出应用程 序,无提示信息(2)记事本做修改未保存或者另存,单击“文件”|“退出”命令,会提示“未定标题文件的文字已经改变,想保存文件吗?”单击“是”,Windows将打开“保存”/“另存为”对话框,单击“否”,文件将不 被保存并退出记事本程序,单击“取消”将返回记事本窗口测试用例间的关联 13测试用例设计概述下表是另一个测试用例示例(登录功能测试)|该测试用例并未涵盖所有的非法输入,如非法输入 中
8、可能会有“use=*,pw=*”的组合,对回车 的默认操作,空格输入,对输入上溢的处理的 处理(可能会跳过身份验证)等等。如果你有兴趣,至少可以再补充5-10条左右的输 入组合(当然,如果步骤超过15步,用例的易 操作性就降低,可以再创建一个测试用例)。14项目/软件技术出口合同网络申 领系统(企业端)程序版本1.0.25功能模块 名Login编制人XXX用例编号-TC-TEP_Login_1编制时间2002.10.12相关的用 例无功能特性用户身份验证测试目的验证是否输入合法的 信息,允许合法 登陆,阻止非法 登陆预置条件无特殊规程说 明如数据库访问权限参考信息需求说明中关于“登陆”的说明测
9、试数据用户名二yiyh密码=1 15操作 步骤操作描述数据期望结果实际结 果测试状 态1输入用户名称,按“登陆”按钮。用户名二yiyh,密码 为空显示警告信息“请输入用户 名和密码!”2输入密码,按“登陆”按 钮。用户名为空,密码=1显示警告信息“请输入用户 名和密码!”3输入用户名和密码,按“登陆”按钮。用户名二yiyh,密码=2显示警告信息“请输入用户 名和密码!”4输入用户名和密码,按“登陆”按钮。用户名=xxx,密码=1显示警告信息“请输入用户 名和密码!”5输入用户名和密码,按“登陆”按钮。用户名二XXX,密码=2显示警告信息“请输入用户 名和密码!”6输入用户名和密码,按“登陆”按
10、钮。用户名二空,密码二 空显示警告信息“请输入用户 名和密码!”167输入用户名和密码,按“登陆”按钮。用户名二yiyh,密码=1进入系统页面。8输入用户名和密码,按“登陆”按钮。用户名二Admin,密 码二admin进入系统维护页面。9输入用户名和密码,按“登陆”按钮。用户名二yiyh;密码=1显示警告信息“请 输入用户名和密 码!”10输入用户名和密码,按“登陆”按钮。用户名二yiyh,密码=r显示警告信息“请 输入用户名和密 码!”11输入用户名和密码,按“重置”按钮。用户名二yiyh,密码=1清空输入信息测试人员开发人员17测试用例设计概述测试用例设计的误区t 能发现到目前为止没有发现
11、的缺陷的用例是好的用例I 作为测试实施依据的测试用例,应当作一个集合来认识,I 必须要能完整覆盖测试需求,而不应该针对单个的测试1 用例去评判好坏。.测试用例应该详细记录所有的操作信息,使一个没有接 触过系统的人员也能进行测试测试用例维护费用太高,测试资源难保证:三测试用例设计是一劳永逸的事情测试用例是动态的,一旦测试环境、需求、设计、实现发 生了变化,测试用例都需要相应发生变化18测试用例设计概述测试用例不应该包含实际的数据测试用例是“一组输入、执行条件、预期结果”、毫无疑可地应该包括清晰的输入数据和预期输出,没有测试数 据的用例最多只具有指导性的意义,不具有可执行性。当然,测试用例中包含输
12、入数据会带来维护、与测试环 境同步之类的问题。测试用例中不需要明显的验证手段“预期结果”的含义应不只是程序的可见行为。例如,对 一个订货系统,输入订货数据,点击“确定”按钮后,系统提示“订货成功”,这样是不是一个完整的用例呢?是不是系统输出的“订货成功”就应该作为我们唯一的 验证手段呢?显然不是。订货是否成功还需要查看相应 的数据记录是否更新,因此,在这样的一个用例中,还 应该包含对测试结果的显式的验证手段:在数据库中执 行查询语句进行查询,看查询结果是否与预期的一致。黑盒测试黑盒测试的概念一 什么是黑盒测试?黑盒测试又称功能测试、数据驱动测试或基于规格 说明书的测试,是一种从用户观点出发的测
13、试。黑盒测试示意图测试人员把被测程序当作一个黑盒子。黑盒测试的概念黑盒测试 采用黑盒测试的目的主要是在已知软件产品所应具有的功能的 基础上,进行:1)检查程序功能能否按需求规格说明书的规定正常使用,测试各 个功能是否有遗漏,检测性能等特性要求是否满足。2)检测人机交互是否错误,检测数据结构或外部数据库访问是否 错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。3)检测程序初始化和终止方面的错误。黑盒测试主要测试的错误类型有:不正确或遗漏的功能;接口、界面错误;性能错误;数据结构或外部数据访问错误;初始化或终止条件错误等等。黑盒测试的概念黑盒测试黑
14、盒测试用于回答以下问题:I 1)如何测试功能的有效性?i(2)何种类型的输入会产生好的测试用例?I 3)系统是否对特定的输入值尤其敏感?B 4)如何分隔数据类的边界?1|5)系统能够承受何种数据率和数据量?6)特定类型的数据组合会对系统产生何种影响?黑盒测试的概念22黑盒测试运用黑盒测试方法,可以导出满足以下标准的i测试用例集:1=1)所设计的测试用例能够减少达到合理测试所需的附加测试用例数下 1 2)所设计的测试用例能够告知某些类型错误的存在或 不存在,而不是仅仅与特定测试相关的错误。黑盒测试的概念23黑盒测试穷举测试的不可能性I用黑盒测试发现程序中的错误,必须在所有可能的输 入条件和输出条
15、件中确定测试数据,来检查程序是 否都能产生正确的输出。但这是不可能的,因为穷 举测试数量太大,无法完成。黑盒测试的概念24黑盒测试假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:可能采用的测试数据组:232*232=264如果测试一组数据需要1毫秒,一年工作 365X 24小时,完成所有测试需5亿 年。因此,我们只能在大量可能的数据中,选 取其中一部分作为测试用例。P-ZY-黑盒测试的概念5黑盒测试的数学知识集合论_1集合与成员M30=4月,6月,9月,11 月 2集合的定义 工B 列出集合元素如M30 1给出集合元素判定规则如 Y
16、=年|1900V年21993空集的表示=(年:2012W年41812,cp是不同的。黑盒测试的数学知识 26数学知识-集合论4 维恩图(Venn Diagram)The Venn Diagram is made up of two or more overlapping circles.lt is often used in mathematics to show relationships between sets5集合的关系A是B的子集A屋B,-A是B的真子集A u B M A和B是相等集合A二B黑盒测试的数学知识27数学知识集合论 6集合的划分,若A1,A2,An是集合A的子集,则 A1
17、,A2,An是集合A的一个划分,当且仅当一AiUA2U.UAn=A 且Ai A Aj.=(i!=j)二测试(1)完备性 三(2)无冗余性黑盒测试的数学知识28数学知识-函数O任何程序都可以看成将其输出与输入关联起=来的函数,因此函数是开发测试的核心概念。|多对1函数1程序实现的功能大多数是多对一的函数。这对测试 很重要(多对一测试可选代表等价类1对L功 能相似也可分等价类)黑盒测试的数学知识29数学知识-命题逻辑口命题:有真假值,且无歧义-P q pAq pVq n P PqT T T T F FT F F T F TFT F T T TF F F F T F黑盒测试的数学知识!0黑盒测试测试
18、用例设计技术 等价类划分方法 边界值分析方法I 错误推测方法 因果图方法 判定表驱动分析方法 场景设计方法 其他几种方法 功能性测试小结31等价类划分 _ 概述 等价类的划分原则 一口等价类划分法的测试用例设计 常见等价类划分测试形式口使用等价类划分法测试的实例32等价类划分(概述)等价类划分法是一种重要的、常用的黑盒测试方法,它将不能 穷举的测试过程进行合理分类,从而保证设计出来的测试用例,具有完整性和代表性。举例:设计这样的测试用例,来实现一个对所有实数进行开平 二 方运算(y=sqrt(x)的程序的测试三 思考方向:由于开平方运算只对非负实数有效,这时需要将所有的实 数(输入域x)进行划
19、分,可以分成:正实数、。和负实数。假设我们选定+L4444代表正实数,-2.345代表负实数,则 为该程序设计的测试用例的输入为+L4444、0和-2.345。33等价类划分法(续)等价类划分法是把所有可能的输入数据,即程序的输入域划分为 若干部分(子集),然后从每一个子集中选取少数具有代表性的 数据作为测试用例。所谓等价类是指某个输入域的子集合。在该子集合中,各个输入J 数据对于揭露程序中的错误都是等效的,它们具有等价特性,即 每一类的代表性数据在测试中的作用都等价于这一类中的其它数i据。这样,对于表征该类的数据输入将能代表整个子集合的输入。壬因此,可以合理的假定:二测试某等价类的代表值就是
20、等效于对于这一类其它值的测试。343.4,1等价类的划分原则等价类是输入域的某个子集合,而所有等价类的并集就是 一整个输入域。因此,等价类对于测试有两个重要的意义:完备性整个输入域提供一种形式的完备性 一J 无冗余性若互不相交则可保证一种形式的无冗余性 如何划分?鼻划分等价类重要的是:集合的划分,划分为互不相交的一组子 集,而子集的并是整个集合。(并是整个集合:完备性,子集互不相交:保证一种形式的无冗余性)先从程序的规格说明书中找出各个输入条件,再为每个输入条 件划分多个等价类,形成若干的互不相交的子集。再在同 一类中标识(选择)一个测试用例。(同一等价类中,往-往处理相同,相同处理映射到“相
21、同的执行路径”)-35等价类划分 _采用等价类划分法设计测试用例通常分两步进行:一(1)确定等价类,列出等价类表。1(2)确定测试用例。划分等价类可分为两种情况:M2(1)有效等价类_是指对软件规格说明而言,是有意义的、合理|的输入数据所组成的集合。利用有效等价类,能够检 验程序是否实现了规格说明中预先规定的功能和性能。36等价类的划分原则(2)无效等价类S 是指对软件规格说明而言,是无意义的、不合理 的输入数据所构成的集合。利用无效等价类,可以鉴别 程序异常处理的情况,检查被测对象的功能和性能的实 现是否有不符合规格说明要求的地方。设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能
22、接收合理的数据,也要能经受意外的考验,这样的测试才能确 保软件具有更高的可靠性.37等价类的划分原要登)_划分等价类的方法 一1下面给出六条确定等价类的原则 1按照区间划分:在输入条件规定了取值范围或值的个数的 情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0-1000 I 100无效等价类 成绩0有效等价类1W成绩W100一无效等价类 成绩10038等价类的划分原则(续)按照数值集合划分:在输入条件规定了输入值的 集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类(该 集合有效值之外)。如标示符、数字。在输入条件是一个布尔量的情况下
23、,可确定一个 有效等价类和一个无效等价类。39等价类的划分原要登)_三按照数值划分:在规定了输入数据的一组值(假 定n个),并且程序要对每一个输入值分别处理 的情况下,可确立n个有效等价类(每个值确定 一个有效等价类)和一个无效等价类(所有不 允许的输入值的集合)。例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效 等价类,另外把四种学历之外的任何学历作为无效 等价类。40等价类的划分原则(续)按照限制条件或规则划分:在规定了输入数据必 须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角 度违反规则)。细分等价类:在确知
24、已划分的等价类中各元素在 程序处理中的方式不同的情况下,则应再将该等 价类进一步的划分为更小的等价类。等价类划分法的测叫例设计设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件有效等价类无效等价类 在设计测试用例时,应同时考虑有效等价类和无效等价类测试用 例的设计。42等价类划分法的测试用例设计然后从划分出的等价类中按以下三个原则设计 测试用例:为每一个等价类规定一个唯一的编号。设计一个新的测试用例,使其尽可能多地覆盖尚未 被覆盖地有效等价类,重复这一步,直到所有的有 效等价类都被覆盖为止。设计一个新的测试用例,使其仅覆盖一个尚未被覆 盖的无效等价类,重复这一步,直
25、到所有的无效等 价类都被覆盖为止。常见等价类划分测试形式 针对缺陷相关性假设,可将等价类测试分为弱等价 类测试和强等价类测试。针对是否对无效数据进行测试,可以将等价类测试 分为:标准等价类测试和健壮等价类测试。标准等价类测试不考虑无效数据值,测试用例使用=每个等价类中的一个值。一 健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个无效值,其他值均取 有效值。等价类划分举例 举例例1给定一个两变量xl和x2的函数f,如果f实W 现为一程序,则输入变量xl和x2将拥有以下边 界及边界内的区间:axld,区间为a,b,b,c,
26、c,dex2$A J 工 r,多干1 555等价类划分举例第二步设计测试用例测试数据=测试范围期望结果=()276-2345等价类,叁有效(635)805-9321等价类,有效对11个无效等价类,选择11个测试用例如下:56等价类划分举例测测试范围期望结果1,、J v$A.J/F4(20A)423-4567无效等价类无效八人 FT J 1 7syu(44)934.5678无效等价类无效(7777)345-6789无效等价类无效$A203 940 59苴户F已婚未婚1人扣0.5点上Y工最多扣3点6点4占2点Q i-t5总3点3总5总八、=八、=八、1八、八、(四舍五入取整)58计算保费费率的程序
27、(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等 价类表(包括有效等价类和无效等价类)。年龄:一位或两位非零整数,值的有效范围为199-性别:一位英文字符,只能取值或F 婚姻:字符,只能取值已婚或未婚抚养人数:空白或一位非零整数(1-9)点数:一位或两位非零整数,值的范围为199(2)根据(1)中的等价类表,设计能覆盖所有等价类的 测试用例。59输入条件有效等价类编号无效等价类编号年龄2039岁14059岁2119岁 6099岁3小于112大于9913性别单个英文字符4非英文字符14非单个英文字符15M5除和P之外的 其它单个字符166婚姻已婚7除已婚和未婚 之外的其它字符17未婚
28、8抚养人数空白9除空白和数字之外 的其它字符1816人10小于11969人11大于92060测试用例 编号输入数据预期输出年龄性别婚姻抚养人数保险费率127F未婚空白0.6%250M已婚20.6%370F已婚70.1%40M未婚空白无法推算5100F已婚3无法推算699男已婚4无法推算71Child未婚空白无法推算845N已婚5无法推算938F离婚1无法推算1062M已婚没有无法推算1118F未婚0无法推算1240M未婚10无法推算61使用等价类划分法测试的实例例5:输入三个整数a、b、c(假定在1100之 间),分别作为三角形的三条边,现通过程序判 断由三条边构成的三角形的类型为等边三角形、
29、等腰三角形、一般三角形(特殊的还有直角三 角形),以及构不成三角形。用等价类划分方 法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系 比较复杂。)62使用等价类划分法测试的实例 解法一:分析题目中给出和隐含的对输入条件的要求:1(1)整数(2)三个数(3)非零数 1_(4)正数 二(5)两边之和大于第三边(6)等腰=(7)等边如果:a、b、c满足条件(1)(4),则输出下列四种 情况之一:1.如果不满足条件(5),则程序输出为“非三角形”。12.如果三条边相等即满足条件(7),则程序输出为“等边三 _角形”。3.如果只有两条边相等、即满足条件(6),则程序输出为 “等
30、腰三角形”。-4.如果三条边都不相等,则程序输出为“一般三角形”。63输入条件输入个整数有效等价类 型号码无效等价类人为非整数号码12整数1一边为非整闿两边为非整级b为非整数、C为非整数 ra,b为非整数 b,c为非整数 Lc为非整数1314151617七J r r六代/人业三边 b,C均为非整数18列出等价类三个数2只给a 只给一边只给b、只给c只给由 只给两边Y只给he 匕只给ac给出三个以上19=表并编号202122232425非零数3一边为零Y二边为零Yo o o o 0。为为幻 为为为by,a b C 工 b,L J rL262728293U31三边ahc均为o L aD3233正数
31、4一边0 rb0343536二边 0-三边均0a0 且 c)I b0 且 cfl:afl 且 bjO 且 ca升cb567-a+KOa+tFO p b+ca _ 居+r二二4U414243r a+cb 工 a+ub4445构成等腰 三角形a=b b=c 且两边之和 a=c大千第三辿8910构成等牌 三角形卜8Fb=C11边65使用等价类划分法测试的实例覆盖有效等价类的测试用例:a b c 覆盖等价类号码 1345(1)-(7)445(1)-(7),(8)455(1)-(7),(9)545(1)-(7),(10)444(1)-(7),(11)66使用等价类划分法测试的实例覆盖无效等价 类的测试用
32、例:abC覆盖等价类号用abC覆盖等价类号同2.545120052934.551330030345.514040313.54.55150003234.55.516-345333.545.5173-45344.54.55.51834-535319-3-4536420-345375213-4-5383422-3-4-5394523315403524325413452531142045263214330527142443402834145使用等价类划分法测试的实例解法2:在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。
33、在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信J息能够确定下列输出(值域)等价类。RI=:边为a,b,c的等边三角形R2=:边为a,b,c的等腰三角形R3=:边为a,b,c的一般三角形)R4=:边为a,b,c不能组成三角形68使用等价类划分法测试的实例测试用例abr预期输出=Test等边三角形=7est210105等腰二角形a4三一般三角形iI vZ nrJ2 Test4,4,非三角形,z.三角形问题的标准等价类测试用例69使用等价类划分法测试的实例70测试用例a=b=c预期输出Testi 115 7a值超出输入值定义域J|zL/LJL_|1口U z
34、 v|zL AC.ThcH 9-1h估地中椅入估+V+需Test 1355-1C值超出输入值定义域Testl410155a值超出输入值定义域mih倩招山岭入信宗域Test 1655101C值超出输入值定义域三角形问题的弱健壮等价类测试用例NextDate函数等价去测试用例例6:NextDate函数包含三个变量:month、day和year,函数的输出为输 入日期后一天的日期。例如,输入为2006 年3月7日,则函数的输出为2006年3月8 日。要求输入变量month、day和year均为整数 值,并且满足下列条件:(1)lmonth12(2)lday31(3)1920year205071Nex
35、tDate函数等价类测试用例有效等价类为:M=月份:1W月份W12D=日期:1W日期W31年:1812W 年 42012 若条件(1)(3)中任何一个条件失效,则NextDate 函数都会产生一个输出,指明相应的变量超出取值范围,比如month的值不在1-12范围当中”。显然还存在着大量的 year、month、day的无效组合,NextDate函数将这些 组合作统一的输出:“无效输入日期”O其无效等价类为:乂2=月份:月份1M3=月份:月份12口2=日期:日期1口3=日期:日期31丫2=年:年1812丫3=年:年201272NextDate函数等价云测试用例弱一般等价类测试用例-月份一日期一
36、年 预期输出二6 15 1912 1912 年6月 16 日 强一般等价类测试用例同弱一般等价类测试用J例:=注:弱有单缺陷假设健壮考虑了无效值73NextDate函数等价类测试用例弱健壮等价类测试用例ID月份日期 年 预期输出 1WRi 6 15 1912 1912 年6 月 16 日WR2-1 15 1912 月份不在112中WR3 13 15 1912 月份不在112中WR4 6-1 1912 日期不在131中WR5 6 32 1912 日期不在131中WR6 6 15 1811 年份不在18122012中WR7 6 15 2013 年份不在18122012中74NextDate函数等价
37、类测试用例 强健壮等价类测试(27个中的一个“角”)B用例ID月份日期 年 预期输出 1SR1-1 15 1912 月份不在112中SR2 6-1 1912 日期不在131中SR3 6 15 1811 年份不在18122012中MSR4M1 11两个无效一个有效 1811 两个无效一个有效 SR:T 15118111两个无效一个有效SR7-1-1 1811 三个无效75习题问题:给出下面的有效和无效等价类输入条件:“,.统计全国各省、市、自治区的人口”输入条件:“标识符应以字母开头”输入条件:长度为1-20的字符串输入条件:数据库中的值域,CHAR(20),NOTNULL边界值分析法什么是边界
38、值分析法边界值分析法就是对输入或输出的边界值进行测试 的一种黑盒测试方法。通常边界值分析法是作 为对等价类划分法的补充,这种情况下,其测I 试用例来自等价类的边界。I为什么使用边界值分析法?一三无数的测试实践表明,大量的故障往往发生在输入 定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常 会取得很好的测试效果。77举例一常见的边界值i 对16-bit的整数而言32767和-32768是边界:二口屏幕上光标在最左上、最右下位置二 三|报表的第一行和最后一行 15数组元素的第一个和最后一个!循环的第0次、第1次和倒数第2次、最后一看 次78边界值分析法 怎样用边界
39、值分析法设计测试用例?(1)首先确定边界情况。通常输入或输出等价类的边界就是应该 着重测试的边界情况。(2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。与等价划分的区别 边界值分析使用与等价类划分法相同的划分,只是边界值分析 假定错误更多地存在于划分的边界上,因此在等价类的边界上 以及两侧的情况设计测试用例。边界值分析不是从某等价类中随便挑一个作为代表,而是使这 个等价类的每个边界都要作为测试条件。边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试 情况。79边界值分析法例7:测试计算平方根的函数B 输入:实数 N输出:实数 三规格说明:当输入
40、一个。或比。大的数的时候,返回其正 平方根;当输入一个小于。的数时,显示错误信息并返回 Oo等价类划分_ _可以考虑作出如下划分:输入:(i)=0输出:(a)=0 和(b)Error80边界值分析法测试用例有两个:输入4,输出2。对应于(ii)和(a)。输入-10,输出0和错误提示。对应于和(b)o边界值分析:划分(ii)的边界为0和最大正实数;划分的边界为最小负实 数和0。由此得到以下测试用例:输入最小负实数输入绝对值很小的负数-=输入0;三 输入绝对值很小的正数-.输入最大正实数)81边界值分析法 _基于边界值分析方法选择测试用例的原则三-1)如果输入条件规定了值的范围,则应取刚达到这 个
41、范围的边界的值,以及刚刚超越这个范围边界H的值作为测试输入数据。-例如,如果程序的规格说明中规定:”重量在10 公斤至50公斤范围内的邮件,其邮费计算公式 为作为测试用例,我们应取10及50,还 应取10.01,49,99,9.99及50,01等。82边界值分析法2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数j作为测试数据0-f比如,个输入文件应包括1255个记录,则测试用例 可取1和255,还应取。及256等。83边界值分析法 _ 3)将规则1)和2)应用于输出条件,即设计测试1 用例使输出值达到边界值及其左右的值。1 例如,某程序的规格说明要求计
42、算出“每月保险 金扣除额为0至H65.25元”,其测试用例可取 0.00及n65.24、还可取一0.01 及H65.26等。工再如一程序属于情报检索系统,要求每次”最少显 示1条、最多显示4条情报摘要”,这时我们应 考虑的测试用例包括1和4,还应包括0和5等。84边界值分析法 _ 5)如果程序的规格说明给出的输入域或输出域是 有序集合(如有序表、顺序文件等),则应选取 集合的第一个元素和最后一个元素作为测试用一 例。6)如果程序中使用了一个内部数据结构,则应当选 择这个内部数据结构的边界上的值作为测试用B 例。7)分析规格说明,找出其它可能的边界条件。85边界值分析上述原则的一些说明1)在通常
43、情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、质量、大小、速度、方位、尺寸、空间等。相应地,以上类型的 边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。如:项边界值最小值-1/最测试用例的设计思路假设某软件的数据输入域要求输入5位的数据值,可以数值仲田1 nnnn作为曷/卜侑 qqqqq作为曷大俏 玳后仲大值+1用刚好小于5位和大于5位的数值来作为边界条件。空间小于空余空 间一点/大于 满空间一点例如在用U盘存储数据时,使用比剩余磁盘空间大一点(几KB)的文件作为边界条件。86边界值分析2)在多数情况下,边界值条件是基于应用程序
44、的功能设计 而需要考虑的因素,可以从软件的规格说明或常识中得 至U,也是最终用户可以很容易发现问题的。然而,在测 试用例设计过程中,某些边界值条件是不需要呈现给用 户的,或者说用户是很难注意到的,但同时确实属于检 验范畴内的边界条件,称为内部边界值条件或子边界值(条件。内部边界值条件主要有下面几种:J 数值的边界值检验 5 字符的边界值检验 一=其它边界值检验 如:87数值的边界值检验计算机是基于二进制进行工作的,因此,软件的任何数值 运算都有一定的范围限制。计算机数值运算的范围项范围或值位(bit)0或1字节(byte)0-255字(word)0-65535(单字)或 04294967295
45、(双字)千(K)1024兆(M)1048576吉(G)107374182488字符的边界值检验在计算机软件中,字符也是很重要的表示元素,其中ASCII 和Unicode是常见的编码方式。下表中列出了一些常用字符 对应的ASCII码值。字符ASCH码值字符ASCH码值空(null)0A65空格(space)32a97斜杠(/)47Z90048z122冒号(:)58单引号()966489边界值分析3)边界值分析法是基于可靠性理论中称为“单故 障”的假设,即有两个或两个以上故障同时出 现而导致软件失效的情况很少,也就是说,软二件失效基本上是由单故障引起的。-因此,在多变量的边界值分析法中获取测试用例
46、的 全方法是:(1)每次保留程序中一个变量,让其余的变量取正常 值,被保留的变量依次取min、min+、nom、max-和max。(2)对程序中的每个变量重复(1)。90边界值分析法-举例 例8:有两个输入变量xl(aWxlWb)和x2(cWx2Wd)的程序F的边 界值分析测试用例如下:,边界值分析法-举例 例9:有二元函数f(x,y),其中xl,12,yelz31o 则采用边界值分析法设计的测试用例是:,/,推论:对于一个含有n个变量的程序,采用边界值分析法测试程序会 产生4n+l个测试用例(一个变量取最小值,略高于最小值,正常 值,略低于最大值,最大值外,其余变量取正常值。对每个变量都i重
47、复进行)。三 再如:有函数f(x,y,x),其中x1900,2100,yel,12,Zl,31的。请写出该函数采用边界值分析法设计的测试用例。共 13个,分别是:,z,z z,92边界值分析法-举例例10:现有一个学 生标准化考试批 阅试卷,产生成 绩报告的程序。其规格说明如下:程序的输入文件 由一些有80个字 符的记录组成,如右图所不,所 有记录分为3组:(试题部分)标 题1 80试题数标准答案(15。题)21 3 4 9 10 59 60 79 80试题数标准答案(5170。题)21 3 4 9 1059 60 79 80(学生答卷部分)学号1学生答案(15。题)31 9 10 59 60
48、 79 J学号1学生答案(5170。题)359 6079 8019 1093边界值分析法-举例(学生答卷部分)=标您:(试题部分)标 题=这一组只有一三180个记录,其内容试题数标准答案(15。题)2为输出成绩报告1 3 4 9 10 59 60 79 80试题数标准答案(5170。题)2的名字。1 3 4 9 10 59 60 79 801 9 10 59 60 79 80学号1学生答案(15。题)31 9 10 59 60 79 80学号1学生答案(5170。题)394边界值分析法-举例试卷各题标准答案记录:每个记录均在第80个字 符处标以数字“2”。该组的第一个记录的第1 至第3个字符为
49、题目编 号(取值为1 999)。第10至第59个字符给 出第1至第50题的答案(试题部分)标 题1试题数标准答案(15。题)21 3 4 9 10 59 60 79 80试题数标准答案(5170。题)21 3 4 9 10 59 60 7980(每个合法字符表示一 个答案)。该组的第2,第3个记录相应为第51至第100,第 101至第150,题的答案。(学生答卷部分)学号1学生答案(15。题)31 9 10 59 60 79 J学号1学生答案(5170。题)359 6079 8019 1095边界值分析法-举例每个学生的答卷描述:该组中每个记录的第80 个字符均为数字“3”。每个学生的答卷在若
50、干 个记录中给出。如甲的 首记录第1至第9字符 给出学生姓名及学号,第10至第59字符列出 的是甲所做的第1至第 50题的答案。若试题 数超过50,则第2,第 3纪录分别给出他的第51至第100,第 101至第150题的 解答。然后是学生乙的 答卷记录。(试题部分)标 题801试题数标准答案(15。题)21 34 91059 6079 80试题数标准答案(5170。题)21 3 4 9 10(学生答卷部分)59 6079 80学号1学生答案(15。题)319 1059 6079 80学号1学生答案(5170。题)319 1059 6079 80学生人数不超过200,试题数不超过999。96边界
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100