《黑盒测试及白盒测试的区别ppt课件.ppt》由会员分享,可在线阅读,更多相关《黑盒测试及白盒测试的区别ppt课件.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Page 1变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分测试方法类白盒测试测试方法类白盒测试n 白盒测试白盒测试n这种方法是把测试对象看做一个打开的盒子,它允许测这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一同点检查程序状态,确定实际状态是否与预期的状态一致。因此白
2、盒测试又称为结构测试或逻辑驱动测试致。因此白盒测试又称为结构测试或逻辑驱动测试 。Page 2变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分测试方法类白盒测试测试方法类白盒测试n 白盒测试主要是想对程序模块进行如下检查:白盒测试主要是想对程序模块进行如下检查:n对程序模块的所有独立的执行路径至少测试一遍。对程序模块的所有独立的执行路径至少测试一遍。n对所有的逻辑判定,取对所有的逻辑判定,取“真真”与取与取“假假”的两种情况都的两种情况都能至少测一遍。能至少测一遍。n在循环的边界和运行的界限内执行循环体。在
3、循环的边界和运行的界限内执行循环体。n测试内部数据结构的有效性测试内部数据结构的有效性n。Page 3变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分3白盒法白盒法n 白盒测试测试用例一般采用逻辑覆盖法进行设计。白盒测试测试用例一般采用逻辑覆盖法进行设计。语语句句覆覆盖盖判判定定覆覆盖盖条条件件覆覆盖盖判判定定条条件件覆覆盖盖条条件件组组合合覆覆盖盖弱弱强强软件测试方法软件测试方法路路径径覆覆盖盖Page 4变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线
4、是电力系统接线组成中一个重要组成部分4白盒法白盒法n 常用的覆盖标准常用的覆盖标准n语句覆盖:语句覆盖:n选择足够的测试用例,使得程序中每个语句至少都能被执行一选择足够的测试用例,使得程序中每个语句至少都能被执行一次。次。n判定覆盖:判定覆盖: n执行足够的测试用例,使得程序中每个判定至少都获得一次执行足够的测试用例,使得程序中每个判定至少都获得一次“真真”值和值和“假假”值。值。n条件覆盖:条件覆盖:n执行足够的测试用例,使得所有判定中的每个条件至少都获得执行足够的测试用例,使得所有判定中的每个条件至少都获得一次一次“真真”值和值和“假假”值。值。Page 5变电站电气主接线是指变电站的变压
5、器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分5白盒法白盒法n 常用的覆盖标准常用的覆盖标准n判定判定/条件覆盖:条件覆盖:n执行足够的测试用例,使得判定中每个条件取到各种可能的值,执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。并使每个判定取到各种可能的结果。n条件组合覆盖:条件组合覆盖:n执行足够的例子,使得每个判定中条件的各种可能组合都至少执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。出现一次。n路径覆盖:路径覆盖:n路径覆盖是相当强的逻辑覆盖,它保证程序中每条可能的路径路
6、径覆盖是相当强的逻辑覆盖,它保证程序中每条可能的路径都至少执行一次。都至少执行一次。Page 6变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分6白盒法步骤:白盒法步骤:n 选择逻辑覆盖标准。选择逻辑覆盖标准。n 按照覆盖标准列出所有情况。按照覆盖标准列出所有情况。n 选择确定测试用例。选择确定测试用例。n 验证分析运行结果与预期结果。验证分析运行结果与预期结果。逻辑结构逻辑结构Page 7变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成
7、中一个重要组成部分7白盒法举例白盒法举例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;A1ANDB=0X:=X/AA=2OR X1X:=X+1YNYNPage 8变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分81、语句覆盖、语句覆盖满足语句覆盖的情况:满足语句覆盖的情况:执行路径:执行路径:sacbedsacbed选择用例:选择用例:(2,0,4),(2
8、,0,3)(2,0,4),(2,0,3)用例格式:用例格式: 输入输入(A,B,X)(A,B,X),输出,输出(A,B,X)(A,B,X)A1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYNYN开始开始结束结束sPage 9变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分92、判定覆盖、判定覆盖覆盖情况:应执行路径覆盖情况:应执行路径sabd sacbed 或:或: sacbd sabed选择用例选择用例(其一):其一): (2,0,4),(2,0,3) (2,0,4),(2,0,3) s
9、acbed (1,1,1),(1,1,1) (1,1,1),(1,1,1) sabd (2,1,1),(2,1,2) (2,1,1),(2,1,2) sabed (3,0,3),(3,1,1) (3,0,3),(3,1,1) sacbdA1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYNYN开始开始结束结束sPage 10变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分103、条件覆盖、条件覆盖应满足以下覆盖情况:应满足以下覆盖情况:判定一判定一: A1 A1 B=0 B0判定二判定二:
10、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) 2 2A1A20 0B=04 4X11 1A1A=21 1B01 1X1A1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYNYN开始开始结束结束sPage 11变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分114、判定、判定/条件覆盖条件覆盖应满足以下覆盖情况:应满足以下覆盖情况: 条件条件: A1, A1, B=0
11、, B0 A=2, A2, X1, X1 应执行路径应执行路径sacbed sabd选择用例:选择用例: (2,0,4),(2,0,3) (2,0,4),(2,0,3)(sacbed ) ) (1,1,1),(1,1,1) ( (1,1,1),(1,1,1) (sabd) )A1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYNYN开始开始结束结束sPage 12变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分5、条件组合覆盖、条件组合覆盖编译系统下的执行情况:编译系统下的执行情况:部分路径
12、未被执行。部分路径未被执行。满足以下覆盖情况:满足以下覆盖情况: 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,3),(1,0,4)(1,1,1),(1,1,1)(1,1,1),(1,1,1)A1X:=X/AA=2X:=X+1abcdeB=0X1YNYNYNYNc结束结束 Page 13变电站电气主接线是指变电站的变压器、输电线路怎样与电
13、力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分136、路径覆盖法、路径覆盖法测试用例测试用例通过路径通过路径ABX111sabd112sabed301sacbd204sacbedA1ANDB=0X:=X/AA=2OR X1X:=X+1abcdeYNYN开始开始结束结束sPage 14变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分14例题:三角形问题例题:三角形问题n 输入三整数,判断是否构成三角形,如构成三角形,输入三整数,判断是否构成三角形,如构成三角形,则输出三条
14、边的值,否则输出则输出三条边的值,否则输出“不能构成三角形不能构成三角形”。n 要求:要求:n2、设计路径覆盖的测试用例。、设计路径覆盖的测试用例。 Page 15变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分15解法解法1:n 覆盖路径:覆盖路径:n 1 2开始开始输入输入A,B,C(A+BC)&(A+CB)&(B+CA)输出输出ABC不能构成三角形不能构成三角形结束结束FT路径测试用例(A,B,C)结果1A=3,B=4,C=5A=3,B=4,C=52A=5,B=8,C=2不能构成三角形Page 16变
15、电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分16解法解法2:n 覆盖路径:覆盖路径: 测试用例测试用例n 1 (3,4,5)n 2 (2,2,5)n 3 (2,5,2)n 4 (5,2,2)开始开始输入输入A,B,CA+BCA+CBB+CA输出输出ABC不能构成三角形不能构成三角形结束结束FFFTTTPage 17变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分17解法解法2:路径覆盖法测试用例设计:路径覆盖法测试用例
16、设计路径测试用例(A,B,C)结果1A=3,B=4,C=5A=3,B=4,C=52A=2,B=2,C=5不能构成三角形3A=2,B=5,C=2不能构成三角形4A=5,B=2,C=2不能构成三角形Page 18变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分18基本路径测试基本路径测试n 1、画出流程图、画出流程图1910112457836Page 19变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分19基本路径测试基本路
17、径测试 n 2、简化流程图、简化流程图12,387694,51011Page 20变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分20基本路径测试基本路径测试 n 3、计算环路复杂度、计算环路复杂度n环路复杂度(环路复杂度(Cyclomatic complexity):代码逻辑复杂代码逻辑复杂度的度的 度量。用度量。用V(G) 表示。通过表示。通过V(G) 确定基本路径数。确定基本路径数。V(G) = 区域数量区域数量(由节点、连线包围的区域,包括图形外部区域由节点、连线包围的区域,包括图形外部区域)V(G
18、) = 连线数量连线数量 - 节点数量节点数量 + 2V(G) = 简单可预测节点数量简单可预测节点数量 + 1Page 21变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分V(G)=412,378694,51011Region 1Region 2Region 3Region 4Page 22变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分22n 3、确定基本路径集合、确定基本路径集合n基本路径集合基本路径集合: 由独立
19、路径构成的集合由独立路径构成的集合n由基本路劲集合导出的由基本路劲集合导出的测试用例测试用例,保证被测程序的每条,保证被测程序的每条可执行语句至少被执行一次。可执行语句至少被执行一次。n基本集合基本集合不一定唯一不一定唯一Page 23变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分23Path1: 1-2-3-6-7-9-10-1-11示例:基本路径测试用例示例:基本路径测试用例Path2: 1-2-3-6-8-9-10-1-11Path3: 1-2-3-4-5-10-1-11Path4: 1-11191
20、0112458736还有其它路径集合吗?还有其它路径集合吗?Page 24变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分24基本路径测试:练习基本路径测试:练习 Path1: A-C-E Path2: A-B-C-E Path3: A-B-C-D-EV(G)= ?还有其它路径集合吗?还有其它路径集合吗? 3Page 25变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分测试方法类黑盒测试测试方法类黑盒测试n 黑盒测试黑盒
21、测试n这种方法是把测试对象看做一个黑盒子,测试人员完全这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。主要明。因此黑盒测试又叫功能测试或数据驱动测试。主要应用于快速开发环境。应用于快速开发环境。Page 26变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分测试方法类黑盒测试测
22、试方法类黑盒测试n 黑盒测试主要是为了发现以下几类错误:黑盒测试主要是为了发现以下几类错误:n是否有不正确或遗漏的功能?是否有不正确或遗漏的功能?n在接口上,输入是否能正确的接受?能否输出正确的结在接口上,输入是否能正确的接受?能否输出正确的结果?果?n是否有数据结构错误或外部信息(例如数据文件)访问是否有数据结构错误或外部信息(例如数据文件)访问错误?错误?n性能上是否能够满足要求?性能上是否能够满足要求?n是否有初始化或终止性错误?是否有初始化或终止性错误?Page 27变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中
23、一个重要组成部分27等等价价分分类类法法边边值值分分析析法法错错误误推推测测法法因因果果图图法法黑盒法黑盒法n 不考虑程序的内部结构与特性,只根据程序功能或不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。程序的外部特性设计测试用例。判判定定表表法法Page 28变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分1、等价分类法、等价分类法n 基本思想基本思想n根据程序的根据程序的I/O特性,将程序的定义域划分为有限个等价特性,将程序的定义域划分为有限个等价区段区段 “等价类等价类”,从等
24、价类中选择出的用例,具有,从等价类中选择出的用例,具有“代表性代表性”。n 等价类分为:等价类分为:n有效等价类有效等价类 对于程序的规格说明是合理的、有意义的对于程序的规格说明是合理的、有意义的输入数据构成的集合。输入数据构成的集合。n无效等价类无效等价类 对于程序的规格说明,是不合理的,是没对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。有意义的输入数据构成的集合。Page 29变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分 等价分类法步骤等价分类法步骤n 划分等价类划分等价类n 应按
25、照输入条件(如输入值的范围,值的个数,值的集合,输入条应按照输入条件(如输入值的范围,值的个数,值的集合,输入条件必须如何)划分为有效等价类和无效等价类。件必须如何)划分为有效等价类和无效等价类。n 例如:每个学生可选修例如:每个学生可选修1-3门课程门课程n 可以划分一个有效等价类:选修可以划分一个有效等价类:选修1-3门课程。门课程。n 可以划分两个无效等价类:未选修课,选修课超过可以划分两个无效等价类:未选修课,选修课超过3门。门。n 标识符的第一个字符必须是字母。标识符的第一个字符必须是字母。n 可以划分为一个有效等价类:第一个字符是字母。可以划分为一个有效等价类:第一个字符是字母。n
26、 可以划分一个无效等价类:第一个字符不是字母。可以划分一个无效等价类:第一个字符不是字母。n 选择测试用例选择测试用例n A、为每个等价类编号;、为每个等价类编号;n B、使一个测试用例尽可能覆盖多个有效等价类、使一个测试用例尽可能覆盖多个有效等价类n C、特别要注意的是:一个测试用例只能覆盖一个无效等价类。、特别要注意的是:一个测试用例只能覆盖一个无效等价类。Page 30变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分等价类划分法等价类划分法以输入域划分等价类以输入域划分等价类n NextDate 函数
27、包含三个变量:函数包含三个变量:month(月份)、(月份)、day(日期)(日期) 和和 year(年),函数的输出为输入日期后一天的日期。(年),函数的输出为输入日期后一天的日期。 例如,输入为例如,输入为 2007年年9月月 9日,则函数的输出为日,则函数的输出为 2007年年9月月10日日 。要求输入变量。要求输入变量 month 、 day 和和 year 均为整数值,并且满足下列条件:均为整数值,并且满足下列条件:n (1)1month12n (2)1day31n (3)1912year2050 n 此函数的主要特点是输入变量之间的逻辑关系比较复杂。复杂性的来源此函数的主要特点是输
28、入变量之间的逻辑关系比较复杂。复杂性的来源有两个:一个是输入域的复杂性,另一个是指闰年的规则。例如变量有两个:一个是输入域的复杂性,另一个是指闰年的规则。例如变量year和变量和变量month取不同的值,对应的变量取不同的值,对应的变量day会有不同的取值范围,会有不同的取值范围,day值的范围可能是值的范围可能是130或或131,也可能是,也可能是128或或129。Page 31变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分等价类划分法等价类划分法以输入域划分等价类以输入域划分等价类n (1)简单等价类
29、划分测试)简单等价类划分测试NextDate函数函数n 有效等价类有效等价类n 简单等价类划分测试简单等价类划分测试NextDate函数可以划分以下三种有效等价类:函数可以划分以下三种有效等价类:n M1month:1month12n D1day:1day31n Y1year:1912year2050n 无效等价类无效等价类n 若条件若条件 (1)()(3)中任何一个条件无效,那么)中任何一个条件无效,那么NextDate 函数都函数都会产生一个输出,指明相应的变量超出取值范围,例如会产生一个输出,指明相应的变量超出取值范围,例如month 的值的值不在不在 112 范围当中。范围当中。Pag
30、e 32变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分等价类划分法等价类划分法以输入域划分等价类以输入域划分等价类n 显然还存在着大量的显然还存在着大量的 year 、 month 、 day 的无的无效组合,效组合, NextDate 函数将这些组合统一输出为:函数将这些组合统一输出为:“无效输入日期无效输入日期”。其无效等价类为:。其无效等价类为:nM2month:month12nD2day:day31nY2year:year2050Page 33变电站电气主接线是指变电站的变压器、输电线路怎样与电力
31、系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分等价类划分法等价类划分法以输入域划分等价类以输入域划分等价类一般等价类测试用例如表所示。NextDate函数的一般等价类测试用例测试测试用例用例输入输入期望输出期望输出monthdayyearTest Case 19920072007年年9月月10日日Page 34变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分等价类划分法等价类划分法以输入域划分等价类以输入域划分等价类n 健壮等价类测试中包含弱健壮等价类测试和强健壮等价类测
32、试健壮等价类测试中包含弱健壮等价类测试和强健壮等价类测试n 弱健壮等价类测试弱健壮等价类测试n 弱健壮等价类测试中的有效测试用例使用每个有效等价类中的一个值。弱弱健壮等价类测试中的有效测试用例使用每个有效等价类中的一个值。弱健壮等价类测试中的无效测试用例则只包含一个无效值,其他都是有效值,健壮等价类测试中的无效测试用例则只包含一个无效值,其他都是有效值,即含有单缺陷假设。如表所示。即含有单缺陷假设。如表所示。测试用例测试用例输入输入期望输出期望输出monthdayyearTest Case 19920072007年年9月月10日日Test Case 2092007 month不在不在112中中
33、Test Case 31392007month不在不在112中中Test Case 4902007day不在不在131中中Test Case 59322007day不在不在131中中Test Case 6991911 year不在不在19122050中中Test Case 7992051year不在不在19122050中中Page 35变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分等价类划分法等价类划分法以输入域划分等价类以输入域划分等价类n 强健壮等价类测试强健壮等价类测试n 强健壮等价类测试考虑了更多
34、的无效值情况。强健壮等价类测试中的无效强健壮等价类测试考虑了更多的无效值情况。强健壮等价类测试中的无效测试用例可以包含多个无效值,即含有多个缺陷假设。因为测试用例可以包含多个无效值,即含有多个缺陷假设。因为NextDate函数函数有三个变量,所以对应的强健壮等价类测试用例可以包含一个无效值,两有三个变量,所以对应的强健壮等价类测试用例可以包含一个无效值,两个无效值或三个无效值。个无效值或三个无效值。测试用例测试用例输入输入期望输出期望输出monthdayyearTest Case 1-192007 month不在不在112中中Test Case 29-12007day不在不在131中中Test
35、 Case 3991900 year不在不在19122050中中Test Case 4-1-12007变量变量month、day无效无效变量变量year有效有效Test Case 5-191900变量变量month、year无效无效变量变量day有效有效Test Case 69-11900变量变量day、year无效无效变量变量month有效有效Test Case 7-1-11900变量变量month、day、year无效无效Page 36变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分n(2)改进等价类划
36、分测试)改进等价类划分测试NextDate函数函数n在简单等价类划分测试在简单等价类划分测试NextDate函数中,没有考虑函数中,没有考虑2月份的月份的天数问题,也没有考虑闰年的问题,月份只包含了天数问题,也没有考虑闰年的问题,月份只包含了30天和天和31天两种情况。在改进等价类划分测试天两种情况。在改进等价类划分测试NextDate函数中,函数中,要考虑要考虑2月份天数的问题。月份天数的问题。n关于每个月份的天数问题,可以详细划分为以下等价类:关于每个月份的天数问题,可以详细划分为以下等价类:n M1month:month有有30天天 n M2month:month有有31天天, 除去除去
37、12月月n M3month:month是是2月月n M4month:month是是12月月n D1day:1day27n D2day:day28n D3day:day29n D4day:day30n D5day:day31n Y1year:year是闰年是闰年n Y2year:year不是闰年不是闰年等价类划分法等价类划分法以输入域划分等价类以输入域划分等价类Page 37变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分等价类划分法等价类划分法以输入域划分等价类以输入域划分等价类n 改进等价类划分测试改进等
38、价类划分测试NextDate函数表所示。函数表所示。测试用例测试用例输入输入期望输出期望输出monthdayyearTest Case 163020072007年年7月月1日日Test Case 283120072007年年9月月1日日Test Case 322720072007年年2月月28日日Test Case 422820072007年年3月月1日日Test Case 522920042004年年3月月1日(日(2004是闰年)是闰年)Test Case 6123120072008年年1月月1日日Test Case 79312007不可能的输入日期不可能的输入日期Test Case 82
39、292007 不可能的输入日期不可能的输入日期Test Case 92302007 不可能的输入日期不可能的输入日期Test Case 101592007变量变量month无效无效Test Case 119352007变量变量day无效无效Test Case 12992100变量变量year无效无效返回返回Page 38变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分382、边值分析法、边值分析法n 基本思想基本思想n 选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测选择等价类的边缘值作为测试用例
40、,让每个等价类的边界都得到测试,选择测试用例既考虑输入亦考虑输出。试,选择测试用例既考虑输入亦考虑输出。n 分析步骤:分析步骤: nA、先划分等价类。、先划分等价类。nB、选择测试用例,测试等价类边界。、选择测试用例,测试等价类边界。n 边界选择原则:边界选择原则: nA、按照输入值范围的边界。、按照输入值范围的边界。nB、按照输入、按照输入/输出值个数的边界。输出值个数的边界。nC、输出值域的边界。、输出值域的边界。nD、输入、输入/输出有序集的边界输出有序集的边界Page 39变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线
41、组成中一个重要组成部分边界值分析法边界值分析法n边界值分析法设计测试用例边界值分析法设计测试用例n在在NextDate函数中,规定了变量函数中,规定了变量month、day、year的相应取值范围。在上面等价的相应取值范围。在上面等价类法设计测试用例中已经提过,具体如下:类法设计测试用例中已经提过,具体如下:nM1month:1month12nD1day:1day31nY1year:1912year2050Page 40变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分边界值分析法边界值分析法测试用例测试用例
42、输入输入期望输出期望输出monthdayyearTest Case 1-1152000month不在不在112中中Test Case 20152000month不在不在112中中Test Case 311520002000年年1月月16日日Test Case 421520002000年年2月月16日日Test Case 5111520002000年年11月月16日日Test Case 6121520002000年年12月月16日日Test Case 713152000month不在不在112中中Test Case 86-12000day不在不在131中中Test Case 9602000day
43、不在不在131中中Test Case 106120002000年年6月月2日日Test Case 116220002000年年6月月3日日Test Case 1263020002000年年7月月1日日Test Case 136312000不可能的输入日期不可能的输入日期Test Case 146322000day不在不在131中中Test Case 156151911year不在不在19122050中中Test Case 1661519121912年年6月月16日日Test Case 1761519131913年年6月月16日日Test Case 1861520492049年年6月月16日日T
44、est Case 1961520502050年年6月月16日日Test Case 206152051year不在不在19122050中中返回返回Page 41变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分41决策表决策表n 在一些数据处理问题当中,某些操作的实施依赖于在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。合值,分别执行不同的操作。n 决策表(也称判定表)决策表(也称判定表),最适合描述在
45、多逻辑条件最适合描述在多逻辑条件取值的组合所构成的复杂情况下,分别执行哪些不取值的组合所构成的复杂情况下,分别执行哪些不同的动作。同的动作。Page 42变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分42规则规则选项选项12354678问问题题觉得疲倦?觉得疲倦?YYYNYNNN感兴趣吗?感兴趣吗?YYNYNYNN糊涂吗?糊涂吗?YNYYNNYN建建议议重读重读继续继续跳下一章跳下一章休息休息Page 43变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线
46、是电力系统接线组成中一个重要组成部分43决策表的组成决策表的组成n 决策表通常由以下决策表通常由以下4部分组成:部分组成:n 条件桩条件桩左上部分,列出各种可能的单个条件左上部分,列出各种可能的单个条件n 动作桩动作桩左下部分,列出可能采取的单个动作左下部分,列出可能采取的单个动作n 条件项条件项右上部分,针对各种条件给出多组条件取值的组合右上部分,针对各种条件给出多组条件取值的组合n 动作项动作项右下部分,指出在条件项的各组取值情况下应采取的动作右下部分,指出在条件项的各组取值情况下应采取的动作 条件桩条件桩动作桩动作桩 条件项条件项 动作项动作项规规则则将任何一个条件组合的特定取值及相应要
47、执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。Page 44变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分44决策表分类决策表分类n 有限条目决策表有限条目决策表n所有条件都是二元条件的决策表。所有条件都是二元条件的决策表。n 扩展条目决策表扩展条目决策表n若条件可以有多个值,则对应的决策表称扩展条目决策若条件可以有多个值,则对应的决策表称扩展条目决策表。表。Page 45变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系
48、统接线组成中一个重要组成部分45决策表的生成决策表的生成n 构造决策表的构造决策表的5个步骤:个步骤:n (1) 确定规则的个数。确定规则的个数。n 有有n个条件的决策表有个条件的决策表有2n个规则(每个条件取真、假值)。个规则(每个条件取真、假值)。n (2) 列出所有的条件桩和动作桩。列出所有的条件桩和动作桩。n (3) 填入条件项。填入条件项。n (4) 填入动作项,得到初始决策表。填入动作项,得到初始决策表。n (5) 简化决策表,合并相似规则。简化决策表,合并相似规则。n 若表中有两条以上规则具有相同的动作,并且在条件项之若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相
49、似的关系,便可以合并。间存在极为相似的关系,便可以合并。n 合并后的条件项用符号合并后的条件项用符号“-”表示,说明执行的动作与该条件表示,说明执行的动作与该条件的取值无关,称为无关条件。的取值无关,称为无关条件。Page 46变电站电气主接线是指变电站的变压器、输电线路怎样与电力系统相连接,从而完成输配电任务。变电站的主接线是电力系统接线组成中一个重要组成部分决策表法决策表法n NextDate函数的决策表测试用例设计:函数的决策表测试用例设计:n NextDate函数中包含了定义域各个变量之间的依赖问题。等价类划函数中包含了定义域各个变量之间的依赖问题。等价类划分法和边界值分析法只能分法和
50、边界值分析法只能“独立地独立地”选取各个输入值,不能体现出选取各个输入值,不能体现出多个变量的依赖关系。决策表法则是根据变量间的逻辑依赖关系设多个变量的依赖关系。决策表法则是根据变量间的逻辑依赖关系设计测试输入数据,排除不可能的数据组合,很好地解决了定义域的计测试输入数据,排除不可能的数据组合,很好地解决了定义域的依赖问题。依赖问题。n NextDate函数求解给定某个日期的下一个日期的可能操作(动作桩)函数求解给定某个日期的下一个日期的可能操作(动作桩)如下:如下:n 变量变量day加加1操作;操作;n 变量变量day复位操作;复位操作;n 变量变量month加加1操作;操作;n 变量变量m