|
1.¿ä¾à ÇÁ·Î±×·¥ÀÌ Á¡Á¡ Ä¿Áö°Ô µÇ¸é ¼ö¸¹Àº ÇÔ¼öµéÀÌ ÇÁ·Î±×·¥³»¿¡ Á¸ÀçÇÏ°Ô µË´Ï´Ù. ±×·±µ¥ ÇÁ·Î±×·¥À» óÀ½ ½ÃÀÛÇÒ¶§ ¸ðµç ÇÔ¼öµéÀ» Á¤ÀÇ ÇÒ ¼ö ¾ø°í ³ªÁß¿¡ ÇÔ¼öÀÇ ±â´ÉÀÌ ÇÊ¿ä¾ø°Ô µÇ¾î ÀÌ¹Ì ±¸ÇöÇÑ ÇÔ¼ö¸¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì°¡ Àֱ⠶§¹®¿¡ ½ÇÁ¦·Î ÇÁ·Î±×·¥À» ¸±¸®Áî ÇÒ¶§ »ç¿ëÇÏÁö ¾Ê´Â ÇÔ¼öµéÀÌ Á¸ÀçÇÏ°Ô µË´Ï´Ù. ±×·± °æ¿ì ÇÁ·Î±×·¥ÀÇ Àüü Function Coverage ¸¦ ±¸Çؼ ÇÁ·Î±×·¥À» Á»´õ °£¼ÒÈ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â ÃßÈÄ ¹ß»ýÇÒ ¼ö ÀÖ´Â ¿¡·¯¸¦ ¸·´Â ¹æ¹ýÀ̱⵵ ÇÏÁÒ. 2.º»¹® Coverage ´Â ¸» ±×´ë·Î Á¡À¯À²ÀÔ´Ï´Ù. ¹°·Ð ¿É¼Ç¿¡ ÇÔ¼ö¿Í ¶óÀÎÀ» ¼±ÅÃÇÒ ¼ö Àִµ¥, ¶óÀÎÀÇ Á¡À¯À²À» ±¸Çϴ°ÍÀº Àǹ̰¡ ¾ø±â ¶§¹®¿¡ ÇÔ¼öÀÇ Á¡À¯À²À» »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù. ½ÇÁ¦·Î ÇÁ·Î±×·¥ Á» ÇÑ´Ù´Â ¿Ü±¹ºÐµéÀº ÇÁ·Î±×·¡¸Ó°¡ ÀÚ½ÅÀÇ ÇÁ·Î±×·¥À» º£Å¸ Å×½ºÆ®ÇϱâÀü¿¡ ¹Ýµå½Ã Coverage Åø·Î Coverage °¡ ¾ó¸¶³ª ³ª¿À´ÂÁö¸¦ È®ÀÎÇÕ´Ï´Ù. Á¦°¡ ¾Ë±â·Î´Â Àû¾îµµ 90% ÀÌ»óÀÌ µÇ¾î¾ß Á¦´ë·Î µÈ ÇÁ·Î±×·¥À̶ó´Â °ÍÀ̶ó´Â ±º¿ä. Coverage ´Â ¾µµ¥¾ø´Â ÇÔ¼ö¸¦ ã´Â Àǹ̵µ ÀÖÁö¸¸, µð¹ö±ë¿¡µµ Å« È¿°ú¸¦ ÁÝ´Ï´Ù. ÇϳªÀÇ ¿¹¸¦ µé¾î º¸¸é, ÇÁ·Î±×·¥ÀÇ Àüü °úÁ¤ÀÌ 1ºÎÅÍ 10±îÁö ÀÖ´Ù°í ÇÒ¶§ ÇÁ·Î±×·¥ÀÇ ¹ö±×°¡ ¹ß»ýÇÑ °÷ÀÌ 5´Ü°è¿´´Ù°í °¡Á¤Çϱâ·Î ÇÏÁÒ. ±×·³ 6´Ü°è ºÎÅÍ 10´Ü°è±îÁö¿¡ ÇØ´çÇÏ´Â ÇÔ¼öµéÀÌ Coverage ToolÀÇ »ç¿ëµÇÁö ¾ÊÀº ÇÔ¼ö ¸ñ·Ï¿¡ º¸À̰ÚÁÒ. µû¶ó¼ ÇÁ·Î±×·¡¸Ó´Â µð¹ö±ë °úÁ¤±îÁö º¸ÀÎ ºñ»ç¿ë ÇÔ¼öµéÀº µð¹ö±ë °úÁ¤¿¡¼ °í·ÁÇÏÁö ¾Ê¾Æµµ µÈ´Ù´Â °á·ÐÀÌ ³ª¿É´Ï´Ù. ÇÊ¿ä¾ø´Â ÇÔ¼öµéÀ» Á¦°ÅÇÏ°í »ý°¢ÇÏ´Ï±î µð¹ö±ëÀÌ ´õ ½±°Ú³×¿ä. ±×·³ ´ÙÀ½ÀÇ ¿¹¸¦ µé¾î¼ Coverage °¡ ¾î¶»°Ô °è»êµÇ´ÂÁö È®ÀÎÇØ º¸µµ·ÏÇϰڽÀ´Ï´Ù. °è»ê¹æ¹ýÀº 'È£ÃâµÈ ÇÔ¼öÀÇ ¼ö/Àüü ÇÔ¼öÀÇ ¼ö'*100 ÀÔ´Ï´Ù. 3.¿¹Á¦
// ÀÌ ¼Ò½º´Â Coverage Tool À» ¼³¸íÇϱâ À§ÇÑ ¼Ò½ºÀÔ´Ï´Ù.
#include "stdafx.h"
// ¾Æ·¡ÀÇ ¼¼°¡Áö ÇÔ¼ö°¡ ÀÖ½À´Ï´Ù.
// ±×¸®°í ¹Ø¿¡ main ÇÔ¼ö°¡ Àֱ⠶§¹®¿¡
// Àüü ÇÔ¼öÀÇ ¼ö´Â 4°³ ÀÔ´Ï´Ù.
void A(void){printf("A °¡ È£ÃâµÇ¾ú½À´Ï´Ù.\n");}
void B(void){printf("B °¡ È£ÃâµÇ¾ú½À´Ï´Ù.\n");}
void C(void){printf("C °¡ È£ÃâµÇ¾ú½À´Ï´Ù.\n");}
int main(int argc, char* argv[])
{
A(); // A ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.
B(); // B ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.
A(); // A ÇÔ¼ö¸¦ ´Ù½ÃÇѹø È£ÃâÇÕ´Ï´Ù.
return 0;
}
// À§ÀÇ ÇÁ·Î±×·¥À» Coverage ´Â °ú¿¬ ¾ó¸¶Àϱî¿ä?
// ¿ì¼± Àüü ÇÔ¼öÀÇ °³¼ö°¡ 4 °³ À̸ç,
// A°¡ µÎ¹ø B°¡ Çѹø ±×¸®°í main ÀÌ Çѹø È£ÃâµÇ¾ú½À´Ï´Ù.
// ±×·³ (2+1+1)/4*100 ==> 100% Àϱî¿ä?
// ³×.. ¾Æ´Õ´Ï´Ù. Coverage ´Â ÇÔ¼ö°¡ È£ÃâµÈÀûÀÌ ÀÖ´À³Ä
// ¾ø´À³Ä¸¦ °è»êÇϱ⠶§¹®¿¡ À§ ÇÁ·Î±×·¥ÀÇ Coverage ´Â
// (1+1+1)/4*100 ==> 75% °¡ µÇ°Ú½À´Ï´Ù.
// µû¶ó¼ À§ÀÇ ÇÁ·Î±×·¥Àº 90%°¡ ¾ÈµÇ±â ¶§¹®¿¡
// Á¦´ë·Î ±¸¼ºµÈ ÇÁ·Î±×·¥ÀÌ ¾Æ´Ï¶ó´Â ÀǽÉÀ» ÇØº¼ ¼ö ÀÖÁÒ.
// µû¶ó¼ C¸¦ Á¦°ÅÇÏ¿© Coverage ¸¦ ±¸Çϸé
// 100%°¡ ³ª¿À°Ú½À´Ï´ç.. :)
// ÀÌ·± °è»ê°úÁ¤Àº ÇÁ·Î±×·¡¸Ó°¡ ÀÏÀÏÀÌ Debug ¸¦ ÅëÇØ¼
// ÇÔ¼ö°¡ È£ÃâµÇ¾ú´ÂÁö ±×·¸Áö ¾ÊÀºÁö¸¦ Ã¼Å©ÇØ¼
// Coverage ¸¦ ±¸ÇÏ¸é µÇÁö¸¸ ±×°Ç ³Ê¹« ½Ã°£³¶ºñ´Ï±î,
// TrueCoverage ³ª PureCoverage ¿Í °°Àº ÅøÀ» »ç¿ëÇϽøé ÁÁ°Ú³×¿ä.
- 2001.08.13 Smile Seo - |