TDD - Test Driven Development
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

TDD

Test-driven development´Â ¼ÒÇÁÆ®¿þ¾î °³¹ß °øÁ¤À¸·Î ¸Å¿ì ºü¸¥ °³¹ß »çÀÌŬÀ» ¹Ýº¹ÀûÀ¸·Î ÁøÇàÇÏ´Â °ÍÀ» Ư¡À¸·Î ÇÕ´Ï´Ù.

°³¹ßÀÚ´Â »õ·Î¿î Äڵ带 ¸¸µé°Å³ª ȤÀº (±â´É Çâ»óÀ» À§ÇÑ)ÄÚµå ¼öÁ¤ÀÌ ÀÖÀ» ¶§, ¸ÕÀú Å×½ºÆ® ÄÉÀ̽º¸¦ ÀÛ¼ºÇÑ´Ù. ÀÌ Å×½ºÆ® ÄÉÀ̽º´Â ÀÚµ¿È­µÈ Å×½ºÆ® µµ±¸¿¡ ÀÇÇØ¼­ ¸Å °³¹ß »çÀÌŬ ¸¶´Ù ¼öÇàÇÕ´Ï´Ù. ¸ðµç ÄÉÀ̽º¿¡ ´ëÇÑ Å×½ºÆ®°¡ ³¡³µ´Ù¸é, ±×¶§ ÀÌ Äڵ带 Àû¿ëÇÏ°í »çÀÌŬÀ» ³¡³»°Ô µÇ´Â °ÅÁÒ.

TDD´Â Test-drivenÀ̸§¿¡¼­ ¾Ë ¼ö ÀÖµíÀÌ, Å×½ºÆ®°¡ ÁÖµµ°¡ µË´Ï´Ù. Å×½ºÆ® ÀÚü°¡ TDD¸¦ ÀǹÌÇÏ´Â°Ô ¾Æ´Õ´Ï´Ù. ¿¹¸¦ µé¾î Äڵ带 ´Ù ¸¸µç ´ÙÀ½¿¡ Å×½ºÆ® ÄÉÀ̽º¸¦ ¸¸µé¾î¼­ Å×½ºÆ® ÇÏ´Â °ÍÀº TDD°¡ ¾Æ´Õ´Ï´Ù. ±×³É Å×½ºÆ®ÀÏ »ÓÀÌÁÒ. TDD´Â Å×½ºÆ® Äڵ带 ¸ÕÀú ¸¸µé°í, ¿ÏÀüÈ÷ Å×½ºÆ®¸¦ ³¡³½ ÈÄ À̰ÍÀ» Àû¿ëÇÕ´Ï´Ù.

TDD¸¦ »ý¼ÒÇÏ°Ô ¹Þ¾ÆµéÀÌ´Â °³¹ßÀÚµµ ÀÖ°ÚÁö¸¸, ±âÁ¸¿¡ ÀÌ¹Ì ±×·¸°Ô ÇØ¿Ô´Âµ¥. º°°Å ÀÖ³ª ?»ý°¢ÇÏ´Â °³¹ßÀÚµµ ÀÖÀ» °Í °°Àºµ¥¿ä. ¸¹Àº °³¹ßÀÚÀÌ ±â´ÉÀ» ±¸ÇöÇϱâ Àü¿¡, Å×½ºÆ® Äڵ带 ¸ÕÀú ¸¸µé¾î¼­ µ¹·Áº» ´ÙÀ½ ¹®Á¦ ¾øÀÌ µ¹¾Æ°¡¸é ±×¶§ Äڵ忡 Àû¿ëÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇϱ⠶§¹®ÀÔ´Ï´Ù. Àúµµ ±×·¡¿Ô±¸¿ä.

TDD¸¦ Àû¿ëÇϱâ ÀüÀÇ ¹æ½Ä, ±×·¯´Ï±î ¸ÕÀú Å×½ºÆ® Äڵ带 ¸¸µé¾î¼­ Å×½ºÆ®ÇÏ°í ½ÇÁ¦ ÇÁ·Î±×·¥¿¡ Àû¿ëÇÏ´Â ¹æ½ÄÀ» »ý°¢ÇØ º¸ÁÒ. ºÐ¸í Å×½ºÆ®°¡ ÁÖµµÇϱä ÇÏÁö¸¸ ´ÙÀ½°ú °°Àº ÇѰ谡 ÀÖ½À´Ï´Ù.
  1. º¸Åë óÀ½ Çѹø Å×½ºÆ®ÇÏ°í ³¡³À´Ï´Ù.
    ±¸ÇöÇϰíÀÚ ÇÏ´Â ±â´ÉÀÇ ÄÁ¼ÁÀ» Å×½ºÆ®ÇÏ´Â ¼öÁØ¿¡¼­ ÁøÇàµÇÁÒ. Áö¼ÓÀûÀ¸·Î Å×½ºÆ®°¡ ÀÌ·ç¾îÁöÁö´Â ¾ÊÁÒ. Å×½ºÆ® ÄÉÀ̽º¸¦ ÀÚµ¿È­ ÇÏ´Â °æ¿ì°¡ °ÅÀÇ ¾ø±â ¶§¹®Àä. ±×·¡¼­ ´Ù¸¥ ±â´ÉÀÌ Ãß°¡µÉ ¼ö·Ï, Á¡Á¡ ´õ ºÒ¾ÈÇÑ Äڵ尡 µÉ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. ¸ðµâÀÌ »óÈ£ÀÛ¿ëÇϸ鼭 »õ·Î¿î ¹®Á¦¸¦ ¸¸µé±â ¶§¹®ÀÌÁÒ. ÄÚµùÁß¿¡ ½Ç¼ö¸¦ ÇÒ ¼ö µµ ÀÖ°í¿ä.
  2. ÇÁ·Î±×·¥ÀÇ È帧À» Å×½ºÆ®ÇÏÁö´Â ¾Ê½À´Ï´Ù.
    ÇÔ¼ö´ÜÀ§·Î Å×½ºÆ®¸¦ ÁøÇàÇÏ´Â°Ô ´ëºÎºÐÀÌÁÒ. ÇÁ·Î±×·¥Àº ¿©·¯ °³ÀÇ ÇÔ¼öµéÀÌ »óÈ£ÀÛ¿ëÇϴµ¥, ÀϹÝÀûÀ¸·Î ±× °Í ±îÁö Å×½ºÆ®ÇÏÁö´Â ¾Ê½À´Ï´Ù. Á» ²Ä²ÄÇÑ °³¹ßÀÚ´Â È帧µµ Å×½ºÆ®Çϱä ÇÏÁö¸¸ Á¦ÇÑÀûÀÌÁÒ. ÅøÀ» °¡Áö°í ÀÖÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.
  3. Å×½ºÆ® ¹üÀ§°¡ ¸íÈ®ÇÏÁö ¾Ê½À´Ï´Ù.

TDD´Â À̰ÍÀ» ü°èÀûÀÎ °úÁ¤À¸·Î Á¤¸³ÇѰÅÁÒ. ±×·¡¼­ °³¹ß ¹æ¹ýÀ» Á¤ÀÇÇϰí, ÅøµéÀ» Á¦°øÇؼ­ ÀÌ °³¹ß ¹æ¹ýÀ» Àß µû¸¦ ¼ö ÀÖµµ·Ï ü°èÈ­ Çß½À´Ï´Ù.

°³¹ß »çÀÌŬ

TDDÀÇ ¿øÄ¢Àº ´ÙÀ½°ú °°½À´Ï´Ù.
  1. ¸ðµç ÄÚµå´Â Å×½ºÆ® µÅ¾ß ÇÑ´Ù.
  2. ¸ðµç ÄÚµå´Â ¸ðµç »çÀÌŬ¿¡¼­ Å×½ºÆ® µÅ¾ß ÇÑ´Ù.

Áß¿äÇÑ °ÍÀº µÎ¹øÂ° ¿øÄ¢ÀÔ´Ï´Ù. ù¹øÂ° ¿øÄ¢Àº ¾Õ¼­ ¾ð±ÞÇßµíÀÌ, TDD Àü¿¡µµ °³¹ßÀÚ ³ª¸§´ë·Î Å×½ºÅ© Äڵ带 ¸¸µå´Â ½ÄÀ¸·Î Àû¿ë ÇØ ¿Ô½À´Ï´Ù. µÎ¹øÂ° ¿øÄ¢À» ÁöŰ±â°¡ ¾î·Á¿ü´Âµ¥¿ä. ¸ðµç °³¹ß »çÀÌŬ¿¡¼­ Å×½ºÆ®°¡ µÅÁö ¾ÊÀ¸¸é ¾Æ¹«·¡µµ Å×½ºÆ®ÀÇ ½Å·Ú¼ºÀÌ ¶³¾îÁú ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. Äڵ尡 Ä¿Áú ¼ö·Ï ÄÚµåµéÀÌ ¼­·Î ¿µÇâÀ» Áֱ⠶§¹®ÀÔ´Ï´Ù.

TDD´Â °³¹ß »çÀÌŬÀ» ª°Ô ÇÏ´Â °ÍÀ¸·Î ÀÌ ¹®Á¦¸¦ ÇØ°áÇϰí ÀÖ½À´Ï´Ù. ¹°·Ð °¢ °³¹ß »çÀÌŬ¸¶´Ù Å×½ºÆ®°¡ ÁøÇàÀÌ µÇ¾ß ÇÕ´Ï´Ù. »õ·Î Ãß°¡µÈ Å×½ºÆ® ÄÉÀ̽º »Ó¸¸ ¾Æ´Ï¶ó, ÀÌÀü¿¡ ÁøÇàµÆ´ø Å×½ºÆ® ÄÉÀ̽º¿¡ ´ëÇÑ Å×½ºÆ®µµ Áߺ¹ ÁøÇàµË´Ï´Ù. Äڵ尡 Áõ°¡ÇÔ¿¡ µû¶ó ¹®Á¦°¡ È®»êµÇ°Å³ª, ±âÁ¸ Äڵ忡¼­ »õ·Î¿î ¹®Á¦°¡ ¹ß»ýÇϰųª ÇÏ´Â µîÀÇ ¹®Á¦¸¦ ¸·À» ¼ö°¡ ÀÖÁÒ.

TDDÀÇ °³¹ß »çÀÌŬÀº ´ÙÀ½°ú °°½À´Ï´Ù.

http://upload.wikimedia.org/wikipedia/en/9/9c/Test-driven_development.PNG
  1. Å×½ºÆ® ÄÉÀ̽º º°·Î, Å×½ºÆ® ÄÚµå ÀÛ¼º
  2. ¸ðµç Å×½ºÆ® ÄÉÀ̽º¸¦ Åë°úÇÒ ¶§±îÁö °è¼Ó Å×½ºÆ®
  3. Å×½ºÆ®°¡ ³¡³ª¸é Äڵ带 Á¦Ç°¿¡ Ãß°¡ÇÑ´Ù.
  4. ´Ù½Ã Å×½ºÆ®¸¦ ÁøÇà. ¾ðÁ¦±îÁö ? ¸ðµÎ ¼º°øÇÒ ¶§±îÁö.
  5. Å×½ºÆ®¸¦ Åë°ú Çß´Ù¸é, Äڵ带 ´Ùµë¾î¼­ ºôµå¿¡ Àû¿ëÇÏ´Â °ÍÀ¸·Î »çÀÌŬ Á¾·á
À§ ´Ü°è¸¦ °è¼Ó ¹Ýº¹ÇÕ´Ï´Ù.

À§ °úÁ¤À» ¹Ýº¹Çϸ鼭, ÄÚµå´Â °¢ »çÀÌŬ ¸¶´Ù ¸®ÆåÅ丵 µÇ±â ¶§¹®¿¡ ǰÁú ¿ª½Ã µû¶ó¼­ ³ô¾ÆÁý´Ï´Ù.

°³¹ß ¹æ¹ý

TDD´Â °³¹ßÁöħÀ̹ǷΠ°³¹ßÀÚÀÇ ¼ºÇâÀ̳ª ¼öÁØ¿¡ µû¶ó¼­ ´Ù¾çÇÑ ¹æ¹ýµéÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù¸¸, ´ÙÀ½ÀÇ ¿øÄ¢µéÀ» ¹ÙÅÁÀ¸·Î ¹æ¹ýÀ» Â¥¾ß ÇÕ´Ï´Ù.

¸ÕÀú Å×½ºÆ® Äڵ带 ¸¸µé¾î¶ó
¾î¶² ±â´ÉÀ» Ãß°¡ÇØ¾ß ÇÑ´Ù¸é, ¹Ýµå½Ã Å×½ºÆ® Äڵ带 ¸ÕÀú ¸¸µé¾î¼­ Å×½ºÆ®¸¦ ÇÕ´Ï´Ù. À̶§ ÄÚµå´Â »ý°¢ÇÒ ¼ö ÀÖ´Â ¸ðµç Å×½ºÆ®¸¦ Åë°úÇÒ ¼ö ÀÖµµ·Ï Â¥¾ß ÇÕ´Ï´Ù.


½ÇÆÐÇÒ ¼ö ÀÖ´Â ¸ðµç °æ¿ì¿¡ ´ëÇØ¼­ Å×½ºÆ®Ç϶ó
TDD¿¡¼­ Áß¿äÇÑ °ÍÀº °¡´ÉÇÑ ½ÇÆÐÇÒ ¼ö ÀÖ´Â °æ¿ì¿¡ ´ëÇØ¼­ Å×½ºÆ® ÇÏ´Â °Ì´Ï´Ù. ¼º°øÇÏ´Â °æ¿ì´Â ¹¹ ±×¸® Áß¿äÇÒ°Ô ¾øÁö¿ä. Àß ÀÛµ¿ÇÒ Å״ϱî¿ä. TDD´Â ÇÁ·Î±×·¥ÀÇ ¿Ï¼ºµµ¸¦ ³ôÀÌ´Â °ÍÀÌÁö, Á¤»óÀûÀÎ µ¥ÀÌÅÍ ÀԷ¿¡ ´ëÇØ¼­ Á¤»óÀûÀ¸·Î ÀÛµ¿ÇÏ´Â °É È®ÀÎÇϱâ À§ÇÑ °Ô ¾Æ´Ï´Ï±î¿ä.
  • NULL À϶§,
  • ¹®ÀÚ¿­ÀÇ ³¡À» ¸¸³ªÁö ¸øÇßÀ» ¶§,
  • ¹®ÀÚ¸¦ ãÁö ¸øÇßÀ» ¶§, ã¾ÒÀ» ¶§
  • ¹öÆÛÅ©±â¸¦ ÃʰúÇßÀ» ¶§
  • À½¼öÀ϶§, 0ÀÏ ¶§, ¾ç¼öÀÏ ¶§
  • ¿¹»ó ÃÖ´ë Å©±â¸¦ ÃʰúÇßÀ» ¶§, ¿¹»ó ÃÖ¼Ò Å©±â ¹Ì¸¸ÀÇ °ªÀÌ µé¾î¿Ã ¶§
  • ½ÇÆÐÇßÀ» ¶§, ¼º°øÇßÀ» ¶§

Âü°í ¹®¼­µé

±Û¾´ ³¯ : 2011³â 6¿ù 16ÀÏ
±Û¾´ »ç¶÷ : À± »ó¹è
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.