slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
软件测试技术与质量保证 PowerPoint Presentation
Download Presentation
软件测试技术与质量保证

Loading in 2 Seconds...

play fullscreen
1 / 20

软件测试技术与质量保证 - PowerPoint PPT Presentation


  • 130 Views
  • Uploaded on

软件测试技术与质量保证. 主讲人:徐丽. 1.5 白盒测试用例设计. 白盒测试也称结构测试(逻辑驱动测试、基于程序的测试),它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,是针对源程序实现的测试。. s. 入口. t. (y > 1) and (z = 0). x = x / y. c. a. f. t. (y = 2) or (x > 1). x = x + 1. e. b. f. 返回. d. void example(int y, int z, int x) {

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '软件测试技术与质量保证' - gamba


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2
1.5 白盒测试用例设计

白盒测试也称结构测试(逻辑驱动测试、基于程序的测试),它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,是针对源程序实现的测试。

slide3

s

入口

t

(y > 1) and (z = 0)

x = x / y

c

a

f

t

(y = 2) or (x > 1)

x = x + 1

e

b

f

返回

d

void example(int y, int z, int x) {

if (y > 1 && z == 0) x = x / y;

if (y == 2 || x > 1) x = x + 1;

}

例题

slide4

s

入口

t

(y > 1) and (z = 0)

x = x / y

c

a

f

t

(y = 2) or (x > 1)

x = x + 1

e

b

f

返回

d

1.语句覆盖

slide5
答案:只要选择满足条件y=2,z=0的一组(x,y,z)作为测试用例,即可对该子程序的每个语句都执行一次。答案:只要选择满足条件y=2,z=0的一组(x,y,z)作为测试用例,即可对该子程序的每个语句都执行一次。

例如:x = 4, y = 2, z = 0, 预期结果x = 3。

slide6

s

入口

t

(y > 1) and (z = 0)

x = x / y

c

a

f

t

(y = 2) or (x > 1)

x = x + 1

e

b

f

返回

d

2.判定覆盖

slide7
图中有两个判定a和b,满足判定覆盖的测试路径可以有多种。图中有两个判定a和b,满足判定覆盖的测试路径可以有多种。

例1:sacbd和sabed就满足覆盖标准。

(1)x = 3, y = 3, z = 0

(判定a为真,判定b为假)

(2) x = 1, y = 2, z = 1

(判定a为假,判定b为真)

例2:sacbed和sabd也满足覆盖标准。

slide8

s

入口

t

(y > 1) and (z = 0)

x = x / y

c

a

f

t

(y = 2) or (x > 1)

x = x + 1

e

b

f

返回

d

3.条件覆盖

slide9

(1)判定a的各种条件的所有可能结果为:

y>1, y≤1, z=0, z≠0

(2)判定b各种条件的所有可能结果为:

y=2, y≠2, x>1, x≤1

例如:

(1) x = 1, y = 2, z = 0

(执行路径sacbed,满足y>1,z=0,y=2, x≤1)

(2) x = 2, y = 1, z = 1

(执行路径sabed,满足y≤1,z≠0,y≠2 ,x>1)

slide10

s

入口

t

(y > 1) and (z = 0)

x = x / y

c

a

f

t

(y = 2) or (x > 1)

x = x + 1

e

b

f

返回

d

4.判定/条件覆盖

slide11

判定的所有可能结果及每个判定的每个条件的所有可能结果都至少出现一次。判定的所有可能结果及每个判定的每个条件的所有可能结果都至少出现一次。

例如:

(1) x = 4, y = 2, z = 0

(执行路径sacbed,满足y>1,z=0,y=2, x>1,判定a为真,判定b为真)

(2) x = 1, y = 1, z = 1

(执行路径sabd,满足y≤1,z≠0,y≠2 ,x≤1,判定a为假,判定b为假)

slide12

s

入口

t

(y > 1) and (z = 0)

x = x / y

c

a

f

t

(y = 2) or (x > 1)

x = x + 1

e

b

f

返回

d

5.条件组合覆盖

slide13

判定a中的所有可能组合:

(1) y>1, z=0 (2)y>1,z≠0

(3) y≤1,z=0 (4)y≤1,z≠0

判定b中的所有可能组合:

(5) y=2,x>1 (6) y=2,x≤1

(7) y≠2,x>1 (8)y≠2,x≤1

例如:

x=4, y=2, z=0,执行sacbed,覆盖(1)(5)

x=1, y=2, z=1,执行sabed, 覆盖(2)(6)

x=2, y=1, z=0,执行sabed, 覆盖(3)(7)

x=1, y=1, z=1,执行sabd, 覆盖(4)(8)

slide14

s

入口

t

(y > 1) and (z = 0)

x = x / y

c

a

f

t

(y = 2) or (x > 1)

x = x + 1

e

b

f

返回

d

6.路径覆盖

slide15

图中所有可能的路径有四条:sacbed,sacbd,sabed,sabd。图中所有可能的路径有四条:sacbed,sacbd,sabed,sabd。

例如:

(1)x=4, y=2, z=0, 执行sacbed

(2)x=3, y=3, z=0, 执行sacbd

(3)x=2, y=1, z=0, 执行sabed

(4)x=1, y=1, z=1, 执行sabd

slide16
关于覆盖标准的讨论

在逻辑覆盖中,语句覆盖发现错误的能力最弱,一般不单独采用。

slide17
判定覆盖与条件覆盖的区别

前者把判定看成一个整体,后者则着眼于其中的一个条件。当一个判定只含一个条件时,判定覆盖也就是条件覆盖。但如果一个判定含有一个以上的条件(复合条件),采用判定覆盖又可能出现如下所述的漏洞,即判定中有些条件得到测试,另一些条件却被忽略,从而掩盖程序的错误。

slide18
条件覆盖要求对每一个条件进行单独的检查,一般地说它的查错能力比判定覆盖更强,但也并不尽然。有时条件覆盖覆盖不了分支。把判定覆盖和条件覆盖的要求汇集于一身的判定/条件覆盖,正是为了弥补条件覆盖的这一不足。条件覆盖要求对每一个条件进行单独的检查,一般地说它的查错能力比判定覆盖更强,但也并不尽然。有时条件覆盖覆盖不了分支。把判定覆盖和条件覆盖的要求汇集于一身的判定/条件覆盖,正是为了弥补条件覆盖的这一不足。
slide19
条件组合覆盖在5种逻辑覆盖中发现错误的能力最强。凡满足条件组合覆盖的测试数据,也必然满足其余4种覆盖标准。条件组合覆盖在5种逻辑覆盖中发现错误的能力最强。凡满足条件组合覆盖的测试数据,也必然满足其余4种覆盖标准。