|
|
 |
C, C++ ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃ ÀÚµ¿È µµ±¸
C/C++ ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃ ÀÚµ¿È µµ±¸(Automated White-box Path Testing Tool)´Â Å×½ºÆ® ÄÉÀ̽ºÀÎ ½ÇÇà °æ·Î(Feasible Path)ÀÇ Å×½ºÆ® »ý¼ºÀ» ÀÚµ¿ ÃßÃâÇÏ¿©, ½ÇÁ¦ °³¹ß ȯ°æ°ú µ¿ÀÏÇÑ Å×½ºÆ® ºôµå ȯ°æÀÎ ºò¹ð ±â¹ýÀ» ÅëÇÑ ¼ÒÇÁÆ®¿þ¾î Å×½ºÆ®¸¦ ÀÚµ¿ÈÇÔÀ¸·Î½á Å×½ºÆ® ½Ã°£°ú ³ë·ÂÀÇ ºñ¿ëÀ» ȹ±âÀûÀ¸·Î Àý°¨ÇÔ°ú ´õºÒ¾î ÀÓº£µðµå ¼ÒÇÁÆ®¿þ¾îÀÇ ½Å·Ú¼ºÀ» ºü¸£°í ½±°Ô È®º¸ÇÒ ¼ö ÀÖ´Â ´ÜÀ§/ÅëÇÕ Å×½ºÆÃ ÀÚµ¿È µµ±¸ÀÌ´Ù.
¶ÇÇÑ, ±â´É Å×½ºÆ® ¶Ç´Â °æ°è °ª Å×½ºÆ®¿Í °°Àº ºí·¢¹Ú½º Å×½ºÆÃ(Black-box Testing)¿¡¼ ¹ß°ßÇÒ ¼ö ¾ø´Â °áÇÔ ¹× ¹ö±×¸¦ ½ÇÇà Àü/ÈÄÀÇ °æ·Î °ËÁõÀ¸·Î ½Äº°ÇÕ´Ï´Ù.
¶ÇÇÑ, Å×½ºÆ® µµ¸ÞÀÎ ºÐ¼®À» À§ÇØ File Graph, Call Graph, Control Flow Graph, Data Flow Graph, Global Variable Reference Graph µîÀÇ ¿ª°øÇÐ ±×·¡ÇÁ¸¦ Á¦°øÇÕ´Ï´Ù.
|
 |
ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃÀÇ ÁÖ¿ä ±â´É
ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃ ÀÚµ¿È(Automated White-box Path Testing)
-°³¹ß ȯ°æ°ú µ¿ÀÏÇÑ Å×½ºÆ® ºôµå ȯ°æÀÎ ºò¹ð ±â¹ýÀ» ÅëÇÑ °æ·Î Å×½ºÆ® ÀÚµ¿È
-È£½ºÆ®(Host) ¶Ç´Â ÀÓº£µðµå Ÿ°Ù Å×½ºÆÃ(Embedded Target Testing)
-ȸ±Í Å×½ºÆ®(Regression Test) ¹× °áÇÔ ÁÖÀÔ Å×½ºÆ®(Fault Injection Test) ÅëÇÕ Áö¿ø
Å×½ºÆ® »ý¼º(Test Generation) ÀÚµ¿ »ý¼º/ÃßÃâ
-Å×½ºÆ® ÄÉÀ̽ºÀÎ ½ÇÇà °æ·Î (Feasible Path) ÀÚµ¿ »ý¼º
-°¢ ½ÇÇà °æ·ÎÀÇ Å×½ºÆ® »ý¼º(Test Domain, Input Value) ÀÚµ¿ ÃßÃâ
Å×½ºÆ® µµ¸ÞÀÎ ºÐ¼®
-³í¸® È帧 ºÐ¼®: Boolean Table, Call Graph, Control/Data Flow Graph
-Àü¿ª º¯¼ö ºÐ¼®: Global Variable Reference Graph
-ÄÚµå º¹Àâµµ ºÐ¼®: Cyclomatic Complexity, Structuring(Call) Level
ºò¹ð(big-bang) ±â¹Ý ¸ðµç C/C++ ÄÄÆÄÀÏ·¯ Á¦Ç°±º Áö¿ø
-ARM, Borland, Cosmic, GNU, Green Hills, Intel, IAR, Keil, Microsoft, QNX, Wind River µî
¾ÈÀü¼º Ç¥ÁØÀÇ ÄÚµå Ä¿¹ö¸®Áö À¯Çü Áö¿ø
-ISO 26262(Automotive), DO 178(Aerospace), IEC 61508(Industrial), EN 50128(Railway), IEC 62304(Medical), ¹æÀ§»ç¾÷û µî
ÄÚµå Ä¿¹ö¸®Áö ºÐ¼® ¹× MBD(Model-Based Design) ±â¹Ý °æ·Î °ËÁõ
ÄÚµå Ä¿¹ö¸®Áö ºÐ¼®
-´ÜÀ§ Ä¿¹ö¸®Áö: Statement, Branch, MC/DC, Path Coverage
-ÅëÇÕ Ä¿¹ö¸®Áö: Function, Call Coverage
-¿ä±¸»çÇ× Ä¿¹ö¸®Áö: Traceability(Forward), Consistency Coverage
È®ÀåµÈ Control Flow Graph(CFG)ÀÇ MBD ±â¹Ý Å×½ºÆ® ½ÇÇà Àü/ÈÄÀÇ °æ·Î °ËÁõ
-Statement/Branch(¹®Àå/ºÐ±â), MC/DC(Á¶°Ç/°áÁ¤)ÀÇ °æ·Î Å×½ºÆ® ½ÇÇà Àü/ÈÄÀÇ ºñ±³·Î "Program Logic"¿¡ ´ëÇÑ Pass/Fail °ËÁõ
-È®ÀåµÈ Control Flow GraphÀÇ Model-Based Design(MBD)±â¹Ý Å×½ºÆ® ½ÇÇà Àü/ÈÄÀÇ °æ·Î °ËÁõ
-¼Ò½º ÄÚµå »ó¿¡¼ ½ÇÇàµÈ Ä¿¹ö¸®ÁöÀÇ À¯Çü ¹× ¿µ¿ª ½Äº°: Statement, Branch, MC/DC
ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃÀÇ ÀÚµ¿È È¿°ú
ÇÁ·Î±×·¥ÀÇ ³»ºÎ ±¸Á¶(·ÎÁ÷)¿¡ ÃÊÁ¡À» µÐ HowÀÇ °üÁ¡À¸·Î °æ·Î Å×½ºÆÃ
¼öÀÛ¾÷ ºí·¢¹Ú½º Å×½ºÆ®º¸´Ù ¾à 100¹è ÀÌ»ó ¼ÒÇÁÆ®¿þ¾î Å×½ºÆ® ½Ã°£ ´ÜÃà
-Test Generation: Manual(Suppose one test case takes 10 minutes to complete the full testing) vs. Automation
¼ÒÇÁÆ®¿þ¾î Á¦Ç° Ãâ½Ã ½Ã°£ ´ÜÃà
ÁÖ¿ä °í°´
ÀÚµ¿Â÷ÀÇ ISO 26262 ±¸Á¶Àû Ä¿¹ö¸®Áö ÃøÁ¤ µµ±¸
¹æ»êÀÇ µ¿Àû ½ÃÇè µµ±¸
|
|
|
|
|