第三章测试设计和开发_第1页
第三章测试设计和开发_第2页
第三章测试设计和开发_第3页
第三章测试设计和开发_第4页
第三章测试设计和开发_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试技术1第三章测试设计和开发3.1测试设计流程3.2总体设计3.3开发测试用例3.4评审测试用例23.1测试设计流程测试设计活动的输入是测试计划,测试计划应该说明将用到的方法和测试工作的范围。测试设计活动的输出是将在系统测试和确认测试中使用的评审过的测试用例集合。33.2总体设计定义设计目标清楚地说明每项测试的目标使每项测试的目的单一,可以对应到规格说明书中的一项需求只说明测试将完成什么工作,而不是说明如何完成定义输入说明定义测试环境和配置编写测试设计文挡43.3开发测试用例什么是测试用例?测试用例是为特定目标开发的测试输入、执行条件和预期结果的集合。

3.3.1了解测试用例什么是好的测试用例?好的测试用例必须清晰地定义一个或多个期望的结果和测试通过和失败标准。好的测试用例应该容易发现软件错误、且有可重复性、没有冗余。5测试用例的作用指导测试的实施作为编写测试脚本的“设计规格说明书”评估测试结果的度量基准分析缺陷的标准6什么是测试过程?IEEE将测试过程定义为“说明执行一系列测试用例的步骤。测试过程是为了评估一系列功能而进行软件项分析的步骤”。3.3.2定义详细测试过程测试用例和测试过程的区别?测试过程是由一系列的测试用例组成的。

73.3.3定义预期结果测试过程的每一步都需要明确预期的结果。预期结果的来源:项目专家或其他方面的专家将知道如何确定输出结果用户文档可以包含一些用户场景范例需求文档也可以提供必要的信息其他相关文档也可以提供相关线索最终用户也许能够描述所期望的响应结果8测试用例文档由简介和测试用例两部分组成。简介部分描述了测试目的、测试范围、定义术语、参考文档、概述等。测试用例部分逐一列示各测试用例。测试用例的基本元素:测试索引,测试环境,测试输入,测试操作,预期结果,评价标准。3.3.4测试用例内容9最简单的测试用例也将包含:用例编号、输入、期望结果、实际结果。

测试用例ID输入预期结果实际结果测试统计利率贷款期限(年)贷款金额(元)月支付总支付总利息月支付总支付总利息通过/失败测试日期测试人员TC-0018%3080000587.01TC-0028.5%3080000615.13TC-0038.5%1580000787.7910测试的一项基本原则是:被测试的系统始终应该处于一种已知的状态。因此测试用例往往需要说明初始条件。

说明

测试用例ID:

TC-001软件版本:

子系统:

用户名字段测试

操作系统:

测试人员姓名:

测试日期:

初始设置

1.打开注册会话框

2.在用户名字段放入字符“王”

3.确保所有其他输入字段为空输入

1.将光标置于用户名字段

2.输入字符“帅”预期结果

用户名字段出现字符“王帅”实际结果

□通过

□失败11如果没有测试用例或者仅有简单的测试功能描述,测试过程难以控制,测试结果将毫无可靠性可言。简单的测试用例可靠性低,重用性差,可能导致不同人员理解不同。详细的测试用例可靠性高,而且便于估计执行所需时间,易于控制。3.3.5测试用例参数化12测试用例越详细越好?13时间要求

测试时间是否充足?执行者

测试执行者对系统的了解程度?建议程度

将测试用例交给其他人执行时不需要过多的解释。14样例-登录需求:用户名长度为6至10位(含6位和10位)用户名由字符(a-z、A-Z)和数字(0-9)组成不能为空、空格和特殊字符密码规则同用户名规则15简单能够正确处理用户登录一般输入正确的用户名和口令可以进入系统输入用户名或口令错误无法进入系统16详细操作步骤预期结果输入正确的用户名和口令(均为6位),点击[OK]按钮进入系统输入正确的用户名和口令(均为10位),点击[OK]按钮进入系统输入正确的用户名和口令(均为6至8位之间),……进入系统用户名为空,……提示输入用户名不能进入系统用户名为空格,……提示无效用户名不能进入系统用户名小于6位,……提示用户名太短不能进入系统……………………17定义-参数化是一个将测试数据与测试逻辑(步骤)分开,简化测试用例的过程;方式是将用例中的一些输入、输出等作为参数,数据则单独列出,在执行时选择相应的数据执行。18为什么要参数化?没有将测试数据和测试逻辑分开的测试用例可能显得非常庞大,不利于测试员理解,导致难以控制和执行;通过将用例参数化,可以简化用例,使测试用例逻辑清晰,数据与逻辑的关系明了,易于理解;有利于提高测试用例的复用性;19哪些内容需要参数化?测试用例中需要通过使用不同数据来重复执行测试的部分;包括:输入(数据或操作等)输出(结果数据或预期结果等)20样例-登录步骤:1、输入<<<用户名>>>2、输入<<<口令>>>3、点击[OK]按钮结果:<<<预期结果>>>21测试数据(一)“用户名”“口令”“预期结果”说明“user10”“pass10”进入系统正确的用户名和口令(6位)“user789”“pass789”进入系统正确的用户名和口令(7-9位)“user000010”“pass000010”进入系统正确的用户名和口令(10位)“”“pass”提示输入用户名不能进入系统用户名为空“空格”“pass”提示无效用户名不能进入系统用户名为空格22测试数据(二)“用户名”“口令”“预期结果”说明“user”“userpass”提示用户名太短不能进入系统用户名小于6位“user0000011”“userpass”提示用户名太长不能进入系统用户名大于10位………………………………………………233.3.6白盒测试用例设计白盒测试作为结构测试方法,是按照程序内部的结构测试程序,对软件的过程性细节做细致的检查,测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例。

白盒法又称为逻辑覆盖法,其测试用例选择,是按照不同覆盖标准确定的。

语句覆盖判定覆盖条件覆盖条件组合覆盖弱强判定条件覆盖路径覆盖241、语句覆盖:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。2、判定覆盖:执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值。3、条件覆盖:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。4、判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。白盒法常用的覆盖标准255、条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。

6、路径覆盖:执行足够的例子,覆盖程序中所有可能的路径。白盒法常用的覆盖标准26白盒法步骤:例:用白盒法测试以下程序段:Procedure(VARA,B,X:REAL);BEGINIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1END;1)选择逻辑覆盖标准。2)按照覆盖标准列出所有情况。3)选择确定测试用例。4)验证分析运行结果与预期结果。逻辑结构27白盒法举例Procedure(VARA,B,X:REAL);BEGINIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1END;A>1ANDB=0X:=X/AA=2ORX>1X:=X+1YNYN逻辑结构281、语句覆盖使得程序中每个语句至少都能被执行一次。A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcde满足语句覆盖的情况:执行路径:ace选择用例:[(2,0,4),(2,0,3)]用例格式:[输入(A,B,X),输出(A,B,X)]YNYN292、判定覆盖使得程序中每个判定至少为TRUE或FALSE各一次。A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcde覆盖情况:应执行路径ace∧

abd 或:acd

abe选择用例(其一):⑴[(2,0,4),(2,0,3)]ace[(1,1,1),(1,1,1)]abd⑵[(2,1,1),(2,1,2)]abe[(3,0,3),(3,1,1)]acdYYNN303、条件覆盖A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcde使得判定中的每个条件获得各种可能的结果。应满足以下覆盖情况:判定一:A>1,A≤1,B=0,B≠0判定二:A=2,A≠2,X>1,X≤1选择用例:[(2,0,4),(2,0,3)][(1,1,1),(1,1,1)]NNYY2A≤1A≠20B=04X>11A>1A=21B≠01X≤1注意:[(1,0,3),(1,0,4)] [(2,1,1),(2,1,2)]满足条件覆盖,但不满足判断覆盖。314、判定/条件覆盖同时满足判断覆盖和条件覆盖。A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcde应满足以下覆盖情况:条件:A>1,A≤1,B=0,B≠0 A=2,A≠2,X>1,X≤1应执行路径ace∧

abd 或:acd

abe选择用例:[(2,0,4),(2,0,3)](ace)[(1,1,1),(1,1,1)](abd)YYNN325、条件组合覆盖使得每个判定中条件的各种可能组合都至少出现一次。A>1X:=X/AA=2X:=X+1abcdeB=0X>1YNYNYNYN编译系统下的执行情况:部分路径未被执行。满足以下覆盖情况:①A>1,B=0②A>1,B≠0③A≤1,B=0

④A≤1,B≠0⑤A=2,X>1

⑥A=2,X≤1

⑦A≠2,X>1

⑧A≠2,X≤1选择用例:[(2,0,4),(2,0,3)]①⑤[(2,1,1),(2,1,2)]②⑥[(1,0,3),(1,0,4)]③⑦[(1,1,1),(1,1,1)]④⑧336、路径覆盖覆盖程序中所有可能的路径A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcdeYYNNABX覆盖路径203101211301aceabdabeacd34等价分类法边值分析法错误推测法因果图法3.3.7黑盒测试用例设计黑盒测试不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。351、等价分类法基本思想:根据程序的I/O特性,将程序的定义域划分为有限个等价区段—“等价类”,从等价类中选择出的用例,具有“代表性”。等价类分为:

有效等价类—对于程序的规格说明是合理的、有意义的输入数据构成的集合。

无效等价类—对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。36等价分类法步骤应按照输入条件(如输入值的范围,值的个数,值的集合,输入条件必须如何)划分为有效等价类和无效等价类。例如:每个学生可选修1-3门课程可以划分一个有效等价类:选修1-3门课程。可以划分两个无效等价类:未选修课,选修课超过3门。又如:标识符的第一个字符必须是字母。可以划分为一个有效等价类:第一个字符是字母。可以划分一个无效等价类:第一个字符不是字母。①划分“等价类”

显然,关键是如何划分等价类A、为每个等价类编号;B、使一个测试用例尽可能覆盖多个有效等价类C、特别要注意的是:一个测试用例只能覆盖一个无效等价类。②选择测试用例等价分类法步骤372、边值分析法

基本思想:选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用例既考虑输入亦考虑输出。

分析步骤:A、先划分等价类。

B、选择测试用例,测试等价类边界。

边界选择原则:A、按照输入值范围的边界。B、按照输入/输出值个数的边界。

C、输出值域的边界。

D、输入/输出有序集的边界。38

A、按照输入值范围的边界。例如:输入值的范围是-1.0至1.0,则可选择用例–1.0、1.0、-1.001、1.001。

B、按照输入/输出值个数的边界。例如:输入文件可有1-255个记录,则设计用例:文件的记录数为0个、1个、255个、256个。

C、输出值域的边界。例如:检索文献摘要,最多4篇。设计用例:可检索0篇、1篇、4篇,和5篇(错误)。

D、输入/输出有序集(如顺序文件、线性表)的边界。应选择第一个元素和最后一个元素。边值分析法举例39黑盒法应用实例(一)[例]某FORTRAN编译系统的设计和程序编写工作已经完成,现需对DIMENSION语句的实现设计测试用例。已知DIMENSION语句的语法规则是:DIMENSION语句用以规定数组的维数。形式为:DIMENSIONAD[;AD]…其中,AD是数组描述符,其形式为

n(d[,d]…)其中,n是数组名,由1-6个字母或数字组成。为首的必须是字母;d是维数说明符,数组维数最大为7,最小为1,它的形式为[lb:]ub lb和ub分别表示数组下界和上界,均为-65534至65535之间的整数,也可是整型变量名(但不可是数组元素名)。若未规定lb,则认为其值为1,且ub>=lb。若已规定了lb,则它可为负数、零或正数。DIMENSION语句也和其他语句一样,可连续写多行。(以上规则中,[]内为任选项,小写字母代表语法单位,…表示它前面的项可重复出现多次。)40FORTRAN语言的DIMENSION语句

AD

DIMENSIONALPHA(2:5,3:10), BETA(-4:4,1:7),…… n d d d=[lb:]ub 1~6 1~7 -65534~65535

字符数维数 界值41[解]第一步确定输入条件,列出等价类表输入条件有效等价类无效等价类数组描述符个数数组名长度数组名构成数组名以字母开头数组维数上界是整型变量名整型变量以字母开头上下界取值是否定义下界上界对下界关系下界定义为下界是语句多于一行1(1),>1(2)1~6(4)有字母(7),有数字(8)是(10)1~7(12)常数(15)整型变量(16)有字母(19)有数字(20)是(22)-65534~65535(24)是(27),否(28)>(29),=(30)负数(32),0(33),正数(34)常数(35),整型变量(36)是(39),不是(40)无数组描述符(3)0(5),>6(6)有其它字符(9)不是(11)0(13),>7(14)数组元素名(17),其它(18)其它(21)不是(23)<-65534(25),>65535(26)<(31)数组元素名(37)其它(38)42第二步确定测试用例先设计一个测试用例,使其覆盖一个或多个有效等价类。如:DIMENSIONA(2)能覆盖有效等价类1,4,7,10,12,15,24,28,29和40。为覆盖其它有效等价类,需设计另外的测试用例。如:

DIMENSIONA12345(I,9,J4XXXX,65535,1,KLM,100),

BBB(-65534:100,0:1000,10:10,I:65535)它可覆盖其余的有效等价类。再设计其它测试用例,使每个只覆盖一个无效等价类,直至覆盖完为止。这些测试用例是(下面各行左端括号内的数字为等价类号):(3) DIMENSION(5) DIMENSION(10)(6) DIMENSIONA234567(2)(9) DIMENSIONA.1(2)(11) DIMENSION1A(10)43(13)

DIMENSIONB(14) DIMENSIONB(4,4,4,4,4,4,4,4)

(17) DIMENSIONB(4,A(2))(18) DIMENSIONB(4,,7)(21) DIMENSIONC(I.,10)(23) DIMENSIONC(10,1J)(25) DIMENSIOND(-65535:1)(26) DIMENSIOND(65536)(31) DIMENSIOND(4:3)(37) DIMENSIOND(4(2):4)(38) DIMENSIOND(.:4)连同前面两个共计18个测试用例,他们覆盖了全部等价类。第二步确定测试用例44黑盒法应用实例(二)保险费率计算人人保险公司承担人寿保险已有多年历史,该公司保费计算方式为投保额*保险率,保险率又依点数不同而有别,10点以上费率为0.6%,10点以下费率为0.1%:

45输入数据说明。46一、分析输入数据形式年龄:一或两位数字。性别:以英文[Male]、[Female]、[M]、[F]表示。婚姻:[已婚]、[未婚]。抚养人数:空白或一位数字。保险费率:10点以上,10点以下。47二、划分输入数据

4849三、设计输入数据5051四、设计测试用例:52533、错误推测法 凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例。把输入条件视为“因”,把输出条件视为“果”,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。根据这种关系可选择高效的测试用例。因果图是一种形式化语言,是一种组合逻辑网络图。4、因果图法54一、因果图方法概述4、因果图法

一种黑盒测试方法方法的依据:需求规格说明中的因果关系55二、因果图符号恒等c1=1e1=1c1=0e1=0非c1c2c3c1e1c1e1e1∨c1c2e1∧c1=1e1=0c1=0e1=1c1=1或c2=1或c3=1e1=1e1=0否则c1=1且c2=1e1=1e1=0否则或与56a输入条件的约束bEacIbabOE约束(异):a,b中至多有一个可能为1即a和b不能同时为1I约束(或):a,b和c中至少有一个

必须是1,即a、b和c不能同时为0O约束(唯一):a和b中必须有一个

且仅有一个为157abRR约束(要求):a是1时,b必须是1

即不可能a是1时b为0输出条件的约束abMM约束(强制):若结果a是1时,

则结果b强制为058分析规范,即将问题分为若干可工作的步骤。标识出规范中的原因与结果。原因—输入条件结果—输出或系统变换分析规范语义、内容,转换为因果图。将因果图转换为有限项判断表。将判断表的每一列,转换为一个测试用例。

三、因果图法的步骤59四、因果图方法举例某程序要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下对文件进行修改。但第一列字符不正确,则给出信息L;若第二列字符不是一个数字,则给出信息M。分析原因1——第一列字符是A2——第一列字符是B3——第二列字符是一个数字结果21——修改文件22——给出信息L23——给出信息M60因果图21232223111∨∧E61解判定表和测试用例123456

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论