收藏 分销(赏)

软件测试用例设计..ppt

上传人:w****g 文档编号:14680477 上传时间:2026-10-28 格式:PPT 页数:67 大小:397KB 下载积分:10 金币
下载 相关
软件测试用例设计..ppt_第1页
第1页 / 共67页
软件测试用例设计..ppt_第2页
第2页 / 共67页


点击查看更多>>
资源描述
Click to edit Title Slide,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,同步科技,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,软件测试用例设计.,软件测试用例设计.软件测试用例设计.课程介绍目标,掌握测试用例设计的实践、方法和要点,听众,测试管理人员、测试工程师,应用开发人员、QA人员,必备条件,熟悉测试过程,有过实际的测试经验2,1,课程介绍,目标,掌握测试用例设计的实践、方法和要点,听众,测试管理人员、测试工程师,应用开发人员、,QA,人员,必备条件,熟悉测试过程,有过实际的测试经验,2,课程内容,如何设计好测试用例,设计测试用例的思路,黑盒测试用例的设计,白盒测试用例的设计,自动化测试用例的设计,3,测试用例设计,下面我们学习,如何设计好测试用例,测试用例与软件质量,怎样衡量一个好的测试用例,测试用例的类型,剖析测试用例,提高设计测试用例的效率,常出现的错误,4,测试用例与软件质量,测试用例是为了发现软件缺陷,或至少可能发现缺陷而设计;,通过好的用例来提高质量,从而降低维护成本;,不好的用例将给质量带来一定的风险;,好的用例是度量质量的一个标准。,经常用“测试用例数,/,千行代码“来评价项目。,10/28/2026,5,怎样衡量一个好的测试用例,有效性,是否能发现软件缺陷,至少可能发现软件缺陷;,开销,测试事例的执行、分析和调试是否经济;,可仿效性,测试用例可以测试多项内容,因而减 少了测试事例的数量;,可维护性,每次软件修改后对测试事例的维护成本;,可执行性,是否依赖于测试用例设计者;,10/28/2026,6,测试用例的类型,按表现形式分:,向导型 一步一步的指示说明表,脚本型 执行测试或回放记录的脚本,按设计目标分:,单元测试用例,-,发现编码的缺陷,系统测试用例,-,发现功能说明的缺陷,集成 测试用例,-,发现设计的缺陷,验收测试用例,-,发现需求的缺陷,10/28/2026,7,剖析测试用例,对任何一个测试用例而言都顺序执行这5个测试开发活动,标识,设计,建立,分析,执行,标识测试条件(确定测试什么)和测试的优先,级,设计测试用例,(,确定怎样测试,),建立测试,(,确定测试脚本、数据等,),执行测试用例,将测试用例的输出结果与期望结果进行比较,10/28/2026,8,提高设计测试用例的效率,使用模板,防止空白页,建立标准,帮助测试者发现信息,打印好的测试例子,使用测试管理软件,容易增加、移动、删除用例与步骤,可以借鉴很多模板,制作大纲,可以对步骤、用例进行拷贝,能自动编号,复制技术,使用“另存为”命令,使用“替换”命令,使用存储文本、宏,10/28/2026,9,常出现的错误,用例太长,不完善,不正确、不连贯,遗漏步骤,对字段的命名有所改变或使其根本不存在,对系统的操作不清楚,不能确定用例是否通过,参数化错误,10/28/2026,10,测试用例设计,下面我们学习,设计测试用例的思路,由简而繁,参数化,案例,11,由简而繁,“繁”,这里是指详细的意思;,是一个过程,是一个逐步细化的过程,是一个从简单的测试描述(测试功能点、测试需求等)逐步细化到能够去依照执行的测试用例的过程,由简而繁,10/28/2026,12,为什么要由简而繁?,如果没有测试用例或者仅有简单的测试功能描述,测试过程难以控制,测试结果将毫无可靠性可言;,简单的测试用例可靠性低,重用性差,可能导致不同人员理解不同;,详细的测试用例可靠性高,而且便于估计执行所需时间,易于控制。,10/28/2026,13,到何种程度?,时间要求,测试时间是否充足?,执行者,测试执行者对系统的了解程度?,建议程度,将测试用例交给其他人执行时不需要过多的解释。,10/28/2026,14,样例 登录,需求:,用户名长度为6至10位(含6位和10位),用户名由字符(,a-z、A-Z),和数字(0-9)组成,用户名不能为空,不能有空格和特殊字符,密码规则同用户名规则,10/28/2026,15,简单理解需求,能够正确处理用户登录,10/28/2026,16,一般用例的设计,输入正确的用户名和口令可以进入系统,输入错误用户名或口令错误无法进入系统,10/28/2026,17,详细用例的设计,操作步骤,预期结果,输入正确的用户名和口令(均为6位),点击,OK,按钮,进入系统,输入正确的用户名和口令(均为10位),点击,OK,按钮,进入系统,输入正确的用户名和口令(均为6至8位之间),,进入系统,用户名为空,,提示输入用户名不能进入系统,用户名为空格,,提示无效用户名不能进入系统,用户名小于6位,,提示用户名太短不能进入系统,10/28/2026,18,什么是参数化,是一个将测试数据与测试逻辑(步骤)分开,简化测试用例的过程;,方式是将用例中的一些输入、输出等作为参数,数据则单独列出,在执行时选择相应的数据执行。,10/28/2026,19,为什么要参数化?,没有将测试数据和测试逻辑分开的测试用例可能显得非常庞大,不利于测试员理解,导致难以控制和执行;,通过将用例参数化,可以简化用例,使测试用例逻辑清晰,数据与逻辑的关系明了,易于理解;,有利于提高测试用例的复用性;,10/28/2026,20,哪些内容需要参数化?,测试用例中需要通过使用不同数据来重复执行测试的部分;,包括:,输入(数据或操作等),输出(结果数据或预期结果等),10/28/2026,21,样例 登录的测试步骤,步骤:,1、输入,2、输入,3、点击,OK,按钮,结果:,10/28/2026,22,样例 登录的测试数据,“用户名”,“口令”,“预期结果”,说明,“user10”,“pass10”,进入系统,正确的用户名和口令(6位),“user789”,“pass789”,进入系统,正确的用户名和口令(7-9位),“user000010”,“pass000010”,进入系统,正确的用户名和口令(10位),“”,“pass”,提示输入用户名,不能进入系统,用户名为空,“空格”,“,pass”,提示无效用户名,不能进入系统,用户名为空格,“,user”,“userpass”,提示用户名太短,不能进入系统,用户名小于6位,“user0000011”,“userpass”,提示用户名太长,不能进入系统,用户名大于10位,10/28/2026,23,测试用例设计,下面我们学习,黑盒测试用例的设计,等价类划分法,边界值分析法,错误推测法,因果图法,。,24,等价类划分,定义:,是把所有可能的输入数据,即程序的输入域划分成若干部分,(,子集,),,然后从每一个子集中选取少数具有代表性的数据作为测试用例;,基本思想是设想用一组有限的数据去代表近似无限的数据;,10/28/2026,25,等价类划分,有效等价类,是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。(正确的),无效等价类,无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。(错误的),设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要经受意外的考验,这样的测试才能确保软件具有更高的可靠性。,10/28/2026,26,划分等价类的方法,在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0100;,10/28/2026,27,划分等价类的方法,在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类;,在规定了输入数据的一组值(假定N个),并且程序要对每一个输入值分别处理的情况下,可确立N个有效等价类和一个无效等价类;,。,10/28/2026,28,设计测试用例,在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件,然后从划分出的等价类中按以下三个原则设计测试用例:,为每一个等价类规定一个唯一的编号;,设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;,设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止;,10/28/2026,29,例子档案管理系统,有一个档案管理系统,要求用户输入以年月表示的日期。,假设日期限定在,1990,年,1,月,2049,年,12,月,并规定日期由,6,位数字字符组成,前,4,位表示年,后,2,位表示月。,现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。,10/28/2026,30,例子档案管理系统,划分等价类并编号,下表为等价类划分的结果:,输入条件,有较等价类,号码,无效等价类,号码,日期类型与长度,6,位数字字符,1,有非数字字符,4,小于,6,位数字字符,5,大于,6,位数字字符,6,年份范围,在,1990-2049,之间,2,小于,1990,7,大于,2049,8,月份范围,在,01-12,之间,3,等于,00,9,大于,12,10,10/28/2026,31,例子档案管理系统,设计测试用例,以便覆盖所有的有效等价类在表中列出了,3,个有效等价类,编号分别为,1,、,2,、,3,,设计的测试用例如下:,测试数据,期望结果,覆盖的有效等价类,200211,有效输入,1,、,2,、,3,10/28/2026,32,例子档案管理系统,为每一个无效等价类设计一个测试用例,设计结果如下:,测试数据,期望结果,覆盖的无效等价类,95June,无效输入,4,20036,无效输入,5,无效输入,6,198912,无效输入,7,205001,无效输入,8,200100,无效输入,9,200113,无效输入,10,10/28/2026,33,边界值分析,定义:,边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。,通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。,10/28/2026,34,边界值分析方法的考虑,长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。,使用边界值分析方法设计测试用例,应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。,10/28/2026,35,常见的边界值,对16-bit 的整数而言 32767 和-32768 是边界;,屏幕上光标在最左上、最右下位置;,报表的第一行和最后一行;,数组元素的第一个和最后一个;,循环的第 0 次、第 1 次和倒数第 2 次、最后一次;,。,10/28/2026,36,边界检验的几种类型,边界检验的几种类型:,数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。,项,边界值,字符,起始,-1,个字符,/,结束,+1,个字符,数字,最小值,-1/,最大值,+1,空间,小于空余空间一点,/,大于满空间一点,10/28/2026,37,数值的边界值检验,项,范围,/,值,位,(bit),0,或,1,字节,(byte),0 255,字,(word),065535(,单字,),或,04294967295(,双字,),千,(K),1024,兆,(M),吉,(G),1073741824,10/28/2026,38,字符的边界值检验,字符,ASCII,码值,字符,ASCII,码值,空,(null),0,A,65,空格,(space),32,a,97,斜杠,(/),47,Z,90,0,48,z,122,冒号,(:),58,单引号,(),96,64,64,10/28/2026,39,例子档案管理系统(同前),有一个档案管理系统,要求用户输入以年月表示的日期。,假设日期限定在,1990,年,1,月,2049,年,12,月,并规定日期由,6,位数字字符组成,前,4,位表示年,后,2,位表示月。,现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。,10/28/2026,40,例子档案管理系统,边界值分析后的用例:,测试数据,期望结果,说明,199001,有效输入,最小值,204912,有效输入,最大值,198912,无效输入,最小年,1,199112,有效输入,最小年,1,200100,无效输入,最小月,1,200102,有效输入,最小月,+1,204812,有效输入,最大年,1,205012,无效输入,最大年,1,200111,有效输入,最大月,1,200113,无效输入,最大月,+1,无效输入,长度多,1,20012,无效输入,长度少,1,10/28/2026,41,错误推测法,定义:,基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。,方法:,列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。,10/28/2026,42,例子,例如:,输入数据和输出数据为,0,的情况;,输入表格为空格或输入表格只有一行。,如前面的例子可补充的用例有:,输入空格,输入中有字符,输入“,999999”,或“,000000”,输入“,-202-2”,。,10/28/2026,43,因果图法,定义:,因果图法就是一种利用图解法分析输入的各种组合情况,生成判定表,从而设计测试用例的方法。,优点:,适合于检查程序输入条件的各种情况的组合。,可以为逻辑条件和相应动作之间的关系提供简洁的表示方法。,10/28/2026,44,测试用例设计,下面我们学习,白盒测试用例的设计,为什么要进行白盒测试,白盒测试用例设计方法,逻辑覆盖法,基本路径覆盖法,。,45,为什么要进行白盒测试,假如有一个程序流程如图所示:,10/28/2026,46,为什么要进行白盒测试,如果测试组不知道代码中有一个潜在的被0 除的错误。,测试组按照如下由蓝色和绿色标记的路径进行测试;,显然测试工作似乎非常完善,测试用例覆盖了所有执行语句,没有被0 除的错误发生。,10/28/2026,47,为什么要进行白盒测试,但是,当客户在接到该产品并使用的过程中,执行了如下红色标记所示的路径时,错误发生了。,10/28/2026,48,为什么要进行白盒测试,从本例可以看到,如果不对程序内部的逻辑结构做分析,则设计的测试用例可能无法发现内部潜在的错误。,10/28/2026,49,白盒测试用例设计方法,逻辑覆盖法,基本路径覆盖法,其它方法,等价类划分,边界值分析。,10/28/2026,50,逻辑覆盖法,逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解。,逻辑覆盖可分为:,语句覆盖,判定覆盖,条件覆盖,判定,-,条件覆盖,条件组合覆盖,10/28/2026,51,逻辑覆盖各种方法定义,语句覆盖,就是设计若干个测试用例,运行所测程序,使得每一可执行语句至少执行一次。,判定覆盖,就是设计若干个测试用例,运行所测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。,条件覆盖,就是设计若干个测试用例,运行所测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。,10/28/2026,52,逻辑覆盖各种方法定义,判定,-,条件覆盖,就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果也至少执行一次。,条件组合覆盖,就是设计足够的测试用例,运行所测程序,使得每个判断的所有可能的条件取值组合至少执行一次。,10/28/2026,53,基本路径法,定义:,基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。,基本路径法也叫独立路径法。,10/28/2026,54,流图符号,10/28/2026,55,流程图转为流图,10/28/2026,56,基本路径,经过分析后,基本路径集合为:,路径,1,:,1-11,路径,2,:,1-2-3-4-5-10-1-11,路径,3,:,1-2-3-6-8-9-10-11,路径,4,:,1-2-3-6-7-9-10-1-11,为了覆盖所有程序语句,必须设计至少,4,个测试用例使程序运行于这,4,条路径。,10/28/2026,57,其它白盒测试用例设计方法,等价类划分,边界值分析,。,10/28/2026,58,测试用例设计,下面我们学习,自动化测试用例的设计,自动化测试时用例的选择,数据的参数化,59,自动化测试时用例的选择,并不是所有的用例都会进行自动化测试;,选择用例来进行自动化测试时,需要考虑的因素有:,项目类型,操作类型,测试工具,易实现性,可维护性,流程稳定性,。,10/28/2026,60,测试脚本的参数化,在实现自动化测试过程中,需要提交了数据。这些操作都被记录到了脚本中。当多次运行脚本时,就会提交相同的记录,这样不符合实际的运行情况,而且有可能引起冲突。,为了更加真实的模拟实际环境,需要各种各样的输入。,脚本的参数化输入是一种不错的方法。,10/28/2026,61,脚本的参数化,脚本的数据参数化就是在脚本中将静态值更换为值变量,以使脚本在执行过程中,自动输入不同数据的方法。(实现方法视工具而不同),数据参数化的好处:,可以使脚本的长度变短。,可以使用不同的数值来测试你的脚本。,可以将设计的用例放置在数据源中一次执行完成。,数据参数化包含以下两项任务:,在脚本中用参数取代常量值。,设置参数的属性以及数据源。,10/28/2026,62,课程回顾,如何设计好测试用例,设计测试用例的思路,黑盒测试用例的设计,白盒测试用例的设计,自动化测试用例的设计,63,对测试的误解,有时间就多测试一些,来不及就少测试一些。,软件测试是测试人员的事,与开发人员无关。,设计实现测试,软件测试是开发后期的一个阶段。,10/28/2026,64,测试格言,不要改变程序,使测试更容易(除非这个修改是永久的)。,每个测试用例的一个必需的部分是对预期输出的描述。,避免不可重复的或无用的测试。,既要写有效输入条件的测试用例,也要写无效输入条件的测试用例。,10/28/2026,65,Question?,THANK,YOU,10/28/2026,66,谢谢观赏,67,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服