• ±¹³»µµ¼­
  • ¿Ü±¹µµ¼­
  • eBook
  • e·¯´×
  • À½¹Ý
  • DVD
  • GIFT
  • È­Àåǰ
  • ¿µÈ­
  • °ø¿¬

¿¹½º24 ¹Ù·Î°¡±â
»ó»óÃÊ¿ù º¸³Ê½º
°íµæ¼º ÀúÀÚ °­¿¬È¸ ÃÊ´ë
¿øÀÛ¼Ò¼³ ÃÑÁýÇÕ
Áñ°Üã±â Ãß°¡ Àû¸³
¹Ú¹Î±ÔÀÇ Á×Àº ¿Õ³à¸¦ À§ÇÑ ÆÄ¹Ý´À ¹é¿µ¿ÁÀÇ ´ÙÀÌ¾îÆ®ÀÇ ¿©¿Õ
µµ¼­

xUnit Å×½ºÆ® ÆÐÅÏ

: 68°¡Áö ´ÜÀ§ Å×½ºÆ® ÆÐÅÏÀ» ÅëÇÑ Å×½ºÆ® ÄÚµå ¸®ÆÑÅ丵 ±â¹ý

Á¦¶óµå ¸Þ½ºÀڷνº Àú/¹ÚÀÏ ¿ª | ¿¡ÀÌÄÜÃâÆÇ»ç | ¿ø¼­ : xUnit Test Patterns: Refactoring Test Code

xUnit Å×½ºÆ® ÆÐÅÏ
Å©°Ôº¸±â
Á¤°¡
48,000¿ø
ÆÇ¸Å°¡
43,200¿ø(10% ÇÒÀÎ)
YESÆ÷ÀÎÆ®
 4,320¿ø (10% Àû¸³) + ¸¶´Ï¾ÆÃß°¡Àû¸³ ¾È³»
YES¸¶´Ï¾Æ ·Ôµ¥Ä«µå ÇÒÀÎ
38,016¿ø(12~24% û±¸ÇÒÀÎ /1¸¸5õ¿øÀÌ»ó °áÁ¦½Ã)  ¾È³»

5¸¸¿øÀÌ»ó ±¸¸Å½Ã 2õ¿ø Ãß°¡Àû¸³ Ãß°¡Àû¸³À̶õ? / Ä«µåÇýÅú¸±â

Ãâ°£ÀÏ

2010³â 03¿ù 12ÀÏ

1056ÂÊ | 2024g | 188*254mm

ISBN-13

9788960771253

ISBN-108960771252

ÆÇ¸ÅÁß | ÆÇ¸ÅÁö¼ö 1566 ÆÇ¸ÅÁö¼ö¶õ?
¹è¼Ûºñ
¹«·á ¾È³»
ÁÖ¹®¼ö·®
¿Ã¸² ³»¸²
ÇØ¿Ü¹è¼Û°¡´É, ÃÖÀú°¡ º¸»ó

īƮ¿¡ ³Ö±â

¸®½ºÆ®¿¡ ³Ö±â

¹Ù·Î ±¸¸ÅÇϱâ

¸®ºä¾²±â

Ã¥¼Ò°³

ÀÚµ¿ Å×½ºÆÃ(Automated testing)Àº ¾ÖÀÚÀÏ °³¹ßÀÇ ±âÃÊ·Î, Å×½ºÆÃ Àü·«À» Àß È°¿ëÇÏ¸é ±â´ÉÀÇ Ãß°¡¿Í »ç¿ëÀÚ Çǵå¹éÀ» ºü¸£°Ô ¹ÞÀ» ¼ö ÀÖ´Â µîÀÇ ±àÁ¤ÀûÀÎ ºÎºÐÀÌ ¸¹´Ù. ÇÏÁö¸¸ ¸¹Àº °³¹ßÀÚ°¡ ÀÚµ¿ Å×½ºÆ®¿¡ ´ëÇÑ °æÇèÀÌ ºÎÁ·ÇØ È¿°úÀûÀÎ Å×½ºÆ® ÀÛ¼ºÀ» ¾î·Á¿öÇÑ´Ù. ÀÌ Ã¥Àº °¡Àå Àαâ ÀÖ´Â ´ÜÀ§ Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©ÀÎ xUnitÀ¸·Î ÀÚµ¿ Å×½ºÆ®¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ¿Ïº®ÇÏ°Ô ¾È³»Çϰí ÀÖ´Ù.

ÀúÀÚ´Â ¾ÖÀÚÀÏ ÄÚÄ¡ÀÌÀÚ Å×½ºÆ® ÀÚµ¿È­ Àü¹®°¡·Î, Å×½ºÆ® ÀÛ¼º, ÀÌÇØ, À¯Áö º¸¼ö¸¦ ½±°Ô ÇØÁÖ´Â 68°³ÀÇ ÀÔÁõµÈ ÆÐÅÏÀ» ¼Ò°³ÇÑ´Ù. Å×½ºÆ® Àü·«¿¡¼­ºÎÅÍ ½ÇÁ¦ Å×½ºÆ® ÄÚµù±îÁö Å×½ºÆ® ÀÚµ¿È­¸¦ ´Ù·ç°í, ÀÚÁÖ ¸¸³¯ ¼ö ÀÖ´Â 18°¡Áö 'Å×½ºÆ® ³¿»õ' ¸ñ·ÏÀ» º¸¿©ÁÖ°í, ¹®Á¦ÀÇ ±Ùº» ¿øÀΰú ±×¿¡ ¸Â´Â °¡Àå Àû´çÇÑ ÆÐÅÏÀ» ã´Â µ¥ µµ¿òÀ» ÁÖ´Â ÇØ°á ¹æ¾ÈÀ» Á¦°øÇÑ´Ù. ¶ÇÇÑ °¢ ÆÐÅÏÀ» ÀÚ¼¼ÇÏ°Ô ¼³¸íÇϰí, ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ÀÛ¼ºµÈ ¿¹Á¦ Äڵ带 ÅëÇØ ¸®ÆÑÅ丵ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.

ÀúÀÚ ¼Ò°³

ÀúÀÚ: Á¦¶óµå ¸Þ½ºÀڷνº(Gerard Meszaros)

Ͱŏ®(Calgary)¿¡ ÀÖ´Â ¾ÖÀÚÀÏ °³¹ß Àü¹® ÄÁ¼³ÆÃ ȸ»ç Ŭ¸®¾î½ºÆ®¸² ÄÁ¼³ÆÃ(ClearStream Consulting)ÀÇ ¼ö¼® °úÇÐÀÚ(Chief Scientist)ÀÌÀÚ ¼±ÀÓ ÄÁ¼³ÅÏÆ®´Ù. Á¦¶óµå´Â ½Ê ³â ÀÌ»ó ÀÚµ¿ ´ÜÀ§ Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ© ºÐ¾ß¿¡¼­ °æÇèÀ» ½×¾Ò°í Å×½ºÆ® ÀÚµ¿ ÆÐÅÏ, ¼ÒÇÁÆ®¿þ¾î¿Í Å×½ºÆ® ¸®ÆÑÅ丵, Å×½ºÆ® ¿ëÀ̼ºÀ» À§ÇÑ ¼³°è ºÐ¾ß¸¦ ¼±µµÇÏ´Â Àü¹®°¡´Ù.

¿ªÀÚ: ¹ÚÀÏ

¿¬¼¼´ë ÄÄÇ»ÅͰúÇаú¸¦ Á¹¾÷Çß´Ù. 2000³â ÃÊ¿¡ °³¹ßÀ» ½ÃÀÛÇØ Áö±ÝÀº ¸®´ÏÁö2 ¼­¹ö ÆÀ¿¡¼­ ±Ù¹« ÁßÀÌ´Ù. ¿Å±ä Ã¥À¸·Î´Â ¡º½ºÅ©·³¡»(2008³â)ÀÌ ÀÖ´Ù.

¸ñÂ÷

1ºÎ ¼³¸í

1Àå °£´ÜÇÏ°Ô µÑ·¯º¸±â
°³¿ä
°¡Àå È®½ÇÇϸ鼭µµ °£´ÜÇÑ Å×½ºÆ® ÀÚµ¿È­ Àü·«
°³¹ß ÇÁ·Î¼¼½º
°í°´ Å×½ºÆ®
´ÜÀ§ Å×½ºÆ®
Å×½ºÆ®Çϱ⠽¬¿î ¼³°è
Å×½ºÆ® Á¶Á÷
Á¤¸®

2Àå Å×½ºÆ® ³¿»õ
°³¿ä
Å×½ºÆ® ³¿»õ ¼Ò°³
Å×½ºÆ® ³¿»õ¶õ?
Å×½ºÆ® ³¿»õÀÇ Á¾·ù
³¿»õ°¡ ³¯ ¶§ ´ëó ¹æ¾È
³¿»õ ºÐ·ù
ÇÁ·ÎÁ§Æ® ³¿»õ
µ¿ÀÛ ³¿»õ
ÄÚµå ³¿»õ
Á¤¸®

3Àå Å×½ºÆ® ÀÚµ¿È­ÀÇ ¸ñÇ¥
°³¿ä
Å×½ºÆ®¸¦ ÇÏ´Â ÀÌÀ¯
Å×½ºÆ® ÀÚµ¿È­ °æÁ¦ÇÐ
Å×½ºÆ® ÀÚµ¿È­ÀÇ ¸ñÇ¥
Å×½ºÆ®´Â ǰÁú Çâ»ó¿¡ µµ¿òÀÌ µÅ¾ß ÇÑ´Ù
Å×½ºÆ®´Â SUT¸¦ ÀÌÇØÇÏ´Â µ¥ µµ¿òÀÌ µÅ¾ß ÇÑ´Ù
Å×½ºÆ®´Â À§ÇèÀ» ÁÙ¿©¾ß(Ãß°¡ÇÏÁöµµ ¾Ê¾Æ¾ß) ÇÑ´Ù
Å×½ºÆ®´Â ½ÇÇàÇϱ⠽¬¿ö¾ß ÇÑ´Ù
Å×½ºÆ®´Â ¸¸µé°í À¯ÁöÇϱ⠽¬¿ö¾ß ÇÑ´Ù
Å×½ºÆ®´Â µÎ °¡Áö ÀÌÀ¯·Î º¹ÀâÇØÁø´Ù
½Ã½ºÅÛÀÌ ¹ßÀüÇÏ´Â µ¿¾È Å×½ºÆ®¿¡ ÇÊ¿äÇÑ À¯Áö º¸¼ö ºñ¿ëÀÌ ÃÖ¼ÒÈ­µÅ¾ß ÇÑ´Ù
Á¤¸®

4Àå Å×½ºÆ® ÀÚµ¿È­ÀÇ Ã¶ÇÐ
°³¿ä
öÇÐÀÌ Áß¿äÇÑ ÀÌÀ¯
öÇÐÀû Â÷ÀÌÁ¡
Å×½ºÆ® ¸ÕÀú³Ä Å×½ºÆ® ³ªÁßÀ̳Ä?
Å×½ºÆ®³Ä ¿¹Á¦³Ä?
´Ü°è
... Æî󺸱â

Ã¥¼ÓÀ¸·Î

¾î´Àµ¡ '´ÜÀ§ Å×½ºÆ®'¶ó´Â ´Ü¾î´Â °³¹ßÀÚµé »çÀÌ¿¡¼­ Àͼ÷ÇØÁ³½À´Ï´Ù. ÆÀ¿¡ Àû¿ëÇϰí ÀÖ´Ù´Â ºÐµéµµ ¸¹´õ±º¿ä. JUnitÀº 4.8±îÁö ³ª¿Ô°í, ±¸±Û¿¡¼­µµ GoogleTest °°Àº ÇÁ·ÎÁ§Æ®°¡ ³ª¿Ô½À´Ï´Ù. CruiseControlÀ̳ª Hudson °°Àº CI(Continuous Integration) Åø¿¡ ´ÜÀ§ Å×½ºÆ®¸¦ ºÙ¿© Áö¼ÓÀûÀÎ ÅëÇÕÀ» ÇÏ´Â ÆÀ»Ó¸¸ ¾Æ´Ï¶ó, ´ÜÀ§ Å×½ºÆ® ÄÚµå Ä¿¹ö¸®Áö 90% ÀÌ»ó ´Þ¼ºÀ» KPI·Î Àâ´Â °³¹ß ÆÀµµ ÀÖ´Ù°í µé¾ú½À´Ï´Ù.

ÀÌ·¸°Ô ´ÜÀ§ Å×½ºÆ®°¡ ¸¹ÀÌ ÀüÆÄµÈ °Íó·³ º¸ÀÌÁö¸¸ ¸·»ó °³¹ßÀÚµé ¾ê±â¸¦ µé¾îº¸¸é °í¹ÎÀÌ ¸¹½À´Ï´Ù. "Á¦´ë·Î µÈ Ã¥µµ º°·Î ¾ø°í, ¸ðÀÇ °´Ã¼(Mock Object)¸¦ ¾î¶»°Ô ¼³Á¤ÇØ¾ß ÇÏ´ÂÁö Àß ¸ð¸£°Ú°í, ÇÔ¼ö Çϳª¸¸ °íÃĵµ ÄÄÆÄÀÏ ¿¡·¯°¡ ³Ê¹« ¸¹ÀÌ ³ª¼­ °³¹ß¿¡ °ÅÄ¡Àû°Å¸®´Â °Í¸¸ °°°í, °ü¸®ÀÚ´Â ±×·± °Å ¿Ö ÇÏ³Ä°í ¹«½ÃÇϱ⳪ Çϰí, ¿¡ÀÌ, ±×³É ÇÏÁö ¸»±î?"

¸®´ÏÁö2 °³¹ß ÆÀ¿¡¼­´Â 2007³â 4¿ùºÎÅÍ ´ÜÀ§ Å×½ºÆ®(UnitTest++)¸¦ µµÀÔÇß½À´Ï´Ù. óÀ½ºÎÅÍ ½¬¿ü´ø °Ç ¾Æ´Õ´Ï´Ù. ÄÚµå ¿©±âÀú±â¸¦ #ifdef USING_TDD·Î °¨½ÎÁáÀ½¿¡µµ ºÒ±¸Çϰí Å×½ºÆ® ´ë»ó ½Ã½ºÅÛ(SUT, system unter test) Äڵ带 À߸ø °Çµå¸®´Â ¹Ù¶÷¿¡ ¿ÀÈ÷·Á ¾ø´ø ¹ö±×¸¦ ¸¸µé±âµµ Çϰí, if (g_bTesting) °°
... Æî󺸱â --- '¿ªÀÚÀÇ ¸»' Áß¿¡¼­

ÃâÆÇ»ç ¸®ºä

ÀÚµ¿ Å×½ºÆÃ(Automated testing)Àº ¾ÖÀÚÀÏ °³¹ßÀÇ ±âÃÊ´Ù. Å×½ºÆÃ Àü·«À» Àß È°¿ëÇÏ¸é ±â´ÉÀ» °ú°¨ÇÏ°Ô Ãß°¡ÇÒ ¼ö ÀÖ°í, »ç¿ëÀÚ Çǵå¹éÀ» ºü¸£°Ô ¹ÞÀ» ¼ö ÀÖÀ¸¸ç, ǰÁúÀ» Çâ»ó½Ãų ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¸¹Àº °³¹ßÀÚ°¡ ÀÚµ¿ Å×½ºÆ®¿¡ ´ëÇÑ °æÇèÀÌ ºÎÁ·ÇØ È¿°úÀûÀÎ Å×½ºÆ® ÀÛ¼ºÀ» ¾î·Á¿öÇÑ´Ù.

¡ºxUnit Å×½ºÆ® ÆÐÅÏ¡»Àº °¡Àå Àαâ ÀÖ´Â ´ÜÀ§ Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©ÀÎ xUnitÀ¸·Î ÀÚµ¿ Å×½ºÆ®¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ¿Ïº®ÇÏ°Ô ÁöµµÇØÁØ´Ù. ¾ÖÀÚÀÏ ÄÚÄ¡ÀÌÀÚ Å×½ºÆ® ÀÚµ¿È­ Àü¹®°¡ÀÎ Á¦¶óµå ¸Þ½ºÀڷνº(Gerard Meszaros)´Â Å×½ºÆ® ÀÛ¼º, ÀÌÇØ, À¯Áö º¸¼ö¸¦ ½±°Ô ÇØÁÖ´Â 68°³ÀÇ ÀÔÁõµÈ ÆÐÅÏÀ» ¼Ò°³ÇÑ´Ù. ¶ÇÇÑ ¾î¶»°Ô Çϸé Å×½ºÆ®¸¦ ´õ °ß°íÇÏ°í ¹Ýº¹ °¡´ÉÇϸç, ½±°Ô ¸¸µé ¼ö ÀÖ´ÂÁöµµ º¸¿©ÁØ´Ù.

ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë

Å×½ºÆ®¸¦ ´õ ºü¸£°Ô, Àß ÀÛ¼ºÇÏ´Â ¹æ¹ý
ÀÚµ¿ Å×½ºÆ®ÀÇ 4´Ü°è: ÇȽºÃ³ ¼³Ä¡, Å×½ºÆ® ´ë»ó ½Ã½ºÅÛ ½ÇÇà, °á°ú °ËÁõ, ÇȽºÃ³ ÇØÃ¼
Å×½ºÆ® ½ºÅÓ(Test Stub)°ú ¸ðÀÇ °´Ã¼(Mock Object)·Î ¼ÒÇÁÆ®¿þ¾î¸¦ ȯ°æÀ¸·ÎºÎÅÍ °Ý¸®½ÃÄÑ Å×½ºÆ® Ä¿¹ö¸®Áö¸¦ Çâ»ó½ÃŰ´Â ¹æ¹ý
Å×½ºÆ®Çϱâ ÁÁ°Ô ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³°èÇÏ´Â ¹æ¹ý
(ÄÚµå ³¿»õ, µ¿ÀÛ ³¿»õ, ÇÁ·ÎÁ§Æ® ³¿»õ¸¦ Æ÷ÇÔÇÑ) Å×½ºÆ® '³¿»õ'·Î ¹®Á¦¸¦ ÆÄ¾ÇÇϰí, ÀÌ·± ³¿»õ¸¦ ¾ðÁ¦ ¾î¶»°Ô Á¦°ÅÇÒ ¼ö ÀÖ´ÂÁö ¾Ë¾Æ³»´Â ¹æ¹ý
Å×½ºÆ®¸¦ ¸®ÆÑÅä¸µÇØ ´õ ´Ü¼øÇÏ°í °ß°íÇÏ¸ç ºü¸£°Ô ½ÇÇàµÉ ¼ö ÀÖ°Ô ¸¸µå´Â ¹æ¹ý

ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ
°³¹ßÀÚ, °ü¸®ÀÚ, Å×½ºÅÍ¿¡°Ô ÇÊ¿äÇÑ Ã¥ÀÌ´Ù. ¾ÖÀÚÀÏ °³¹ß ȯ°æ¿¡¼­ ÀÏÇÏ´À³Ä, ÀüÅëÀûÀÎ °³¹ß ȯ°æ¿¡¼­ ÀÏÇÏ´À³Ä, Å×½ºÆ® ÁÖµµ °³¹ßÀ» ÇÏ´À³Ä, Å×½ºÆ® ³ªÁß ÀÛ¼ºÀ» ÇÏ´À³Ä´Â Áß¿äÇÏÁö ¾Ê´Ù. ÀÌ Ã¥¿¡¼­ ³ª¿Â ÆÐÅϰú ³¿»õµéÀº ¸ðµç xUnit °è¿­¿¡ Àû¿ëÇÒ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó Â÷¼¼´ë µ¿ÀÛ ÁÖµµ °³¹ß(Behavior-Driven Development) ÇÁ·¹ÀÓ¿öÅ©ÀÎ RSpect, JBehave»Ó¸¸ ¾Æ´Ï¶ó ±â·Ï Å×½ºÆ® ÅøÀ̶óµçÁö, Fit³ª FitNesse °°Àº µ¥ÀÌÅÍ ÁÖµµ Å×½ºÆ®(Data-Driven Test) Åø¿¡¼­µµ Ȱ¿ëÇÒ ¼ö ÀÖ´Ù.

ÀÌ Ã¥ÀÇ ±¸¼º

3±ÇÀÇ Ã¥À» ÇÑ ±ÇÀ¸·Î ÇÕÃÄ ³õÀº µíÇÑ ¹æ´ëÇÑ ³»¿ëÀ¸·Î ±¸¼ºµÅÀÖ´Ù.
1ºÎ¿¡¼­´Â Å×½ºÆ® Àü·«¿¡¼­ºÎÅÍ ½ÇÁ¦ Å×½ºÆ® ÄÚµù±îÁö Å×½ºÆ® ÀÚµ¿È­¿¡ ´ëÇÑ ¸ðµç °ÍÀ» ÀÚ¼¼ÇÏ°Ô ¼³¸íÇÑ´Ù.
2ºÎ¿¡¼­´Â ÀÚÁÖ ¸¸³¯ ¼ö ÀÖ´Â 18°¡Áö 'Å×½ºÆ® ³¿»õ' ¸ñ·ÏÀ» º¸¿©ÁÖ°í, ¹®Á¦ÀÇ ±Ùº» ¿øÀΰú ±×¿¡ ¸Â´Â °¡Àå Àû´çÇÑ ÆÐÅÏÀ» ã´Â µ¥ µµ¿òÀ» ÁÖ´Â ÇØ°á ¹æ¾ÈÀ» Á¦°øÇÑ´Ù.
3ºÎ¿¡¼­´Â °¢ ÆÐÅÏÀ»
... Æî󺸱â

ÃßõÆò

junit.org¿¡ °¡º¸¸é Á¦°¡ ´ÙÀ½°ú °°ÀÌ ½á ³õÀº ±ÛÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. "¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ÀÖ¾î ÀÌó·³ ¸¹Àº »ç¶÷ÀÌ ÀÌ·¸°Ô ÀûÀº ÄÚµå·ÎºÎÅÍ ÀÌ·± Å« µµ¿òÀ» ¹ÞÀº ÀûÀº ¾ø¾ú´Ù." ¸¹Àº »ç¶÷ÀÌ JUnitÀ» ¶È¶ÈÇÑ ÇÁ·Î±×·¡¸Ó°¡ ÀÏÁÖÀÏÀÌ¸é ¸¸µé ¼ö ÀÖ´Â º° °Å ¾Æ´Ñ °ÍÀ̶ó°í ȤÆòÇØ¿Ô½À´Ï´Ù. ±×·± Æò°¡°¡ »ç½ÇÀÏÁö´Â ¸ô¶óµµ Çٽɿ¡´Â ¿ÏÀüÈ÷ ¹þ¾î³ª ÀÖ½À´Ï´Ù. JUnitÀÌ Áß¿äÇϰí óĥÀÇ ¿¬¼³("Àηù ºÐÀïÀÇ ¿µ¿ª¿¡ ÀÖ¾î ÀÌó·³ ¸¹Àº »ç¶÷ÀÌ ÀÌ·¸°Ô ÀûÀº »ç¶÷µé¿¡°Ô ÀÌ·± Å« µµ¿òÀ» ¹ÞÀº ÀûÀÌ ¾ø¾ú´Ù"¶ó´Â ¿¬¼³Àº óĥÀÌ ¿µ±¹ º»ÅäÇ×°øÀü ½Â¸® ÀÌÈÄ ¿Õ¸³°ø±º Á¶Á¾»çµéÀÇ ³ë°í¸¦ Ä¡ÇÏÇϸç ÇÑ ¸»ÀÓ - ¿Å±äÀÌ)À» ÆÐ·¯µðÇÒ ÀÚ°ÝÀÌ ÀÖ´Â ÀÌÀ¯´Â, ÀÌ·± ÀÛÀº µµ±¸ ´öºÐ¿¡ ¼ö¸¹Àº ÇÁ·Î±×·¡¸Ó¿¡°Ô Å×½ºÆÃÀÌ ÇÁ·Î±×·¡¹ÖÀÇ Áß½ÉÀÌÀÚ Àü¸éÀ¸·Î ¶°¿À¸¦ ¼ö ÀÖ´Â °è±â°¡ µÆ±â ¶§¹®ÀÔ´Ï´Ù. ÀÌÀü¿¡µµ À̸¦ ÁÖÀåÇØ ¿Â »ç¶÷µéÀÌ ÀÖ¾úÁö¸¸ ¹«¾ùº¸´Ùµµ JUnitÀÌ ÀÌ·± º¯È­¿¡ °¡Àå Å©°Ô ±â¿©Çß½À´Ï´Ù.

¹°·Ð xUnitÀº ´Ü¼øÇÑ JUnitÀÌ ¾Æ´Ñ ±× ÀÌ»óÀÇ °ÍÀÔ´Ï´Ù. JUnitÀº ¼ö¸¹Àº ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î Æ÷ÆÃµÆ½À´Ï´Ù. xUnit µµ±¸¶ó°í ºÒ¸®±âµµ ÇÏ´Â Àϰ¡Ä£Ã´ °°Àº µµ±¸µéÀº ÀÚ¹Ù¶ó´Â »Ñ¸®¸¦ ³Ñ¾î ¸Ö¸®¸Ö¸® ÆÛÁ®³ª°¬½À´Ï´Ù(»ç½Ç »Ñ¸®´Â ÀÚ¹Ù°¡ ¾Æ´Õ´Ï´Ù. JUnitº¸´Ù ¸î ³â Àü¿¡ ÄËÆ® º¤(Kent Beck)ÀÌ ½º¸ôÅäÅ©·Î ¸ÕÀú ¸¸µé¾ú½À´Ï´Ù).

xUnit Åø°ú öÇÐÀº ÇÁ·Î±×·¡¹Ö ÆÀÀÌ ÀûÀº ¸®½ºÅ©·Î Äڵ带 ´ë´ÜÀ§·Î ¼öÁ¤ÇÒ ¼ö ÀÖ°Ô µµ¿ÍÁÖ´Â °­·ÂÇÑ È¸±Í Å×½ºÆ® ½ºÀ§Æ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ°í, Å×½ºÆ® ÁÖµµ °³¹ß·Î ¼³°è °úÁ¤À» ´Ù½Ã »ý°¢Çغ¼ ¼ö ÀÖ´Â ±²ÀåÇÑ ±âȸ¸¦ Á¦°øÇÕ´Ï´Ù.

ÇÏÁö¸¸ ÀÌ·± ±âȸ¿Í ´õºÒ¾î »õ·Î¿î ¹®Á¦¿Í ±â¼úµµ »ý°å½À´Ï´Ù. ´Ù¸¥ µµ±¸Ã³·³ xUnitµµ ´É¼÷ÇÏ°Ô ¾²ÀÌ´Â °æ¿ìµµ ÀÖÁö¸¸ ¼­Åõ¸£°Ô ¾²À̱⵵ ÇÕ´Ï´Ù. ¶È¶ÈÇÑ »ç¶÷µéÀº xUnitÀ¸·Î Å×½ºÆ®¿Í µ¥ÀÌÅ͸¦ È¿°úÀûÀ¸·Î Á¶Á÷ÇÒ ¼ö ÀÖ´Â ¿©·¯ ¹æ¹ýÀ» ã¾Æ³Â½À´Ï´Ù. ÃÊâ±â °´Ã¼ÁöÇ⠽ô뿡¼­Ã³·³ xUnit µµ±¸¸¦ Àß »ç¿ëÇÒ ¼ö ÀÖ´Â Áö½Ä ´ëºÎºÐÀº ¼÷·ÃµÈ »ç¶÷µéÀÇ ¸Ó¸´¼Ó¿¡¸¸ ¼û¾î ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ¼û¾îÀÖ´Â Áö½Ä ¾øÀÌ´Â xUnitÀÇ ÇýÅÃÀ» 100% ¾òÁö ¸øÇÕ´Ï´Ù.

°´Ã¼ÁöÇâ ÂÊ »ç¶÷µéÀÌ °´Ã¼¿¡ ÀÌ·± ¹®Á¦°¡ ÀÖ´Ù´Â °É ±ú´Ý°í ÇØ´äÀ» ã±â ½ÃÀÛÇÑ °ÍÀÌ °ÅÀÇ 20³â ÀüÀÔ´Ï´Ù. ±× ÇØ´äÀº ¼û¾îÀÖ´Â Áö½ÄÀ» ÆÐÅÏ Çü½ÄÀ¸·Î ÀÛ¼ºÇÏ´Â °ÍÀ̾ú½À´Ï´Ù. Á¦¶óµå ¸Þ½ºÀڷνº(Gerard Meszaros)´Â ÀÌ·± ÀÏÀ» ÇÏ´Â ¼±±¸ÀÚ Áß ÇÑ ¸íÀ̾ú½À´Ï´Ù. Á¦°¡ óÀ½ ÆÐÅÏÀ» °øºÎÇÒ ¶§ Á¦¶óµå´Â Á¦°¡ ¹è¿ü´ø ¸®´õ Áß ÇÑ ¸íÀ̾ú½À´Ï´Ù. ÆÐÅÏ ¼¼°è¿¡ ÀÖ´Â ´Ù¸¥ ¿©·¯ »ç¶÷ó·³ Á¦¶óµå ¿ª½Ã ÀͽºÆ®¸² ÇÁ·Î±×·¡¹ÖÀ» ÃÊâ±â¿¡ µµÀÔÇß°í ´öºÐ¿¡ ÃÊâ±âºÎÅÍ xUnit µµ±¸·Î ÀÛ¾÷ÇØ¿Ô½À´Ï´Ù. ÀÌ·¯´Ï Á¦¶óµå°¡ ÀÌ·± Àü¹® Áö½ÄÀ» ÆÐÅÏ Çü½ÄÀ¸·Î ±â·ÏÇÏ´Â ÀÛ¾÷À» ¸Ã´Â °Ç ´ç¿¬ÇÕ´Ï´Ù.

Àú´Â óÀ½ ÀÌ ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ ¾ê±â¸¦ µè°í ±²ÀåÈ÷ µé¶¹½À´Ï´Ù(Àú´Â ÀÌ Ã¥À» ÀúÀÇ ¸¶Æ¾ ÆÄ¿ï·¯ ½Ã¸®Áî¿¡ Ãß°¡ÇÏ°í ½Í¾úÀ¸¹Ç·Î ¿Â°® ¼ö¸¦ ´Ù ½á¼­ ÀÌ Ã¥À» ¹ä ¸¶Æ¾(Bob Martin) ½Ã¸®Áî¿¡¼­ »©³»¿Ô½À´Ï´Ù). ´Ù¸¥ ÁÁÀº ÆÐÅÏ Ã¥°ú ¸¶Âù°¡Áö·Î ÀÌ Ã¥Àº »õ·Î¿î »ç¶÷µé¿¡°Ô ÀÌ ÂÊ ºÐ¾ß¿¡ ´ëÇÑ Áö½ÄÀ» Á¦°øÇÒ »Ó¸¸ ¾Æ´Ï¶ó °æÇè ¸¹Àº Àü¹®°¡°¡ ÀÚ½ÅÀÇ Áö½ÄÀ» µ¿·áµé¿¡°Ô Àü´ÞÇϱâ À§ÇÑ ¿ë¾î¿Í ±âÃʸ¦ Á¦°øÇÕ´Ï´Ù. À¯¸íÇÑ Gang of FourÀÇ Ã¥ÀÎ ¡ºµðÀÚÀÎ ÆÐÅÏ(Design Patterns)¡»Àº ¸¹Àº »ç¶÷¿¡°Ô °´Ã¼ÁöÇâ ¼³°èÀÇ ¼û¾îÀÖ´Â º¸¹°»óÀÚ¸¦ ¿­¾îÁá½À´Ï´Ù. ÀÌ Ã¥Àº xUnit¿¡ ÀÖ¾î ±×·± ¿ªÇÒÀ» ÇÒ °ÍÀÔ´Ï´Ù. - ¸¶Æ¾ ÆÄ¿ï·¯(ThoughtWorksÀÇ ¼ö¼® °úÇÐÀÚÀÌÀÚ ¸¶Æ¾ ÆÄ¿ï·¯ ½Ã¸®Áî ¿¡µðÅÍ)

ATOM2