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

SQA/Theory

White Box Testing ํ•˜ํ–ฅ์‹ ํ…Œ์ŠคํŠธ์™€ ์ƒํ–ฅ์‹ ํ…Œ์ŠคํŠธ

 

ํŠน์ • ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ์ƒํ™ฉ์—์„œ ํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋”๋ฏธ ์ปดํฌ๋„ŒํŠธ(Dummy Component)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

 

 

์ƒํ–ฅ์‹ ํ•˜ํ–ฅ์‹ ํ…Œ์ŠคํŠธ
์ƒํ–ฅ์‹ ํ•˜ํ–ฅ์‹ ํ…Œ์ŠคํŠธ

 

ํ•˜ํ–ฅ์‹ ํ…Œ์ŠคํŠธ Top-Down

- ์ƒ์œ„ ๋ชจ๋“ˆ๋กœ๋ถ€ํ„ฐ ํ•˜์œ„ ๋ชจ๋“ˆ์„ ํ–ฅํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ

- ์‹œ์Šคํ…œ์— ๊ตฌํ˜„๋œ ๋ชจ๋“  ๋ชจ๋“ˆ์„ ๋“ค์—ฌ๋‹ค๋ณผ ์ˆ˜ ์žˆ๋‹ค.

- ์Šคํ…์„ ์ด์šฉํ•˜์—ฌ ์ƒ์œ„ ๋ชจ๋“ˆ์„ ํ…Œ์ŠคํŒ… ํ•œ๋‹ค.

- ์Šคํ…(stub) : ๊ฐ€์งœ ํ•˜์œ„ ๋ชจ๋“ˆ

 

 

 

 

์ƒํ–ฅ์‹ ํ…Œ์ŠคํŠธ Down-Top

- ํ•˜์œ„ ๋ชจ๋“ˆ๋กœ ๋ถ€ํ„ฐ ์ƒ์œ„ ๋ชจ๋“ˆ์„ ํ–ฅํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ

- ๊ฐœ๋ฐœ ์ค‘์ธ ๋ชจ๋“ˆ(์‹œ์Šคํ…œ) ์ค‘, ๋ถˆํ™•์‹คํ•œ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.

- ๋ถˆํ™•์‹คํ•œ ์š”์†Œ : ์‹ค์ œ๋กœ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์šด ์š”์†Œ

- ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•˜์œ„ ๋ชจ๋“ˆ์„ ํ†ตํ•ฉํ•˜์—ฌ ํ…Œ์ŠคํŒ… ํ•œ๋‹ค.

- ๋“œ๋ผ์ด๋ฒ„(driver) : ๊ฐ€์งœ ์ƒ์œ„ ๋ชจ๋“ˆ

 

 

 


 

 

ํ…Œ์ŠคํŠธ ์Šคํ… Test Stub

- ํ•˜ํ–ฅ์‹(Top-Down) ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๋™์•ˆ ์•„์ง ํ†ตํ•ฉ๋˜์ง€ ์•Š์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ฐ€์งœ ๋ชจ๋“ˆ

- ์ƒ์œ„ ๋ชจ๋“ˆ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋™์•ˆ์—๋Š” ํ•˜์œ„ ๋ชจ๋“ˆ์ด ์•„์ง ๊ฐœ๋ฐœ์ค‘์ด๊ฑฐ๋‚˜ ํ…Œ์ŠคํŠธ ์ด์ „ ์ƒํƒœ์— ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ƒ์œ„ ๋ชจ๋“ˆ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์งœ ํ•˜์œ„ ๋ชจ๋“ˆ์„ ๋งŒ๋“ค์–ด ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

Test stubs provide canned answers to calls made during the test, usually not responding at all to anything outside what's programmed in for the test.

์ถœ์ฒ˜ : https://en.wikipedia.org/wiki/Test_stub

 

- ์œ„ํ‚คํ”ผ๋””์•„์—์„œ๋Š” stub์„ ์œ„์™€ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค.

 

- ํ…Œ์ŠคํŠธ ์Šคํ…์€ ์ž…๋ ฅ์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ ๋‹ต์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

- ์Šคํ…์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•˜๋ฉด,

ใ„ด ๋…๋ฆฝ์ ์ธ ๊ฐœ๋ฐœ/ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค

ใ„ด ๋‹ค์–‘ํ•œ ์‘๋‹ต ์ผ€์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

 

 

ํ…Œ์ŠคํŠธ ๋“œ๋ผ์ด๋ฒ„ Test Driver

- ์ƒํ–ฅ์‹(Down-Top) ํ…Œ์ŠคํŠธ์—์„œ ์•„์ง ํ†ตํ•ฉ๋˜์ง€ ์•Š์€ ๋ชจ๋“ˆ์˜ ๋™์ž‘์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์งœ ๋ชจ๋“ˆ

- ์™„์„ฑ๋œ ๋ชจ๋“ˆ์ด๋‚˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž„์‹œ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๋ชจ๋“ˆ

- ๋‹จ์ˆœํžˆ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ˜•ํƒœ๋กœ ๊ตฌํ˜„๋œ๋‹ค.

 

 

 

 
stub-and-driver
stub-and-driver

 

 

 


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

 

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

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

dev-yujin.tistory.com

 

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

Data Flow Testing (๋ฐ์ดํ„ฐ ํ๋ฆ„ ํ…Œ์ŠคํŒ…) ์ •์˜ - Data๊ฐ€ ์ •์˜๋˜๊ณ  ์‚ฌ์šฉ๋œ ์œ„์น˜์— ๋”ฐ๋ผ์„œ Path๋ฅผ ์„ ํƒํ•˜๋Š” ๊ธฐ๋ฒ• ํŠน์ง• - Data Flow Test๋Š” Data์— ์˜ํ•ด์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด Control Flow Graph๋ฅผ ์‚ฌ์šฉํ•œ

dev-yujin.tistory.com