[信息与通信]第三章测试设计和开发ppt课件_第1页
[信息与通信]第三章测试设计和开发ppt课件_第2页
[信息与通信]第三章测试设计和开发ppt课件_第3页
[信息与通信]第三章测试设计和开发ppt课件_第4页
[信息与通信]第三章测试设计和开发ppt课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

4、例内容10测试用例ID输入预期结果实际结果测试统计利率贷款期限(年)贷款金额(元)月支付总支付总利息月支付总支付总利息通过/失败测试日期测试人员TC-0018%3080000587.01TC-0028.5%3080000615.13TC-0038.5%1580000787.79最简单的测试用例也将包含:用例编号、输入、期望结果、实际结果。 11 说明 测试用例ID: TC-001 软件版本: 子系统: 用户名字段测试 操作系统: 测试人员姓名: 测试日期: 初始设置 1打开注册会话框 2在用户名字段放入字符“王” 3确保所有其他输入字段为空输入 1将光标置于用户名字段 2输入字符“帅”预期结果

5、 用户名字段出现字符“王帅”实际结果 通过 失败测试的一项基本原则是:被测试的系统始终应该处于一种已知的状态。因此测试用例往往需要说明初始条件。样例 登录步骤:步骤:1、输入2、输入3、点击OK按钮结果:结果:12测试数据(一)“用户名用户名”“口令口令” “预期结果预期结果”说明说明“user10”“pass10”进入系统正确的用户名和口令(6位)“user789”“pass789”进入系统正确的用户名和口令(7-9位)“user000010”“pass000010”进入系统正确的用户名和口令(10位)“”“pass”提示输入用户名不能进入系统用户名为空“空格”“pass”提示无效用户名不能

6、进入系统用户名为空格13测试数据(二)“用户名用户名”“口令口令” “预期结果预期结果”说明说明“user”“userpass”提示用户名太短不能进入系统用户名小于6位“user0000011” “userpass”提示用户名太长不能进入系统用户名大于10位14 白盒测试作为结构测试方法,是按照程序内部的结构测试程序,对软件的过程性细节做细致的检查,测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例。 白盒法又称为逻辑覆盖法,其测试用例选择,是按照不同覆盖标准确定的。153.3.5 白盒测试用例设计白盒测试用例设计语语句句覆覆盖盖判判定定覆覆盖盖条条件件覆覆盖盖条条件件组组合合覆覆盖

7、盖弱弱强强判判定定条条件件覆覆盖盖路路径径覆覆盖盖161 1、语句覆盖:、语句覆盖: 选择足够的测试用例,使得程序选择足够的测试用例,使得程序中每个语句至少都能被执行一次。中每个语句至少都能被执行一次。2 2、判定覆盖:、判定覆盖: 执行足够的测试用例,使得程序执行足够的测试用例,使得程序中每个判定至少都获得一次中每个判定至少都获得一次“真真”值和值和“假假”值。值。3 3、条件覆盖:、条件覆盖:执行足够的测试用例,使得判定中执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。的每个条件获得各种可能的结果。4 4、判定、判定/ /条件覆盖:条件覆盖: 执行足够的测试用例,使得执行足够的

8、测试用例,使得判定中每个条件取到各种可能的值,并使每个判判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。定取到各种可能的结果。白盒法常用的覆盖标准白盒法常用的覆盖标准175 5、条件组合覆盖:、条件组合覆盖: 执行足够的例子,使得每个执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。判定中条件的各种可能组合都至少出现一次。 6、路径覆盖:路径覆盖: 执行足够的例子,覆盖程序中所执行足够的例子,覆盖程序中所有可能的路径。有可能的路径。白盒法常用的覆盖标准白盒法常用的覆盖标准白盒法步骤: 例:用白盒法测试以下程序段: Procedure(VAR A,B,X:REAL)

9、; BEGIN IF (A1) AND (B=0) THEN X:=X/A ; IF (A=2) OR (X1) THEN X:=X+1 END;181 1)选择逻辑覆盖标准。)选择逻辑覆盖标准。2 2)按照覆盖标准列出所有情况。)按照覆盖标准列出所有情况。3 3)选择确定测试用例。)选择确定测试用例。4 4)验证分析运行结果与预期结果。)验证分析运行结果与预期结果。逻辑结构逻辑结构白盒法举例 Procedure (VAR A,B,X:REAL); BEGIN IF(A1) AND (B=0) THEN X:=X/A ; IF (A=2) OR (X1) THEN X:=X+1 END;19A

10、1ANDB=0X:=X/AA=2OR X1X:=X+1YNYN逻辑结构逻辑结构1、语句覆盖 使得程序中每个语句至使得程序中每个语句至少都能被执行一次。少都能被执行一次。20A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde满足语句覆盖的情况:满足语句覆盖的情况: 执行路径:执行路径:aceace选择用例:选择用例:(2,0,4),(2,0,3)(2,0,4),(2,0,3) 用例格式:用例格式: 输入输入(A,B,X)(A,B,X),输出,输出(A,B,X)(A,B,X)YNYN2、判定覆盖 使得程序中每个判定至少使得程序中每个判定至少为为TRUE TRUE 或或FALSEFA

11、LSE各一次。各一次。21A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde覆盖情况:覆盖情况:应执行路径应执行路径ace abd 或:或: acd abe选择用例选择用例(其一):其一): (2,0,4),(2,0,3) ace (2,0,4),(2,0,3) ace (1,1,1),(1,1,1) abd (1,1,1),(1,1,1) abd (2,1,1),(2,1,2) abe (2,1,1),(2,1,2) abe (3,0,3),(3,1,1) acd (3,0,3),(3,1,1) acdYYNN3、条件覆盖22A1ANDB=0X:=X/AA=2OR X1X:=

12、X+1a abcde使得判定中的每个条件使得判定中的每个条件获得各种可能的结果。获得各种可能的结果。应满足以下覆盖情况:应满足以下覆盖情况:判定一判定一: A1, A1, B=0, B0判定二判定二: A=2, A2, X1, X1选择用例:选择用例: (2,0,4),(2,0,3) (2,0,4),(2,0,3) (1,1,1),(1,1,1) (1,1,1),(1,1,1) NNYY2 2A1A20 0B=04 4X11 1A1A=21 1B01 1X1注意注意: :(1,0,3),(1,0,4)(1,0,3),(1,0,4)(2,1,1),(2,1,2)(2,1,1),(2,1,2)满足

13、条件覆盖,但不满足判断满足条件覆盖,但不满足判断覆盖。覆盖。4、判定/条件覆盖 同时满足判断覆盖和条同时满足判断覆盖和条件覆盖。件覆盖。23A1ANDB=0X:=X/AA=2OR X1X:=X+1abcde应满足以下覆盖情况:应满足以下覆盖情况: 条件条件: A1, A1, B=0, B0 A=2, A2, X1, X1 应执行路径应执行路径ace abd 或:或: acd abe选择用例:选择用例: (2,0,4),(2,0,3) (2,0,4),(2,0,3)(ace)ace) (1,1,1),(1,1,1) (abd) (1,1,1),(1,1,1) (abd)YYNN5、条件组合覆盖

14、使得每个判定中条件的各种使得每个判定中条件的各种可能组合都至少出现一次。可能组合都至少出现一次。24A1X:=X/AA=2X:=X+1abcdeB=0X1YNYNYNYN编译系统下的执行情况:编译系统下的执行情况:部分路径未被执行。部分路径未被执行。满足以下覆盖情况:满足以下覆盖情况: A1, B =0 A1, B0 A1, B =0 A1, B0 A=2, X1 A=2, X1 A2, X1 A2, X1选择用例:选择用例:(2,0,4),(2,0,3) (2,0,4),(2,0,3) (2,1,1),(2,1,2) (2,1,1),(2,1,2) (1,0,3),(1,0,4) (1,0,

15、3),(1,0,4) (1,1,1),(1,1,1) (1,1,1),(1,1,1) 6、路径覆盖 覆盖程序中所有可能的路径覆盖程序中所有可能的路径A B X覆盖路径2 0 31 0 12 1 13 0 1a c e a b da b e a c d25A1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYYNN 黑盒测试不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。26等等价价分分类类法法边边值值分分析析法法错错误误推推测测法法因因果果图图法法3.3.7 黑盒测试用例设计黑盒测试用例设计1、等价分类法 基本思想:根据程序的I/O特性,将程序的定义域划分

16、为有限个等价区段 “等价类”,从等价类中选择出的用例,具有“代表性”。27等价类分为: 有效等价类 对于程序的规格说明是合理的、有意义的输入数据构成的集合。 无效等价类 对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。28等价分类法步骤 应应按照输入条件按照输入条件(如输入值的范围,值的个数,值的集合,输入(如输入值的范围,值的个数,值的集合,输入条件必须如何)划分为有效等价类和无效等价类。条件必须如何)划分为有效等价类和无效等价类。例如:每个学生可选修例如:每个学生可选修1-31-3门课程门课程 可以划分一个有效等价类:选修可以划分一个有效等价类:选修1-31-3门课程。门课

17、程。 可以划分两个无效等价类:未选修课,选修课超过可以划分两个无效等价类:未选修课,选修课超过3 3门。门。又如:标识符的第一个字符必须是字母。又如:标识符的第一个字符必须是字母。 可以划分为一个有效等价类:第一个字符是字母。可以划分为一个有效等价类:第一个字符是字母。 可以划分一个无效等价类:第一个字符不是字母。可以划分一个无效等价类:第一个字符不是字母。 显然,关键是显然,关键是如何划分等价类如何划分等价类A A、为每个等价类编号;为每个等价类编号;B B、使一个测试用例尽可能覆盖多个有效等价类使一个测试用例尽可能覆盖多个有效等价类C C、特别要注意的是:一个测试用例只能覆盖一个无效等价类

18、。特别要注意的是:一个测试用例只能覆盖一个无效等价类。2、边值分析法 基本思想: 选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用例既考虑输入亦考虑输出。29 分析步骤: A、先划分等价类。 B、选择测试用例,测试等价类边界。 边界选择原则: A、按照输入值范围的边界。 B、按照输入/输出值个数的边界。 C、输出值域的边界。 D、输入/输出有序集的边界。30边值分析法举例按照输入值范围的边界。 例如:输入值的范围是-1.0至1.0,则可选择用例 1.0、1.0、-1.001、1.001。按照输入/输出值个数的边界。 例如:输入文件可有1-255个记录,则 设计用例:文件

19、的记录数为 0个、1个、255个、256个。输出值域的边界。 例如:检索文献摘要,最多4篇。设计用例:可检索0篇、1篇、4篇,和5篇(错误)。 D、输入/输出有序集(如顺序文件、线性表)的边界。 应选择第一个元素和最后一个元素。黑盒法应用实例(一) 例例:某报表处理系统要求用户输入处理报某报表处理系统要求用户输入处理报表的日期,日期限制在表的日期,日期限制在2003年年1月至月至2008年年12月,即系统只能对该段期间内的报表月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显进行处理,如日期不在此范围内,则显 示输入错误信息。系统日期规定由年、月示输入错误信息。系统日期规定由年

20、、月的的6位数字字符组成,前四位代表年,后位数字字符组成,前四位代表年,后两位代表月。两位代表月。3132第一步:等价类划分第一步:等价类划分输入条件输入条件 有效等价类有效等价类 无效等价类无效等价类 报表日期的报表日期的类型及长度类型及长度6 6位数字字符位数字字符(1)(1)有非数字字符有非数字字符 (4)(4)少于少于6 6个数字字符个数字字符 (5)(5)多于多于6 6个数字字符个数字字符 (6)(6)年份范围年份范围在在2003200320082008之间之间 (2)(2)小于小于2003 2003 (7)(7)大于大于20082008 (8)(8)月份范围月份范围在在1 1121

21、2之间之间(3)(3)“报表日期报表日期”输入条件的等价类表输入条件的等价类表小于小于1 1 (9)(9)大于大于1212 (10)(10)33第二步:为有效等价类设计测试用例 测试数据 期望结果 覆盖范围200306200306等价类等价类(1)(2)(3)(1)(2)(3)输入有效输入有效对表中编号为对表中编号为1,2,31,2,3的的3 3个有效等价类用一个测个有效等价类用一个测试用例覆盖:试用例覆盖:(1)(1)6 6位数字字符位数字字符(2)(2)年在年在2003200320082008之间之间 (3)(3)月在月在1 11212之间之间34第三步:为每一个无效等价类设至少 设计一个

22、测试用例 测试数据 期望结果 覆盖范围003003MAYMAY等价类等价类(4)(4)输入无效输入无效2003520035等价类等价类(5)(5)输入无效输入无效20030052003005等价类等价类(6)(6)输入无效输入无效200120010505等价类等价类(7)(7)输入无效输入无效200920090505等价类等价类(8)(8)输入无效输入无效200320030000等价类等价类(9)(9)输入无效输入无效200320031313等价类等价类(10)(10)输入无效输入无效不能出现相同不能出现相同的测试用例的测试用例本例的本例的1010个等价类至个等价类至少需要少需要8 8个测试用

23、例个测试用例35输入输入条件条件报表日报表日期的类期的类型及长型及长度度5 5个数字字符个数字字符7 7个数字字符个数字字符有有1 1个非数字字符个非数字字符全部是非数字字符全部是非数字字符6 6个数字字符个数字字符显示出错显示出错显示出错显示出错显示出错显示出错显示出错显示出错输入有效输入有效日期日期范围范围月份月份范围范围“报表日期(报表日期( 6 6位数字字符)位数字字符)”边界值分析法测试用例边界值分析法测试用例测试用例说明测试用例说明测试数据测试数据 期望结果期望结果选取理由选取理由2003520035200300520030052003.52003.5MAY-MAY-2003052

24、00305月份为月份为1 1月月月份为月份为1212月月月份月份11212200301200301200312200312200300200300200313200313200301200301200812200812200300200300200813200813输入有效输入有效输入有效输入有效显示出错显示出错显示出错显示出错输入有效输入有效输入有效输入有效显示出错显示出错显示出错显示出错在有效范围在有效范围边界上选取边界上选取数据数据比有效长度少比有效长度少1 1比有效长度多比有效长度多1 1只有只有1 1个非法字符个非法字符6 6个非法字符个非法字符类型及长度均有效类型及长度均有效最小日

25、期最小日期最大日期最大日期刚好小于最小日期刚好小于最小日期刚好大于最大日期刚好大于最大日期最小月份最小月份最大月份最大月份刚好小于最小月份刚好小于最小月份刚好大于最大月份刚好大于最大月份黑盒法应用实例(二) 保险费率计算 人 人 保 险 公 司 承 担 人 寿 保 险 已 有 多 年 历 史 , 该 公 司 保 费 计 算 方 式 为 投 保 额 保 险 率 , 保 险 率 又 依 点 数 不 同 而 有 别 , 10 点 以 上 费 率 为 0.6 % , 10 点 以 下 费 率 为 0.1 % : 36372039岁6点4059岁4点年龄年龄60岁以上20岁以下2点MALE5点性别性别F

26、EMALE3点已婚3点婚姻婚姻未婚5点扶养人扶养人数数一 人 扣 0.5 点 最 多 扣 3 点 ( 四 舍 五 入 取 整 数 )输入数据说明。38一、分析输入数据形式 年龄:一或两位数字。 性别:以英文Male、 Female、 M、 F表示。 婚姻: 已婚、 未婚。 抚养人数:空白或一位数字。 保险费率:10点以上,10点以下。39数字范围1992039岁4059岁1.年龄等价类60岁以上20岁以下类型英文字之集合类型:英文字集合:Male、M2.性别等价类集合:Female、F二、划分输入数据 40已婚3.婚姻等价类未婚选择项 扶养人数可以有,也可没有范围19空白16 人4.扶养人数等

27、价类6 人以上10 点以上10 点以下5.保险费率 等价类41三、设计输入数据 4243用用例例编编号号年年龄龄性性别别婚婚姻姻扶扶养养人人数数保保险险费费率率备备注注1.27Female未婚 空白 0.6%有 效年 龄 : 20 39 岁性 别 : 集 合 Female, F 婚 姻 : 集 合 未 婚 扶 养 人 数 : 空 白保 险 费 率 : 0.6 %2.50Male已婚20.6%有 效年 龄 : 40 59 岁性 别 : 集 合 Male, M 婚 姻 : 集 合 已 婚 扶 养 人 数 : 1 6人四、设计测试用例: 44用用例例编编号号年年龄龄性性别别婚婚姻姻扶扶养养人人数数保

28、保险险费费率率备备注注3.70F未婚70.1%有 效年 龄 : 60 岁 以 上 或 20 岁 以 下性 别 : 集 合 Female, F 婚 姻 : 集 合 未 婚 扶 养 人 数 : 6 人 以 上4.0M已婚4无法推算年 龄 类 无 效 , 因 此 无 法 推 算 保 险 费率5.100Female未婚5无法推算年 龄 类 无 效 , 因 此 无 法 推 算 保 险 费率6.1男已婚6无法推算性 别 类 无 效 , 因 此 无 法 推 算 保 险 费率7.99Child未婚1无法推算性 别 类 无 效 , 因 此 无 法 推 算 保 险 费率8.30Male离婚3无法推算婚 姻 类 无

29、 效 , 因 此 无 法 推 算 保 险 费率.9.75Female未婚0无法推算扶 养 人 数 类 无 效 , 因 此 无 法 推 算 保险 费 率10.17Male已婚10无法推算扶 养 人 数 类 无 效 , 因 此 无 法 推 算 保险 费 率3、错误推测法 凭经验或直觉推测可能的错误,列出程序中凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择可能有的错误和容易发生错误的特殊情况,选择测试用例。测试用例。45把输入条件视为“因”,把输出条件视为“果”,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系。根据这种

30、关系可选择高效的测试用例。因果图是一种形式化语言,是一种组合逻辑因果图是一种形式化语言,是一种组合逻辑网络图。网络图。4 4、因果图法、因果图法46一、因果图方法概述4 4、因果图法、因果图法 一种黑盒测试方法方法的依据:需求规格说明中的因果关系47二、因果图符号恒等c1=1e1=1c1=0e1=0非c1c2c3c1e1c1e1e1c1c2e1c1=1e1=0c1=0e1=1c1=1 或c=1 或c=1 e1=e1=0否则c1=1 且c=1e1=e1=0否则或与48a输入条件的约束bEacIbabOE约束(异):a,b中至多有一个可能为1即a和b不能同时为约束(或):a,b和c中至少有一个必须

31、是1,即a、b和c不能同时为0O约束(唯一):a和b中必须有一个 且仅有一个为49abRR约束(要求):a是时,b必须是 即不可能a是时b为输出条件的约束abMM约束(强制):若结果a是时, 则结果b强制为50分析规范,即将问题分为若干可工作的步骤。标识出规范中的原因与结果。原因原因输入条件输入条件 结果结果输出或系统变换输出或系统变换分析规范语义、内容,转换为因果图。将因果图转换为有限项判断表。将判断表的每一列,转换为一个测试用例。三、因果图法的步骤51四、因果图方法举例某程序要求:第一列字符必须是或,第二列字符必须是一个数字,在此情况下对文件进行修改。但第一列字符不正确,则给出信息;若第二列字符不是一个数字,则给出信息。分析原因原因第一列字符是第一列字符是第二列字符是一个数字结果结果21修改文件22给出信息23给出信息52因果图因果图21222311E53解判定表和测试用例123456781111 110011001010101011110000001110100001010测试用例A3A8ABA?B5B4BNB!C2X6SDP$条件(原因)动作(结果)11222123543.3.8 黑盒测试与白盒测试比较黑盒测试与白盒测试比较黑盒测试主要是为了发现以下几类错误:是否有不正确或遗漏的功能?是否有不正确或遗漏的功能?在接口上,输入是否能正确的接受

温馨提示

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

评论

0/150

提交评论