SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
xUnit Test Pattern
15์žฅ. ์ฝ”๋“œ ๋ƒ„์ƒˆ
๋ฐ•์ƒํ˜ http://pixelmine.tistory.com
    ์•„๊ฟˆ์‚ฌ http://andstudy.com
15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ ๋ˆˆ์— ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ๊ธด ํ…Œ์ŠคํŠธ, ๋ณต์žกํ•œ ํ…Œ์ŠคํŠธ, ์žฅํ™ฉํ•œ ํ…Œ์ŠคํŠธ


 ์ž๋™ํ…Œ์ŠคํŠธ์˜ ๋ชฉํ‘œ
   1. SUT๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•ด์•ผ ํ•˜๋Š”๊ฐ€์— ๋Œ€ํ•œ ๋ฌธ์„œ์—ญํ• 
   2. ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ์ž์ฒด ๊ฒ€์ฆ ๋ช…์„ธ


 ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ•˜๋‹ค ๋ณด๋ฉด ๋ณต์žกํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋‘
 ๊ฐ€์ง€ ๋ชฉํ‘œ๋ฅผ ๋™์‹œ์— ๋งŒ์กฑํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ
   ํ•˜๋‚˜์˜ ๋ฉ”์†Œ๋“œ์—์„œ ๋„ˆ๋ฌด ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ฒ€์ฆํ•˜๋ ค๋Š” ํ…Œ์ŠคํŠธ
 ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜
   ํ”ฝ์Šค์ฒ˜์™€ ๊ฒ€์ฆ๋กœ์ง๊ฐ„์˜ ์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ๋ณด์ด์ง€ ์•Š๋Š” ํ…Œ์ŠคํŠธ
 ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜
   ๊ธฐ๋Šฅ ๊ฒ€์ฆ์— ํ•„์š” ์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ฐธ์กฐํ•œ๋‹ค
 ๊ด€๋ จ ์—†๋Š” ์ •๋ณด
   ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„ ์‹ค์ œ ๋™์ž‘์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ํŒŒ์•…ํ•˜๊ธฐ ํž˜๋“ค๋‹ค
 ํ•˜๋“œ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ
   ๋ฐ์ดํ„ฐ ๊ฐ’์ด ํ•˜๋“œ ์ฝ”๋”ฉ๋ผ ์žˆ์–ด ์ž…๋ ฅ๊ณผ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ๊ฐ’ ์‚ฌ์ด์˜ ์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ์• ๋งคํ•˜๋‹ค
 ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ…
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์™€ SUT๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค

   ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค
   ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค
   ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค
   'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค
   ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค
   ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
               ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ(Eager Test)
   ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค
   ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค
   ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค
   'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค
   ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค
   ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
              ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜(Mystery Guest)
   ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค
   ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค
   ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค
   'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค
   ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค
   ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
               ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜(General Fixture)
   ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค
   ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค
   ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค
   'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค
   ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค
   ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
             ๊ด€๋ จ ์—†๋Š” ์ •๋ณด(Irrelevant Information)
   ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค
   ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค
   ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค
   'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค
   ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค
   ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
        ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ(Hard-Coded Test Data)
   ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค
   ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค
   ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค
   'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค
   ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค
   ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 โ€ข ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
                 ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ…(Indirect Testing)
   โ€“   ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค
   โ€“   ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   โ€“   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค
   โ€“   ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   โ€“   ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค
   โ€“   'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค
   โ€“   ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   โ€“   ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   โ€“   ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค
   โ€“   ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   โ€“   ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   โ€“   ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

   ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค
   ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค
   ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค
   ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค
   ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค
   ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค
   ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ
               ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ(Eager Test)
   ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค
   ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค
   ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค
   ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค
   ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค
   ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค
   ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ
              ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜(Mystery Guest)
   ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค
   ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค
   ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค
   ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค
   ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค
   ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค
   ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ
               ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜(General Fixture)
   ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค
   ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค
   ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค
   ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค
   ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค
   ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค
   ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ
             ๊ด€๋ จ ์—†๋Š” ์ •๋ณด(Irrelevant Information)
   ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค
   ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค
   ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค
   ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค
   ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค
   ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค
   ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ
          ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ(Hard-Coded Test Data)
   ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค
   ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค
   ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค
   ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค
   ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค
   ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค
   ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ
               ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ…(Indirect Testing)
   ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค
   ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค
   ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค
   ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค
   ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค
   ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค
   ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค
   ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค
   ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์›์ธ

   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค
   ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค
   ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค
   ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค
   ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค
   โ€“ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์›์ธ
                ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ(Eager Test)
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค
   ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค
   ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค
   ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค
   ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค
   ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์›์ธ
                ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜(Mystery Guest)
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค
   ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค
   ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค     SUT ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌ๋˜๋Š” ์™ธ๋ถ€ ํŒŒ์ผ์˜ ๋‚ด์šฉ์ด SUT์˜
   ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ๊ฒฐ์ •
                       ๋™์ž‘์„
                       ๋ฆฌํ„ฐ๋Ÿดํ‚ค๋กœ ์‹๋ณ„๋˜๋Š” DB ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ์–ด ๊ฐ์ฒด์— ์“ด ๋’ค
   ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค ํ…Œ์ŠคํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ SUT์— ์ „๋‹ฌ
                       ์ด๋ฅผ
   ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค       ํŒŒ์ผ์—์„œ ์ฝ์–ด๋“ค์ธ ๋‚ด์šฉ์„ ๊ธฐ๋Œ€๊ฒฐ๊ณผ๊ฐ’์„ ๊ฒ€์ฆํ•˜๋Š” ๋‹จ
                       ์–ธ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์— ์‚ฌ์šฉ
   ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค
                       ์„ค์น˜ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋กœ ๊ณต์œ  ํ”ฝ์Šค์ฒ˜๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฒฐ๊ณผ ๊ฒ€์ฆ
   ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค
                       ๋กœ์ง์—์„œ๋Š” ๊ณต์œ  ํ”ฝ์Šค์ฒ˜์˜ ๊ฐ์ฒด๋“ค์„ ๋ณ€์ˆ˜๋กœ ์ฐธ์กฐ
   ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค ์„ค์น˜๋กœ ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜๋ฅผ ์„ค์น˜ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ
                       ์•”๋ฌต์ 
                         ๋“œ์—์„œ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋‚˜ ํด๋ž˜์Šค ๋ณ€์ˆ˜๋กœ ์ ‘๊ทผ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์›์ธ
                ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜(General Fixture)
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค
   ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค
   ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค
   ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค
   ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค
   ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์›์ธ
             ๊ด€๋ จ ์—†๋Š” ์ •๋ณด(Irrelevant Information)
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค
   ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค
   ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค
   ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค
   ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค
   ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์›์ธ
         ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ(Hard-Coded Test Data)
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค
   ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค
   ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค
   ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค
   ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค
   ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ์›์ธ
                ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ…(Indirect Testing)
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค
   ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค
   ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค
   ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค
   ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค
   ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค
   ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ํ•ด๊ฒฐ์ฑ…

   ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค
   ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž
   ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค
   ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ
   ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค
   ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
   ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค
   ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค
   ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค
   ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค
   SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„ 
   SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ํ•ด๊ฒฐ์ฑ…
               ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ(Eager Test)
   ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค
   ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž
   ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค
   ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ
   ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค
   ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
   ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค
   ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค
   ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค
   ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค
   SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„ 
   SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ํ•ด๊ฒฐ์ฑ…
              ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜(Mystery Guest)
   ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค
   ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž
   ํŒŒ์ผ ์ด๋ฆ„์„ ์ž˜ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค
   ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ
   ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค
   ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
   ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค
   ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค
   ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค
   ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค
   SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„ 
   SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ํ•ด๊ฒฐ์ฑ…
               ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜(General Fixture)
   ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค
   ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž
   ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค
   ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ
   ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค
   ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
   ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค
   ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค
   ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค
   ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค
   SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„ 
   SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ํ•ด๊ฒฐ์ฑ…
             ๊ด€๋ จ ์—†๋Š” ์ •๋ณด(Irrelevant Information)
   ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค
   ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž
   ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค
   ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ
   ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค
   ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
   ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค
   ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค
   ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค
   ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค
   SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„ 
   SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ํ•ด๊ฒฐ์ฑ…
        ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ(Hard-Coded Test Data)
   ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค
   ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž
   ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค
   ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ
   ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค
   ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
   ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค
   ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค
   ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค
   ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค
   SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„ 
   SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test)
 ํ•ด๊ฒฐ์ฑ…
               ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ…(Indirect Testing)
   ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค
   ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค
   ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž
   ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค
   ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ
   ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค
   ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
   ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค
   ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค
   ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค
   ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค
   SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„ 
   SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic)
 ํ…Œ์ŠคํŠธ์— ์‹คํ–‰ ์•ˆ ๋  ์ˆ˜๋„ ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค
   ๋“ค์‘ฅ๋‚ ์‘ฅํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ


 ์™„์ „ ์ž๋™ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅธ ์ฝ”๋“œ์˜ ๋™์ž‘์„ ๊ฒ€์ฆํ•˜๋Š” ์ฝ”๋“œ๋‹ค
 ์™„์ „ ์ž๋™ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค๋ฉด......?
 ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ......?
 ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”์—†์„ ์ •๋„๋กœ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ •๋‹ต

 ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง์€ ํ•„์š” ์ด์ƒ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“œ
 ๋Š” ์š”์ธ ์ค‘ ํ•˜๋‚˜๋‹ค
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic)
 ์œ ์—ฐํ•œ ํ…Œ์ŠคํŠธ
   ์–ธ์ œ ์–ด๋””์„œ ์‹คํ–‰๋˜๋Š๋ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ๊ฒ€์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ
 ๊ฒ€์ฆ ์กฐ๊ฑด๋ฌธ ๋กœ์ง
   ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ๊ฒ€์ฆ์— ์กฐ๊ฑด๋ฌธ ์‚ฌ์šฉ
 ํ…Œ์ŠคํŠธ ๋‚ด ์ œํ’ˆ ๋กœ์ง
 ๋ณต์žกํ•œ ํ•ด์ฒด
 ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ ์กฐ๊ฑด
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic)
 ์ฆ์ƒ : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋‚ด์— ๋ฐ˜๋ณต๋ฌธ์ด๋‚˜ ์กฐ๊ฑด๋ฌธ์ด ์žˆ๋‹ค

   ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์กฐ๊ฑด๋ฌธ ๋กœ์ง์ด ๋“ค์–ด ์žˆ๋‹ค
   ํ…Œ์ŠคํŠธ์˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€์— ์กฐ๊ฑด๋ฌธ ๋กœ์ง์ด ๋“ค์–ด์žˆ๋‹ค
   ํ”ฝ์Šค์ฒ˜ ํ•ด์ฒด ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค
   ์—ฌ๋Ÿฌ ์ž…๋ ฅ๊ฐ’๊ณผ ๊ทธ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ๊ฐ’์— ๊ฐ™์€ ํ…Œ์ŠคํŠธ ๋กœ์ง ์ ์šฉ
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

   ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์—์„œ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฒฐ์ •๋ก ์ ์ด์ง€ ์•Š์•„ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ์–ด๋ ค์šด ์ž‘์—…์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์›Œ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํž˜๋“ค๋‹ค
   ๋ชจ๋“  ์ œ์–ด๊ฒฝ๋กœ๊ฐ€ ํ…Œ์ŠคํŠธ ๋˜์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic)
 ์›์ธ

   SUT๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ์˜ if๋ฌธ ์ฒ˜๋ฆฌ
   ์—ฌ๋Ÿฌ ๊ฐ์ œ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ
   ๋ณต์žกํ•œ ๊ฐ์ฒด๋‚˜ ๋‹คํ˜•์„ฑ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฒ€์ฆ
   ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋‚˜ ๊ธฐ๋Œ€ ๊ฐ์ฒด ์ดˆ๊ธฐํ™”์‹œ ํ•˜๋‚˜์˜ ํ…Œ์ŠคํŠธ์—์„œ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๊ฒ€์ฆ
   ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ”ฝ์Šค์ฒ˜ ๊ฐ์ฒด๋ฅผ ํ•ด์ฒดํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด if๋ฌธ ์‚ฌ์šฉ
   ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ œ์–ด๋Šฅ๋ ฅ ๋ถ€์กฑ
   ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์‹œ์Šคํ…œ์ด ํ•ด๊ฒฐํ•ด ์ค„ ์ˆ˜ ์—†๋Š” ์ง€์†์ ์ธ ์ž์›์„ ๋งŽ์ด ์‚ฌ์šฉ
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic)
 ํ•ด๊ฒฐ์ฑ…

   SUT์—์„œ '๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ์˜์กด'์„ ์ง€์›ํ•˜๊ฒŒ ๋ฆฌํŒฉํ† ๋งํ•œ๋‹ค
   ๋ณดํ˜ธ ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ๋ณต์žกํ•œ ๊ฐ์ฒด๋ฅผ ๊ฒ€์ฆํ•  ๋•Œ๋Š” ๊ธฐ๋Œ€๊ฐ์ฒด์— ๋™๋“ฑ ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ํ…Œ์ŠคํŠธ์šฉ ๋™๋“ฑ์„ ์ •์˜ํ•œ ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ
   ํ…Œ์ŠคํŠธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์†Œ๋“œ๋‚˜ ๊ณตํ†ต ์ธ์ž๋ฅผ ๋ฐ›๋Š” ํ…Œ์ŠคํŠธ ์‚ฌ์šฉ
   ์ž…๋ ฅ๋œ ๊ฐ’์— ๋Œ€ํ•œ ๊ณ„์‚ฐ๋œ ๊ฐ’์„ ์“ด๋‹ค
   ์•”๋ฌต์  ํ•ด์ฒด, ์ž๋™ ํ•ด์ฒด ์‚ฌ์šฉ
   ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜, ํ…Œ์ŠคํŠธ ๋Œ€์—ญ์„ ์‚ฌ์šฉํ•ด ์ง€์†๋˜๋Š” ๊ฐ์ฒด๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค
15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code)
 ์ฝ”๋“œ๊ฐ€ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ์–ด๋ ต๋‹ค

  ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ์ฝ”๋“œ
  ๋น„๋™๊ธฐ ์ฝ”๋“œ
  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code)
 ์ฆ์ƒ

   ์›๋ž˜๋ถ€ํ„ฐ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ
   ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ํด๋ž˜์Šค์™€ ํ•จ๊ป˜ ํ…Œ์ŠคํŠธ ํ•ด์•ผ๋งŒ ํ•˜๋Š” ์ฝ”๋“œ
   ์ง์ ‘ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ๋กœ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์˜ ๋‚ด์šฉ์ด ๋ณต์žกํ•˜๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์‹ ํ•  ์ˆ˜ ์—†๋‹ค
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

   ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ์‰ฝ๊ฒŒ ๊ฒ€์ฆํ•  ์ˆ˜ ์—†๋‹ค
   ํ…Œ์ŠคํŠธ ๋ฌธ์„œํ™”์— ํฐ ๊ณต์„ ๋“ค์ด์ง€ ์•Š์œผ๋ฉด ํ’ˆ์งˆ ํ‰๊ฐ€๋ฅผ ๋ฐ˜๋ณตํ•˜๊ธฐ ์–ด๋ ต๋‹ค
   ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ์–ด๋ ต๋‹ค
   ํ…Œ์ŠคํŠธ๊ฐ€ ๋ณต์žกํ•˜๊ณ  ์‹คํ–‰์ด ๋Š๋ ค์ง„๋‹ค
   ๋ฒ„๊ทธํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋˜๊ธฐ ์‰ฝ๋‹ค
   ํ…Œ์ŠคํŠธ ์œ ์ง€ ๋น„์šฉ์ด ๋น„์‹ธ๋‹ค
   ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๋Œ€๋กœ ์ž‘์„ฑํ•˜๊ธฐ ์–ด๋ ต๋‹ค
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code)
 ์›์ธ

   ์„ค๊ณ„๊ฐ€ ์กฐ์žกํ•˜๋‹ค
   ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„๊ฒฝํ—˜์ด ๋ถ€์กฑํ•˜๋‹ค
   ์•กํ‹ฐ๋ธŒ ๊ฐ์ฒด์™€ ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ๋‹ค
   ๋ฐ์ŠคํŠธ์ฝ”๋“œ๋Š” ์›๋ž˜ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์–ด๋ ต๋‹ค
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code)
 ํ•ด๊ฒฐ์ฑ…

   ๊ฒฐํ•ฉ์„ ๋ถ„๋ฆฌํ•œ๋‹ค : ํ…Œ์ŠคํŠธ ๋Œ€์—ญ, ํ…Œ์ŠคํŠธ ์Šคํ…, ๋ชจ์˜ ๊ฐ์ฒด
   '๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ํ™œ์šฉ ์ „๋žต'์„ ์ฝ์–ด๋ณธ๋‹ค
   ๋กœ์ง๊ณผ ๋น„๋™๊ธฐ ์ ‘๊ทผ ๋งค์ปค๋‹ˆ์ฆ˜ ๋ถ„๋ฆฌ : ๋Œ€๊ฐ• ๋งŒ๋“  ๊ฐ์ฒด
   ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ๋“ค ์•„์ฃผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค
15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต(Test Code Duplication)
 ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณต๋˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ
   ๊ฐ™์€ ์ฃผ์ œ์— ๋Œ€ํ•ด ์•ฝ๊ฐ„์”ฉ ๋‹ค๋ฅธ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ํ…Œ์ŠคํŠธ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ


   '์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ' ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ
   ๋ฐ”ํ€ด ์žฌ๋ฐœ๋ช… ํ•˜๊ธฐ
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต(Test Code Duplication)
 ์ฆ์ƒ

   ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ์—์„œ ๋ฐ˜๋ณต๋œ๋‹ค
   ํ•œ ํ…Œ์ŠคํŠธ ์•ˆ์—์„œ ๋น„์Šทํ•œ ๊ตฌ๋ฌธ์ด ๋ฐ˜๋ณต๋œ๋‹ค


 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

   SUT๋ฉ”์†Œ๋“œ ์˜๋ฏธ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋ชจ๋“  ๋ณต์‚ฌ๋ณธ์— ์œ ์ง€๋ณด์ˆ˜ ํ•ด์•ผํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ ์œ ์ง€ ๋น„์šฉ์ด ๋Š˜์–ด๋‚œ๋‹ค
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต(Test Code Duplication)
 ์›์ธ

   ๋ฆฌํŒฉํ† ๋ง ๊ธฐ์ˆ ์ด๋‚˜ ๊ฒฝํ—˜์ด ๋ถ€์กฑ
   ์ผ์ •์— ๋Œ€ํ•œ ์••๋ฐ•
   ์–ด๋–ค ํ…Œ์ŠคํŠธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค


 ํ•ด๊ฒฐ์ฑ…

   ๋ฉ”์†ŒํŠธ ๋ฝ‘์•„๋‚ด๊ธฐ
   ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ, ์ฐพ๊ธฐ ๋ฉ”์†Œ๋“œ
   ๋งž์ถค ๋‹จ์–ธ๋ฌธ, ๊ฒ€์ฆ ๋ฉ”์†Œ๋“œ
   '์ธ์ž ๋„์ž…' ๋ฆฌํŒฉํ† ๋ง
   ํ…Œ์ŠคํŠธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์†Œ๋“œ ํ™•์ธ
15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ
์• ๋งคํ•œ ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง
ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง(Test Logic In Production)
 ์ œํ’ˆ ์ฝ”๋“œ์— ํ…Œ์ŠคํŠธ์—์„œ๋งŒ ์‹คํ–‰๋ผ์•ผ ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค

   ํ…Œ์ŠคํŠธ ํ›…
   ํ…Œ์ŠคํŠธ ์ „์šฉ
   ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ์˜์กด
   ๋™๋“ฑ ์˜ค์—ผ
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง(Test Logic In Production)
 ์ฆ์ƒ

   ์ˆœ์ „ํžˆ ํ…Œ์ŠคํŠธ์—์„œ๋งŒ ํ•„์š”ํ•œ ๋กœ์ง์ด SUT์•ˆ์— ๋“ค์–ด ์žˆ๋‹ค
   SUT๊ฐ€ ํ…Œ์ŠคํŠธ ์ค‘์ผ๋•Œ ๋‹ค๋ฅด๊ฒŒ ์‹คํ–‰๋˜๋Š” ๋กœ์ง์ด ์žˆ๋‹ค
   SUT์ผ๋ถ€ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ๋งŒ ์“ฐ์ด๊ณ  ์žˆ๋‹ค
   ์‹ค์ œ private ์ด์–ด์•ผ ํ•˜๋Š” ์†์„ฑ์ด public ์œผ๋กœ ๋ผ ์žˆ๋‹ค
   ์ œํ’ˆ ์ฝ”๋“œ๋งŒ ๋นŒ๋“œํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค
   ํ…Œ์ŠคํŠธ ์‹คํ–‰์ด ์—†๋Š” ๊ฒฝ์šฐ ์ œํ’ˆ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค
   ํ…Œ์ŠคํŠธ์—์„œ์˜ ํ•„์š”๋กœ equals ๋ฉ”์†Œ๋“œ๋ฅผ ๋ณ€๊ฒฝ
   SUT์—์„œ equals ์˜ ์ •์˜๋ฅผ ๋ณ€๊ฒฝ
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง(Test Logic In Production)
 ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

   ์ œํ’ˆ ์ƒํƒœ์—์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค
   SUT๋ฅผ ๋” ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค
   ์ œํ’ˆ์˜ ์‹คํ–‰ ํฌ๊ธฐ๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค
   ์ œํ’ˆ์—์„œ ๋œปํ•˜์ง€ ์•Š๊ฒŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค
   ์ƒˆ๋กœ์šด ์š”๊ตฌ์‚ฌํ•ญ์„ ์ง€์›ํ•˜๋Š” equals ๋กœ์ง์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์–ด๋ ต๋‹ค


 ์›์ธ

   ์•Œ๋ ค์ง„ ๊ฐ’์„ ๋ฆฌํ„ดํ•ด SUT๋™์ž‘์„ ๊ฒฐ์ •์ ์œผ๋กœ ๋งŒ๋“ ๋‹ค
   ํ…Œ์ŠคํŠธ์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๋…ธ์ถœ
   ํ…Œ์ŠคํŠธ์— ํ•„์š”ํ•œ ์ •๋ณด ์ดˆ๊ธฐํ™”์— ๋” ๋งŽ์€ ์ œ์–ด๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€
   ๋ชจ๋“ˆ๊ฐ„ ์˜์กด์„ฑ์— ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š๋Š”๋‹ค
   ํ…Œ์ŠคํŠธ์šฉ ๋™๋“ฑ์˜ ๊ฐœ๋…์„ ์ž˜ ๋ชจ๋ฅธ๋‹ค
์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง(Test Logic In Production)
 ํ•ด๊ฒฐ์ฑ…

   ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ์˜์กด ์‚ฌ์šฉ : ์ŠคํŠธ๋ ˆํ‹ฐ์ง€ ํŒจํ„ด
   ํ…Œ์ŠคํŠธ์šฉ ํ•˜์œ„ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด SUT์˜ ํŠน์ • ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•œ๋‹ค
   ํ…Œ์ŠคํŠธ ์ „์šฉ์ž„์„ ๋ถ„๋ช…ํ•˜๊ฒŒ ๋„ค์ด๋ฐ์„ ํ•œ๋‹ค
   ์˜์กด๊ด€๊ณ„๋ฅผ ์‹ ์ค‘ํžˆ ๊ด€๋ฆฌํ•œ๋‹ค
   equals ์ˆ˜์ • ๋Œ€์‹  ๋งž์ถค ๋‹จ์–ธ๋ฌธ์œผ๋กœ ๋‚ด์žฅ ๋™๋“ฑ ๋‹จ์–ธ๋ฌธ์„ ์“ฐ๊ฒŒ ํ•œ๋‹ค
   ๋™์  ๋ชจ์˜ ๊ฐ์ฒด ์ƒ์„ฑ ๋„๊ตฌ๋ฅผ ์“ด๋‹ค๋ฉด ๋น„๊ต์ž๋ฅผ ์“ด๋‹ค
   ๊ธฐ๋Œ€ ๊ฐ์ฒด์˜ ํ…Œ์ŠคํŠธ์šฉ ํ•˜์œ„ ํด๋ž˜์Šค์— equals ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค
๋

Weitere รคhnliche Inhalte

Andere mochten auch

PrimesIsInP
PrimesIsInPPrimesIsInP
PrimesIsInPSH Park
ย 
Introduction to prolog
Introduction to prologIntroduction to prolog
Introduction to prologSH Park
ย 
4์žฅ ์Šคํฌ์ธ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋‹จ์ˆœ ์ถ•๊ตฌ
4์žฅ ์Šคํฌ์ธ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋‹จ์ˆœ ์ถ•๊ตฌ4์žฅ ์Šคํฌ์ธ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋‹จ์ˆœ ์ถ•๊ตฌ
4์žฅ ์Šคํฌ์ธ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋‹จ์ˆœ ์ถ•๊ตฌSH Park
ย 
๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ - 16 ๋Œ€๊ทœ๋ชจ ๊ตฌ์กฐ
๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ - 16 ๋Œ€๊ทœ๋ชจ ๊ตฌ์กฐ๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ - 16 ๋Œ€๊ทœ๋ชจ ๊ตฌ์กฐ
๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ - 16 ๋Œ€๊ทœ๋ชจ ๊ตฌ์กฐSH Park
ย 
Apprenticeship patterns chapter4
Apprenticeship patterns chapter4Apprenticeship patterns chapter4
Apprenticeship patterns chapter4SH Park
ย 
ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธธ,๋ฉ˜ํ† ์—๊ฒŒ ๋ฌป๋‹ค 2์žฅ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธธ,๋ฉ˜ํ† ์—๊ฒŒ ๋ฌป๋‹ค 2์žฅํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธธ,๋ฉ˜ํ† ์—๊ฒŒ ๋ฌป๋‹ค 2์žฅ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธธ,๋ฉ˜ํ† ์—๊ฒŒ ๋ฌป๋‹ค 2์žฅhyun soomyung
ย 
Nodejs_chapter9
Nodejs_chapter9Nodejs_chapter9
Nodejs_chapter9SH Park
ย 

Andere mochten auch (7)

PrimesIsInP
PrimesIsInPPrimesIsInP
PrimesIsInP
ย 
Introduction to prolog
Introduction to prologIntroduction to prolog
Introduction to prolog
ย 
4์žฅ ์Šคํฌ์ธ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋‹จ์ˆœ ์ถ•๊ตฌ
4์žฅ ์Šคํฌ์ธ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋‹จ์ˆœ ์ถ•๊ตฌ4์žฅ ์Šคํฌ์ธ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋‹จ์ˆœ ์ถ•๊ตฌ
4์žฅ ์Šคํฌ์ธ  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋‹จ์ˆœ ์ถ•๊ตฌ
ย 
๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ - 16 ๋Œ€๊ทœ๋ชจ ๊ตฌ์กฐ
๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ - 16 ๋Œ€๊ทœ๋ชจ ๊ตฌ์กฐ๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ - 16 ๋Œ€๊ทœ๋ชจ ๊ตฌ์กฐ
๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ - 16 ๋Œ€๊ทœ๋ชจ ๊ตฌ์กฐ
ย 
Apprenticeship patterns chapter4
Apprenticeship patterns chapter4Apprenticeship patterns chapter4
Apprenticeship patterns chapter4
ย 
ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธธ,๋ฉ˜ํ† ์—๊ฒŒ ๋ฌป๋‹ค 2์žฅ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธธ,๋ฉ˜ํ† ์—๊ฒŒ ๋ฌป๋‹ค 2์žฅํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธธ,๋ฉ˜ํ† ์—๊ฒŒ ๋ฌป๋‹ค 2์žฅ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธธ,๋ฉ˜ํ† ์—๊ฒŒ ๋ฌป๋‹ค 2์žฅ
ย 
Nodejs_chapter9
Nodejs_chapter9Nodejs_chapter9
Nodejs_chapter9
ย 

ร„hnlich wie xunittestpatternchapter15

ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์˜ ์›์น™
ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์˜ ์›์น™ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์˜ ์›์น™
ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์˜ ์›์น™codevania
ย 
Xunittestpatternchapter11
Xunittestpatternchapter11Xunittestpatternchapter11
Xunittestpatternchapter11duaa83
ย 
X unit 14์žฅ
X unit 14์žฅX unit 14์žฅ
X unit 14์žฅPark Min Wook
ย 
TDD.JUnit.์กฐ๊ธˆ๋”.์•Œ๊ธฐ
TDD.JUnit.์กฐ๊ธˆ๋”.์•Œ๊ธฐTDD.JUnit.์กฐ๊ธˆ๋”.์•Œ๊ธฐ
TDD.JUnit.์กฐ๊ธˆ๋”.์•Œ๊ธฐWonchang Song
ย 
์ „์žํšŒ๋กœ์„ค๊ณ„(์„ค๋ฌธ๋ถ„์„)2014-1
์ „์žํšŒ๋กœ์„ค๊ณ„(์„ค๋ฌธ๋ถ„์„)2014-1์ „์žํšŒ๋กœ์„ค๊ณ„(์„ค๋ฌธ๋ถ„์„)2014-1
์ „์žํšŒ๋กœ์„ค๊ณ„(์„ค๋ฌธ๋ถ„์„)2014-1Yong Heui Cho
ย 
EMOCON 2015 - ํ’ˆ์งˆ๊ณผ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅด๋‹ค
EMOCON 2015 - ํ’ˆ์งˆ๊ณผ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅด๋‹คEMOCON 2015 - ํ’ˆ์งˆ๊ณผ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅด๋‹ค
EMOCON 2015 - ํ’ˆ์งˆ๊ณผ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅด๋‹ค์ด์ƒํ•œ๋ชจ์ž„
ย 

ร„hnlich wie xunittestpatternchapter15 (8)

ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์˜ ์›์น™
ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์˜ ์›์น™ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์˜ ์›์น™
ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์˜ ์›์น™
ย 
Xunittestpatternchapter11
Xunittestpatternchapter11Xunittestpatternchapter11
Xunittestpatternchapter11
ย 
X unit 14์žฅ
X unit 14์žฅX unit 14์žฅ
X unit 14์žฅ
ย 
TDD.JUnit.์กฐ๊ธˆ๋”.์•Œ๊ธฐ
TDD.JUnit.์กฐ๊ธˆ๋”.์•Œ๊ธฐTDD.JUnit.์กฐ๊ธˆ๋”.์•Œ๊ธฐ
TDD.JUnit.์กฐ๊ธˆ๋”.์•Œ๊ธฐ
ย 
์ „์žํšŒ๋กœ์„ค๊ณ„(์„ค๋ฌธ๋ถ„์„)2014-1
์ „์žํšŒ๋กœ์„ค๊ณ„(์„ค๋ฌธ๋ถ„์„)2014-1์ „์žํšŒ๋กœ์„ค๊ณ„(์„ค๋ฌธ๋ถ„์„)2014-1
์ „์žํšŒ๋กœ์„ค๊ณ„(์„ค๋ฌธ๋ถ„์„)2014-1
ย 
S66 goos-w7
S66 goos-w7S66 goos-w7
S66 goos-w7
ย 
EMOCON 2015 - ํ’ˆ์งˆ๊ณผ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅด๋‹ค
EMOCON 2015 - ํ’ˆ์งˆ๊ณผ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅด๋‹คEMOCON 2015 - ํ’ˆ์งˆ๊ณผ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅด๋‹ค
EMOCON 2015 - ํ’ˆ์งˆ๊ณผ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅด๋‹ค
ย 
S66 goos-w6
S66 goos-w6S66 goos-w6
S66 goos-w6
ย 

xunittestpatternchapter15

  • 1. xUnit Test Pattern 15์žฅ. ์ฝ”๋“œ ๋ƒ„์ƒˆ ๋ฐ•์ƒํ˜ http://pixelmine.tistory.com ์•„๊ฟˆ์‚ฌ http://andstudy.com
  • 2. 15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
  • 3. 15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
  • 4. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ ๋ˆˆ์— ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค ๊ธด ํ…Œ์ŠคํŠธ, ๋ณต์žกํ•œ ํ…Œ์ŠคํŠธ, ์žฅํ™ฉํ•œ ํ…Œ์ŠคํŠธ ์ž๋™ํ…Œ์ŠคํŠธ์˜ ๋ชฉํ‘œ 1. SUT๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•ด์•ผ ํ•˜๋Š”๊ฐ€์— ๋Œ€ํ•œ ๋ฌธ์„œ์—ญํ•  2. ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ์ž์ฒด ๊ฒ€์ฆ ๋ช…์„ธ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ•˜๋‹ค ๋ณด๋ฉด ๋ณต์žกํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋‘ ๊ฐ€์ง€ ๋ชฉํ‘œ๋ฅผ ๋™์‹œ์— ๋งŒ์กฑํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
  • 5. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ ํ•˜๋‚˜์˜ ๋ฉ”์†Œ๋“œ์—์„œ ๋„ˆ๋ฌด ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ฒ€์ฆํ•˜๋ ค๋Š” ํ…Œ์ŠคํŠธ ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜ ํ”ฝ์Šค์ฒ˜์™€ ๊ฒ€์ฆ๋กœ์ง๊ฐ„์˜ ์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ๋ณด์ด์ง€ ์•Š๋Š” ํ…Œ์ŠคํŠธ ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜ ๊ธฐ๋Šฅ ๊ฒ€์ฆ์— ํ•„์š” ์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ฐธ์กฐํ•œ๋‹ค ๊ด€๋ จ ์—†๋Š” ์ •๋ณด ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„ ์‹ค์ œ ๋™์ž‘์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ํŒŒ์•…ํ•˜๊ธฐ ํž˜๋“ค๋‹ค ํ•˜๋“œ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ํ•˜๋“œ ์ฝ”๋”ฉ๋ผ ์žˆ์–ด ์ž…๋ ฅ๊ณผ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ๊ฐ’ ์‚ฌ์ด์˜ ์ธ๊ณผ ๊ด€๊ณ„๊ฐ€ ์• ๋งคํ•˜๋‹ค ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ… ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์™€ SUT๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
  • 6. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค 'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
  • 7. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ(Eager Test) ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค 'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
  • 8. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜(Mystery Guest) ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค 'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
  • 9. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜(General Fixture) ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค 'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
  • 10. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๊ด€๋ จ ์—†๋Š” ์ •๋ณด(Irrelevant Information) ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค 'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
  • 11. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ(Hard-Coded Test Data) ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค 'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
  • 12. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) โ€ข ์ฆ์ƒ : ํ…Œ์ŠคํŠธ์—์„œ ๊ฒ€์ฆํ•˜๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ…(Indirect Testing) โ€“ ์ด๊ฒƒ ์ €๊ฒƒ '์—†๋Š” ๊ฑฐ ๋นผ๊ณ  ์ „๋ถ€ ๋‹ค' ๊ฒ€์ฆํ•œ๋‹ค โ€“ ์–ด๋””๊นŒ์ง€๊ฐ€ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜์ธ์ง€, ์–ด๋””์„œ๋ถ€ํ„ฐ SUT์‹คํ–‰๋ถ€์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค โ€“ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜๋‚˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ ๋ณผ ์ˆ˜ ์—†๋Š” ์ •๋ณด์— ์˜์กดํ•œ๋‹ค โ€“ ์™ธ๋ถ€ ์ •๋ณด๋ฅผ ์ฐพ์ง€ ์•Š๊ณ ๋Š” ๋™์ž‘์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค โ€“ ํ•„์š”์ด์ƒ์œผ๋กœ ํฐ ํ”ฝ์Šค์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค โ€“ 'ํ”ฝ์Šค์ฒ˜-SUT์‹คํ–‰-๊ฒฐ๊ณผ๊ฐ’' ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„ ํŒŒ์•…์ด ํž˜๋“ค๋‹ค โ€“ ๊ฐ์ฒด์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’ ์ค‘ ๋ฌด์—‡์ด ๊ธฐ๋Œ€์ถœ๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค โ€“ ํ”ฝ์Šค์ฒ˜ ์„ค์น˜ ๋กœ์ง์ด ๊ธธ๊ณ , ๋ฌด์—‡์„ ๊ฒ€์ฆํ•˜๋ ค๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค โ€“ ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค โ€“ ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค โ€“ ์–ด๋–ค ๊ฐ’๋“ค์ด SUT์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค โ€“ ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€ ์ฃผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค
  • 13. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
  • 14. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ(Eager Test) ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
  • 15. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜(Mystery Guest) ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
  • 16. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜(General Fixture) ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
  • 17. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ๊ด€๋ จ ์—†๋Š” ์ •๋ณด(Irrelevant Information) ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
  • 18. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ(Hard-Coded Test Data) ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
  • 19. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ…(Indirect Testing) ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ต๋‹ค ๋ฌธ์„œ๋กœ์„œ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ ์œ ์ง€๋น„์šฉ ์ƒ์Šนํ•œ๋‹ค ๋ฒ„๊ทธ ํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊น… ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋œ๋‹ค ํ”ฝ์Šค์ฒ˜์™€ ๊ธฐ๋Œ€๊ฒฐ๊ณผ ์‚ฌ์ด์˜ ์ธ๊ณผ๊ด€๊ณ„๋ฅผ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ๋ณ€๋•์Šค๋Ÿฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค ๊ฐ ํ…Œ์ŠคํŠธ์—์„œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ”ฝ์Šค์ณ๊ฐ€ ๋œ๋‹ค ๋Š๋ฆฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค ๊ณต์œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ธ๋•Œ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ ๊ฐ™์€ ๊ฐ’์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ์ƒ๊ธด๋‹ค ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ๋œ๋‹ค ๋ชจ๋“  ๊ณณ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
  • 20. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์›์ธ ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค โ€“ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
  • 21. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์›์ธ ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ(Eager Test) ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
  • 22. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์›์ธ ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜(Mystery Guest) ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค SUT ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌ๋˜๋Š” ์™ธ๋ถ€ ํŒŒ์ผ์˜ ๋‚ด์šฉ์ด SUT์˜ ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ๊ฒฐ์ • ๋™์ž‘์„ ๋ฆฌํ„ฐ๋Ÿดํ‚ค๋กœ ์‹๋ณ„๋˜๋Š” DB ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ์–ด ๊ฐ์ฒด์— ์“ด ๋’ค ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค ํ…Œ์ŠคํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ SUT์— ์ „๋‹ฌ ์ด๋ฅผ ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค ํŒŒ์ผ์—์„œ ์ฝ์–ด๋“ค์ธ ๋‚ด์šฉ์„ ๊ธฐ๋Œ€๊ฒฐ๊ณผ๊ฐ’์„ ๊ฒ€์ฆํ•˜๋Š” ๋‹จ ์–ธ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์— ์‚ฌ์šฉ ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค ์„ค์น˜ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋กœ ๊ณต์œ  ํ”ฝ์Šค์ฒ˜๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฒฐ๊ณผ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค ๋กœ์ง์—์„œ๋Š” ๊ณต์œ  ํ”ฝ์Šค์ฒ˜์˜ ๊ฐ์ฒด๋“ค์„ ๋ณ€์ˆ˜๋กœ ์ฐธ์กฐ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค ์„ค์น˜๋กœ ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜๋ฅผ ์„ค์น˜ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ ์•”๋ฌต์  ๋“œ์—์„œ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋‚˜ ํด๋ž˜์Šค ๋ณ€์ˆ˜๋กœ ์ ‘๊ทผ
  • 23. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์›์ธ ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜(General Fixture) ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
  • 24. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์›์ธ ๊ด€๋ จ ์—†๋Š” ์ •๋ณด(Irrelevant Information) ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
  • 25. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์›์ธ ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ(Hard-Coded Test Data) ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
  • 26. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ์›์ธ ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ…(Indirect Testing) ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์— ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ์ ๋‹ค ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ์—†๋‹ค ์ฝ”๋“œ๋ฅผ '๊ทธ๋ƒฅ ์ธ๋ผ์ธ์œผ๋กœ' ์ž‘์„ฑํ•œ๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์™ธ๋ถ€์ž์›์— ์˜์กดํ•œ๋‹ค ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ…Œ์Šคํ…Œ ์ƒ๊ด€์—†๋Š” ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค ์ ˆ์ฐจํ˜• ์ƒํƒœ ๊ฒ€์ฆ์„ ์“ด๋‹ค ์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•œ๋‹ค ํ…Œ์ŠคํŠธ์—์„œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํด๋ž˜์Šค์˜ SUT๋ถ€๋ถ„์ด private์ด๋‹ค ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„ํ–ˆ๋‹ค
  • 27. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ํ•ด๊ฒฐ์ฑ… ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„  SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
  • 28. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ํ•ด๊ฒฐ์ฑ… ์š•์‹ฌ์Ÿ์ด ํ…Œ์ŠคํŠธ(Eager Test) ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„  SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
  • 29. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ํ•ด๊ฒฐ์ฑ… ๋ฏธ์Šคํ„ฐ๋ฆฌํ•œ ์†๋‹˜(Mystery Guest) ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž ํŒŒ์ผ ์ด๋ฆ„์„ ์ž˜ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„  SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
  • 30. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ํ•ด๊ฒฐ์ฑ… ์ผ๋ฐ˜ ํ”ฝ์Šค์ฒ˜(General Fixture) ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„  SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
  • 31. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ํ•ด๊ฒฐ์ฑ… ๊ด€๋ จ ์—†๋Š” ์ •๋ณด(Irrelevant Information) ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„  SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
  • 32. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ํ•ด๊ฒฐ์ฑ… ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ(Hard-Coded Test Data) ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„  SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
  • 33. ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ(Obscure Test) ํ•ด๊ฒฐ์ฑ… ๊ฐ„์ ‘ ํ…Œ์ŠคํŒ…(Indirect Testing) ๋” ์ข‹์€ ๊ฒฐํ•จ ๊ตญ์†Œํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ๋‹จ์ผ ์กฐ๊ฑด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋กœ ๋งŒ๋“ ๋‹ค ์ธ๋ผ์ธ ์„ค์น˜๋กœ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜๋ฅผ ์“ด๋‹ค ํ”ฝ์Šค์ฒ˜ ์•ˆ์˜ ๊ฐ์ฒด๋“ค์— ์ฐพ๊ธฐ๋ฉ”์†Œ๋“œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์ž ํŒŒ์ผ ์ด๋ฆ„์„ ์ ๋‹นํžˆ ๋ถ™์—ฌ ์•ˆ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š”์ง€ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค ์ตœ์†Œ ํ”ฝ์Šค์ฒ˜, ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ๋ณ„๋กœ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ ๋‹ค ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋งŒ ์ธ์ž๋กœ ๋ฐ›๋Š” ์ธ์ž๋ฅผ ๋ฐ›๋Š” ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์„ค์น˜๋ถ€์™€ ๊ฒ€์ฆ๋ถ€์— ํ•„์š”ํ•œ ํ”ฝ์Šค์ฒ˜ ๊ฐ’์„ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™”ํ•œ ์ƒ์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋กœ์ง์—์„œ ๊ธฐ๋Œ€ ๊ฐ์ฒด๋กœ ํ•œ๋ฒˆ์— ๋‹จ์–ธํ•œ๋‹ค ๋ณต์žกํ•œ ์ ˆ์ฐจ์  ๊ฒ€์ฆ๋กœ์ง์„ ์ˆจ๊ธฐ๋Š” ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ๋ฆฌํ„ฐ๋Ÿด ์ƒ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค ๋ณ„๊ฐœ์˜ ์ƒ์„ฑ๊ฐ’์„ ์จ์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์„ ์“ฐ๊ฒŒ ๋ณด์žฅํ•ด์ค˜์•ผ ํ•œ๋‹ค SUT์˜ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„๋ฅผ ๊ฐœ์„  SUT๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋ฉด SUT API ์บก์Šํ™” ์‚ฌ์šฉ
  • 34. 15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
  • 35. ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic) ํ…Œ์ŠคํŠธ์— ์‹คํ–‰ ์•ˆ ๋  ์ˆ˜๋„ ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค ๋“ค์‘ฅ๋‚ ์‘ฅํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์™„์ „ ์ž๋™ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค๋ฅธ ์ฝ”๋“œ์˜ ๋™์ž‘์„ ๊ฒ€์ฆํ•˜๋Š” ์ฝ”๋“œ๋‹ค ์™„์ „ ์ž๋™ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค๋ฉด......? ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ......? ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”์—†์„ ์ •๋„๋กœ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ •๋‹ต ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง์€ ํ•„์š” ์ด์ƒ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“œ ๋Š” ์š”์ธ ์ค‘ ํ•˜๋‚˜๋‹ค
  • 36. ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic) ์œ ์—ฐํ•œ ํ…Œ์ŠคํŠธ ์–ธ์ œ ์–ด๋””์„œ ์‹คํ–‰๋˜๋Š๋ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ๊ฒ€์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ ์กฐ๊ฑด๋ฌธ ๋กœ์ง ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ๊ฒ€์ฆ์— ์กฐ๊ฑด๋ฌธ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ ๋‚ด ์ œํ’ˆ ๋กœ์ง ๋ณต์žกํ•œ ํ•ด์ฒด ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ ์กฐ๊ฑด
  • 37. ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic) ์ฆ์ƒ : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋‚ด์— ๋ฐ˜๋ณต๋ฌธ์ด๋‚˜ ์กฐ๊ฑด๋ฌธ์ด ์žˆ๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์กฐ๊ฑด๋ฌธ ๋กœ์ง์ด ๋“ค์–ด ์žˆ๋‹ค ํ…Œ์ŠคํŠธ์˜ ๊ฒฐ๊ณผ ๊ฒ€์ฆ๋ถ€์— ์กฐ๊ฑด๋ฌธ ๋กœ์ง์ด ๋“ค์–ด์žˆ๋‹ค ํ”ฝ์Šค์ฒ˜ ํ•ด์ฒด ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๋‹ค ์—ฌ๋Ÿฌ ์ž…๋ ฅ๊ฐ’๊ณผ ๊ทธ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ๊ฐ’์— ๊ฐ™์€ ํ…Œ์ŠคํŠธ ๋กœ์ง ์ ์šฉ
  • 38. ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์—์„œ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฒฐ์ •๋ก ์ ์ด์ง€ ์•Š์•„ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์–ด๋ ต๋‹ค ์–ด๋ ค์šด ์ž‘์—…์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์›Œ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํž˜๋“ค๋‹ค ๋ชจ๋“  ์ œ์–ด๊ฒฝ๋กœ๊ฐ€ ํ…Œ์ŠคํŠธ ๋˜์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค
  • 39. ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic) ์›์ธ SUT๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ์˜ if๋ฌธ ์ฒ˜๋ฆฌ ์—ฌ๋Ÿฌ ๊ฐ์ œ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ ๋ณต์žกํ•œ ๊ฐ์ฒด๋‚˜ ๋‹คํ˜•์„ฑ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ ํ”ฝ์Šค์ฒ˜๋‚˜ ๊ธฐ๋Œ€ ๊ฐ์ฒด ์ดˆ๊ธฐํ™”์‹œ ํ•˜๋‚˜์˜ ํ…Œ์ŠคํŠธ์—์„œ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๊ฒ€์ฆ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ”ฝ์Šค์ฒ˜ ๊ฐ์ฒด๋ฅผ ํ•ด์ฒดํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด if๋ฌธ ์‚ฌ์šฉ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ œ์–ด๋Šฅ๋ ฅ ๋ถ€์กฑ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์‹œ์Šคํ…œ์ด ํ•ด๊ฒฐํ•ด ์ค„ ์ˆ˜ ์—†๋Š” ์ง€์†์ ์ธ ์ž์›์„ ๋งŽ์ด ์‚ฌ์šฉ
  • 40. ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง(Conditional Test Logic) ํ•ด๊ฒฐ์ฑ… SUT์—์„œ '๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ์˜์กด'์„ ์ง€์›ํ•˜๊ฒŒ ๋ฆฌํŒฉํ† ๋งํ•œ๋‹ค ๋ณดํ˜ธ ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ๋ณต์žกํ•œ ๊ฐ์ฒด๋ฅผ ๊ฒ€์ฆํ•  ๋•Œ๋Š” ๊ธฐ๋Œ€๊ฐ์ฒด์— ๋™๋“ฑ ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ์šฉ ๋™๋“ฑ์„ ์ •์˜ํ•œ ๋งž์ถค ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์†Œ๋“œ๋‚˜ ๊ณตํ†ต ์ธ์ž๋ฅผ ๋ฐ›๋Š” ํ…Œ์ŠคํŠธ ์‚ฌ์šฉ ์ž…๋ ฅ๋œ ๊ฐ’์— ๋Œ€ํ•œ ๊ณ„์‚ฐ๋œ ๊ฐ’์„ ์“ด๋‹ค ์•”๋ฌต์  ํ•ด์ฒด, ์ž๋™ ํ•ด์ฒด ์‚ฌ์šฉ ์‹ ์„ ํ•œ ํ”ฝ์Šค์ฒ˜, ํ…Œ์ŠคํŠธ ๋Œ€์—ญ์„ ์‚ฌ์šฉํ•ด ์ง€์†๋˜๋Š” ๊ฐ์ฒด๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค
  • 41. 15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
  • 42. ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code) ์ฝ”๋“œ๊ฐ€ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ์–ด๋ ต๋‹ค ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ์ฝ”๋“œ ๋น„๋™๊ธฐ ์ฝ”๋“œ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ
  • 43. ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code) ์ฆ์ƒ ์›๋ž˜๋ถ€ํ„ฐ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ํด๋ž˜์Šค์™€ ํ•จ๊ป˜ ํ…Œ์ŠคํŠธ ํ•ด์•ผ๋งŒ ํ•˜๋Š” ์ฝ”๋“œ ์ง์ ‘ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ๋กœ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์˜ ๋‚ด์šฉ์ด ๋ณต์žกํ•˜๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์‹ ํ•  ์ˆ˜ ์—†๋‹ค
  • 44. ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ์‰ฝ๊ฒŒ ๊ฒ€์ฆํ•  ์ˆ˜ ์—†๋‹ค ํ…Œ์ŠคํŠธ ๋ฌธ์„œํ™”์— ํฐ ๊ณต์„ ๋“ค์ด์ง€ ์•Š์œผ๋ฉด ํ’ˆ์งˆ ํ‰๊ฐ€๋ฅผ ๋ฐ˜๋ณตํ•˜๊ธฐ ์–ด๋ ต๋‹ค ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ์–ด๋ ต๋‹ค ํ…Œ์ŠคํŠธ๊ฐ€ ๋ณต์žกํ•˜๊ณ  ์‹คํ–‰์ด ๋Š๋ ค์ง„๋‹ค ๋ฒ„๊ทธํˆฌ์„ฑ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋˜๊ธฐ ์‰ฝ๋‹ค ํ…Œ์ŠคํŠธ ์œ ์ง€ ๋น„์šฉ์ด ๋น„์‹ธ๋‹ค ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๋Œ€๋กœ ์ž‘์„ฑํ•˜๊ธฐ ์–ด๋ ต๋‹ค
  • 45. ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code) ์›์ธ ์„ค๊ณ„๊ฐ€ ์กฐ์žกํ•˜๋‹ค ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„๊ฒฝํ—˜์ด ๋ถ€์กฑํ•˜๋‹ค ์•กํ‹ฐ๋ธŒ ๊ฐ์ฒด์™€ ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ์žˆ๋‹ค ๋ฐ์ŠคํŠธ์ฝ”๋“œ๋Š” ์›๋ž˜ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์–ด๋ ต๋‹ค
  • 46. ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ(Hard-to-Test Code) ํ•ด๊ฒฐ์ฑ… ๊ฒฐํ•ฉ์„ ๋ถ„๋ฆฌํ•œ๋‹ค : ํ…Œ์ŠคํŠธ ๋Œ€์—ญ, ํ…Œ์ŠคํŠธ ์Šคํ…, ๋ชจ์˜ ๊ฐ์ฒด '๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ํ™œ์šฉ ์ „๋žต'์„ ์ฝ์–ด๋ณธ๋‹ค ๋กœ์ง๊ณผ ๋น„๋™๊ธฐ ์ ‘๊ทผ ๋งค์ปค๋‹ˆ์ฆ˜ ๋ถ„๋ฆฌ : ๋Œ€๊ฐ• ๋งŒ๋“  ๊ฐ์ฒด ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ๋“ค ์•„์ฃผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค
  • 47. 15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
  • 48. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต(Test Code Duplication) ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณต๋˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐ™์€ ์ฃผ์ œ์— ๋Œ€ํ•ด ์•ฝ๊ฐ„์”ฉ ๋‹ค๋ฅธ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ํ…Œ์ŠคํŠธ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ '์ž˜๋ผ ๋ถ™์—ฌ๋„ฃ๊ธฐ' ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ ๋ฐ”ํ€ด ์žฌ๋ฐœ๋ช… ํ•˜๊ธฐ
  • 49. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต(Test Code Duplication) ์ฆ์ƒ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ์—์„œ ๋ฐ˜๋ณต๋œ๋‹ค ํ•œ ํ…Œ์ŠคํŠธ ์•ˆ์—์„œ ๋น„์Šทํ•œ ๊ตฌ๋ฌธ์ด ๋ฐ˜๋ณต๋œ๋‹ค ๋ฏธ์น˜๋Š” ์˜ํ–ฅ SUT๋ฉ”์†Œ๋“œ ์˜๋ฏธ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋ชจ๋“  ๋ณต์‚ฌ๋ณธ์— ์œ ์ง€๋ณด์ˆ˜ ํ•ด์•ผํ•œ๋‹ค ํ…Œ์ŠคํŠธ ์œ ์ง€ ๋น„์šฉ์ด ๋Š˜์–ด๋‚œ๋‹ค
  • 50. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต(Test Code Duplication) ์›์ธ ๋ฆฌํŒฉํ† ๋ง ๊ธฐ์ˆ ์ด๋‚˜ ๊ฒฝํ—˜์ด ๋ถ€์กฑ ์ผ์ •์— ๋Œ€ํ•œ ์••๋ฐ• ์–ด๋–ค ํ…Œ์ŠคํŠธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค ํ•ด๊ฒฐ์ฑ… ๋ฉ”์†ŒํŠธ ๋ฝ‘์•„๋‚ด๊ธฐ ์ƒ์„ฑ ๋ฉ”์†Œ๋“œ, ์ฐพ๊ธฐ ๋ฉ”์†Œ๋“œ ๋งž์ถค ๋‹จ์–ธ๋ฌธ, ๊ฒ€์ฆ ๋ฉ”์†Œ๋“œ '์ธ์ž ๋„์ž…' ๋ฆฌํŒฉํ† ๋ง ํ…Œ์ŠคํŠธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์†Œ๋“œ ํ™•์ธ
  • 51. 15์žฅ์—์„œ ๋‹ค๋ฃจ๋Š” ๋ƒ„์ƒˆ ์• ๋งคํ•œ ํ…Œ์ŠคํŠธ ํ…Œ์ŠคํŠธ ๋‚ด ์กฐ๊ฑด๋ฌธ ๋กœ์ง ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ์ฝ”๋“œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ค‘๋ณต ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง
  • 52. ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง(Test Logic In Production) ์ œํ’ˆ ์ฝ”๋“œ์— ํ…Œ์ŠคํŠธ์—์„œ๋งŒ ์‹คํ–‰๋ผ์•ผ ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค ํ…Œ์ŠคํŠธ ํ›… ํ…Œ์ŠคํŠธ ์ „์šฉ ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ์˜์กด ๋™๋“ฑ ์˜ค์—ผ
  • 53. ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง(Test Logic In Production) ์ฆ์ƒ ์ˆœ์ „ํžˆ ํ…Œ์ŠคํŠธ์—์„œ๋งŒ ํ•„์š”ํ•œ ๋กœ์ง์ด SUT์•ˆ์— ๋“ค์–ด ์žˆ๋‹ค SUT๊ฐ€ ํ…Œ์ŠคํŠธ ์ค‘์ผ๋•Œ ๋‹ค๋ฅด๊ฒŒ ์‹คํ–‰๋˜๋Š” ๋กœ์ง์ด ์žˆ๋‹ค SUT์ผ๋ถ€ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ…Œ์ŠคํŠธ์—์„œ๋งŒ ์“ฐ์ด๊ณ  ์žˆ๋‹ค ์‹ค์ œ private ์ด์–ด์•ผ ํ•˜๋Š” ์†์„ฑ์ด public ์œผ๋กœ ๋ผ ์žˆ๋‹ค ์ œํ’ˆ ์ฝ”๋“œ๋งŒ ๋นŒ๋“œํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค ํ…Œ์ŠคํŠธ ์‹คํ–‰์ด ์—†๋Š” ๊ฒฝ์šฐ ์ œํ’ˆ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค ํ…Œ์ŠคํŠธ์—์„œ์˜ ํ•„์š”๋กœ equals ๋ฉ”์†Œ๋“œ๋ฅผ ๋ณ€๊ฒฝ SUT์—์„œ equals ์˜ ์ •์˜๋ฅผ ๋ณ€๊ฒฝ
  • 54. ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง(Test Logic In Production) ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ์ œํ’ˆ ์ƒํƒœ์—์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค SUT๋ฅผ ๋” ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค ์ œํ’ˆ์˜ ์‹คํ–‰ ํฌ๊ธฐ๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค ์ œํ’ˆ์—์„œ ๋œปํ•˜์ง€ ์•Š๊ฒŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค ์ƒˆ๋กœ์šด ์š”๊ตฌ์‚ฌํ•ญ์„ ์ง€์›ํ•˜๋Š” equals ๋กœ์ง์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์–ด๋ ต๋‹ค ์›์ธ ์•Œ๋ ค์ง„ ๊ฐ’์„ ๋ฆฌํ„ดํ•ด SUT๋™์ž‘์„ ๊ฒฐ์ •์ ์œผ๋กœ ๋งŒ๋“ ๋‹ค ํ…Œ์ŠคํŠธ์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๋…ธ์ถœ ํ…Œ์ŠคํŠธ์— ํ•„์š”ํ•œ ์ •๋ณด ์ดˆ๊ธฐํ™”์— ๋” ๋งŽ์€ ์ œ์–ด๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€ ๋ชจ๋“ˆ๊ฐ„ ์˜์กด์„ฑ์— ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š๋Š”๋‹ค ํ…Œ์ŠคํŠธ์šฉ ๋™๋“ฑ์˜ ๊ฐœ๋…์„ ์ž˜ ๋ชจ๋ฅธ๋‹ค
  • 55. ์ œํ’ˆ ์ฝ”๋“œ ๋‚ด ํ…Œ์ŠคํŠธ ๋กœ์ง(Test Logic In Production) ํ•ด๊ฒฐ์ฑ… ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ์˜์กด ์‚ฌ์šฉ : ์ŠคํŠธ๋ ˆํ‹ฐ์ง€ ํŒจํ„ด ํ…Œ์ŠคํŠธ์šฉ ํ•˜์œ„ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด SUT์˜ ํŠน์ • ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•œ๋‹ค ํ…Œ์ŠคํŠธ ์ „์šฉ์ž„์„ ๋ถ„๋ช…ํ•˜๊ฒŒ ๋„ค์ด๋ฐ์„ ํ•œ๋‹ค ์˜์กด๊ด€๊ณ„๋ฅผ ์‹ ์ค‘ํžˆ ๊ด€๋ฆฌํ•œ๋‹ค equals ์ˆ˜์ • ๋Œ€์‹  ๋งž์ถค ๋‹จ์–ธ๋ฌธ์œผ๋กœ ๋‚ด์žฅ ๋™๋“ฑ ๋‹จ์–ธ๋ฌธ์„ ์“ฐ๊ฒŒ ํ•œ๋‹ค ๋™์  ๋ชจ์˜ ๊ฐ์ฒด ์ƒ์„ฑ ๋„๊ตฌ๋ฅผ ์“ด๋‹ค๋ฉด ๋น„๊ต์ž๋ฅผ ์“ด๋‹ค ๊ธฐ๋Œ€ ๊ฐ์ฒด์˜ ํ…Œ์ŠคํŠธ์šฉ ํ•˜์œ„ ํด๋ž˜์Šค์— equals ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค