๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

SQA/Theory

White Box Testing ๋ฐ์ดํ„ฐ ํ๋ฆ„ ํ…Œ์ŠคํŒ…

Data Flow Testing (๋ฐ์ดํ„ฐ ํ๋ฆ„ ํ…Œ์ŠคํŒ…) ์ •์˜

- Data๊ฐ€ ์ •์˜๋˜๊ณ  ์‚ฌ์šฉ๋œ ์œ„์น˜์— ๋”ฐ๋ผ์„œ Path๋ฅผ ์„ ํƒํ•˜๋Š” ๊ธฐ๋ฒ•

 

 

 

๋ฐ์ดํ„ฐ ํ๋ฆ„ ํ…Œ์ŠคํŠธ ์ด๋ก 

 

 

ํŠน์ง•

- Data Flow Test๋Š” Data์— ์˜ํ•ด์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด Control Flow Graph๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

- Path Teating, Branch Teating, Statement Testing ๊ณผ์˜ ๊ฐญ ์ฐจ์ด๋ฅผ ๋ฉ”์šฐ๋Š” Path ์„ ํƒ ๊ธฐ๋ฒ•์ด๋‹ค.

read(x,y):
	z = x + 2;
	if (x < y )
		w = x + 1;
	else
		y = y + 1;
	print (x,y,w,z)
 

- ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์žˆ์„ ๋•Œ, y์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. (x, z๋„ ๊ฐ€๋Šฅํ•˜๋‹ค)

 

Data Flow Test์€
Data์˜ "Define"๊ณผ "Use"๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋ฅผ ๋„์ถœํ•œ๋‹ค.

 

 

Define Use Testing - DU Testing

- Data Flow Testing ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜

- CFG์˜ ๋ณ€์ˆ˜์™€ ๊ด€๋ จํ•œ path๋ฅผ ์‚ฌ์šฉ

 

 

a. ๊ตฌ์„ฑ์š”์†Œ

 

1. ์ •์˜(Define node) : d, Defined, Created, Initalized

ใ„ด ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ •์˜ํ•˜๋Š” ๊ฒƒ

 

 

2. ์‚ฌ์šฉ(Use node) : u, Used

ใ„ด ๊ณ„์‚ฐ์— ์‚ฌ์šฉ : c-use ( a=a+1 ์™€ ๊ฐ™์€ ๊ณ„์‚ฐ, p-use ์ด์™ธ์—๋Š” ๋ชจ๋‘ c-use)

ใ„ด ๊ฒฐ์ •์— ์‚ฌ์šฉ : p-use (n!=0๊ณผ ๊ฐ™์€ ์กฐ๊ฑด๋ฌธ)

 

 

 

 

b. ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•/๋ฐฉ๋ฒ•

 

- All-Edges & All-Nodes : ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“  edge๊ฐ€ ํฌํ•จ๋˜๋„๋ก path๋ฅผ ์„ ์ • (Branch Test์™€ ๋น„์Šท)

- All-Path : ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“  path ( Path Test์™€ ๋น„์Šท)

- All-defs : define ๋œ ํ›„, ์ ์–ด๋„ ํ•œ ๋ฒˆ์€ ์‚ฌ์šฉ(c-use, p-use) ๋˜๋Š” path

- All-p-use : define๋œ ํ›„, ๊ฐ’์ด ๋ณ€ํ•˜์ง€ ์•Š๊ณ  p-use ๋˜๋Š” path

- All-c-use : define๋œ ํ›„, ๊ฐ’์ด ๋ณ€ํ•˜์ง€ ์•Š๊ณ  c-use ๋˜๋Š” path

- All-c-use/Some-p-use : All-c-use๋ฅผ ์ ์šฉ์‹œํ‚จ ํ›„, c-use๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜์— ๋Œ€ํ•ด p-use๋ฅผ ์ ์šฉ์‹œํ‚จ path

- All-p-use/Some-c-use: All-c-use๋ฅผ ์ ์šฉ์‹œํ‚จ ํ›„, p-use๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜์— ๋Œ€ํ•ด c-use๋ฅผ ์ ์šฉ์‹œํ‚จ path

- All-uses : define-> c-use, define-> p-use๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๋ชจ๋“  path

- All-du-path : ๋ชจ๋“  define ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ definition clear path(d, u ์‚ฌ์ด์— ๋˜ ๋‹ค๋ฅธ d๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๊ฒฝ๋กœ)๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ

 

c. ์ปค๋ฒ„๋ฆฌ์ง€ ๊ฐ•๋„ ๋น„๊ต

All-du-path > All-uses > All-c-use/Some-p-use > All-p-use/Some-c-use > All-defs > All-p-use (All-c-use)

 

์ถœ์ฒ˜ : https://www.youtube.com/watch?v=m_TQ-jsfRwM

 

 

 


ํ•จ๊ป˜ ๊ณต๋ถ€ํ•ด๋ณผ ๋งŒํ•œ ํ…Œ์ŠคํŒ… ๊ฐœ๋…

 

 

 

Whith Box Testing ์ œ์–ด ํ๋ฆ„ ํ…Œ์ŠคํŒ…

Control Flow Testing ์ œ์–ด ํ๋ฆ„ ํ…Œ์ŠคํŒ… ์ด๋ž€? - ํ”„๋กœ๊ทธ๋žจ์˜ ์ œ์–ด ํ๋ฆ„์„ ์ด์šฉํ•˜๋Š” ๋ชจ๋ธ - ๊ตฌ์กฐ์  ํ…Œ์ŠคํŒ… ๊ธฐ๋ฒ•์— ์†ํ•œ๋‹ค. - ํ”„๋กœ๊ทธ๋žจ ๋‚ด์˜ ๋ชจ๋“  path๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์„ ํƒํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค. ์ „์ œ์กฐ๊ฑด 1

dev-yujin.tistory.com