|
|
 |
C, C++, C# °æ·Î Å×½ºÆÃ/GUI Å×½ºÆÃ ÀÚµ¿È µµ±¸
C/C++/C# ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃ ÀÚµ¿È µµ±¸(Automated White-box Path Testing Tool)´Â Å×½ºÆ® ÄÉÀ̽ºÀÎ ½ÇÇà °æ·Î(Feasible Path)ÀÇ Å×½ºÆ® »ý¼ºÀ» ÀÚµ¿ ÃßÃâÇÏ¿©, ÄÄÆÄÀÏ·¯ ºôµå °úÁ¤ ¾øÀÌ ½ÇÁ¦ °³¹ß ȯ°æ°ú µ¿ÀÏÇÑ ºò¹ð ±â¹ýÀ¸·Î ¼ÒÇÁÆ®¿þ¾î Å×½ºÆ®ÀÇ ÀÚµ¿È¸¦ Áö¿øÇÕ´Ï´Ù.
¶ÇÇÑ, ±â´É Å×½ºÆ® ¶Ç´Â °æ°è °ª Å×½ºÆ®¿Í °°Àº ºí·¢¹Ú½º Å×½ºÆÃ(Black-box Testing)¿¡¼ ¹ß°ßÇÒ ¼ö ¾ø´Â °áÇÔ ¹× ¹ö±×¸¦ ½ÇÇà Àü/ÈÄÀÇ °æ·Î °ËÁõÀ¸·Î ½Äº°ÇÕ´Ï´Ù.
°æ·Î Å×½ºÆÃ ÀÚµ¿È µµ±¸´Â ÄÚµå ±â¹ÝÀ¸·Î ´ÜÀ§ Å×½ºÆ®ºÎÅÍ ½Ã½ºÅÛ Å×½ºÆ®±îÁö ÅëÇÕ Á¦°øÇÕ´Ï´Ù.
(1) ´ÜÀ§/ÅëÇÕ Å×½ºÆ®: Requirement-Based Path Test, Path-based Fault Injection Test
(2) ½Ã½ºÅÛ Å×½ºÆ®: GUI-Based Coverage Test
|
 |
ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃÀÇ ÁÖ¿ä ±â´É
ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃ ÀÚµ¿È(Automated White-box Path Testing)
-ÇÁ·Î±×·¥ÀÇ ³»ºÎ ±¸Á¶¿¡ ÃÊÁ¡À» µÐ howÀÇ °üÁ¡À¸·Î ½ÇÇà °æ·Î Å×½ºÆ®(Feasible Path Test)
-°³¹ß ȯ°æ°ú µ¿ÀÏÇÑ Å×½ºÆ® ºôµå ȯ°æÀÎ ºò¹ð ±â¹ýÀ» ÅëÇÑ °æ·Î Å×½ºÆ® ÀÚµ¿È
-È£½ºÆ®(Host) ¶Ç´Â ÀÓº£µðµå Ÿ°Ù Å×½ºÆÃ(Embedded Target Testing)
-ȸ±Í Å×½ºÆ®(Regression Test) ¹× °áÇÔ ÁÖÀÔ Å×½ºÆ®(Fault Injection Test) ÅëÇÕ Áö¿ø
°æ·Î Å×½ºÆ® ÄÉÀ̽º(Path Test Case) ¹× °æ·Î ÀνºÆ®·ç¸àÅ×À̼Ç(Path Instrumentation) ¼³°è
-°¢ ÇÔ¼öº° Å×½ºÆ® ÄÉÀ̽ºÀÎ ½ÇÇà °æ·Î (Feasible Path) ÀÚµ¿ »ý¼º (max<= Á¶°Ç¹®)
-°¢ ½ÇÇà °æ·ÎÀÇ °æ·Î µµ¸ÞÀÎ(Path Domain)°ú Å×½ºÆ® µ¥ÀÌÅÍ(Input Value) ÀÚµ¿ ÃßÃâ
-Å×½ºÆ® ½ÇÇàÀº Call Graph DomainÀ¸·Î Å×½ºÆ® ÇÁ·Î±×·¥ ½ÇÇà (higher coverage)
ºò¹ð(big-bang) ±â¹Ý ¸ðµç C/C++ ÄÄÆÄÀÏ·¯ Á¦Ç°±º Áö¿ø
-ARM, Borland, Cosmic, GNU, Green Hills, Intel, IAR, Keil, Microsoft, QNX, Wind River µî
±¹³»¿Ü ¼ÒÇÁÆ®¿þ¾î Å×½ºÆ® ¿ä±¸»çÇ× Áö¿ø
-(¹æ»çû ¹«±âü°è SW µ¿Àû½ÃÇè) ÄÚµå ½ÇÇà·ü
-ISO 26262(Automotive), DO 178(Aerospace), IEC 61508(Industrial), EN 50128(Railway), IEC 62304(Medical) µî
Å×½ºÆ® µµ¸ÞÀÎ ºÐ¼®
-³í¸® È帧 ºÐ¼®: Boolean Table, Call Graph, Control/Data Flow Graph
-Àü¿ª º¯¼ö ºÐ¼®: Global Variable Reference Graph
-ÄÚµå º¹Àâµµ ºÐ¼®: Cyclomatic Complexity, Structuring(Call) Level
GUI ±â¹Ý Ä¿¹ö¸®Áö Å×½ºÆÃÀÇ ÁÖ¿ä ±â´É
¼Ò½ºÄÚµå ±â¹Ý GUI ¼ÒÇÁÆ®¿þ¾î Å×½ºÆÃ ÀÚµ¿È(GUI-based Coverage Testing)
-Windows, Web, Mobile ¼ÒÇÁÆ®¿þ¾îÀÇ GUI »ó¿¡¼ Record & Play·Î °¢ Client/Server ApplicationÀÇ ½Ç½Ã°£ ÄÚµå Ä¿¹ö¸®Áö °ËÁõ/È®ÀÎ
-GUI ±â¹Ý ÀÓº£µðµå SW ½ÇÇàȯ°æ¿¡¼ °¢ Client/Server ½Ã½ºÅÛÀÇ System Testing ¼öÇà
-°í°´¼ºñ½º ȯ°æÀÎ GUI ¼ºñ½º ½ÇÇàȯ°æ¿¡¼ °¢ Client/Server½Ã½ºÅÛÀÇ System Testing¼öÇà
±â´ÉÀû ¹× ºñ±â´ÉÀû ½Ã½ºÅÛ ¿ä±¸»çÇ× °ËÁõ/È®ÀÎ
-½Ã½ºÅÛ ¿ä±¸»çÇ× °ËÁõ/È®ÀÎ: GUI ÀԷ¿¡ µû¸¥ ¿Ã¹Ù¸¥ ÇÁ·Î±×·¥ ·ÎÁ÷ÀÇ ±â´É È®ÀÎ
-»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º °ËÁõ/È®ÀÎ: GUI ÀԷ¿¡ µû¸¥ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º(UI) µ¿ÀÛ È®ÀÎ
-½Ã½ºÅÛ ÀÎÅÍÆäÀ̽º °ËÁõ/È®ÀÎ: GUI ÀԷ¿¡ µû¸¥ ½Ã½ºÅÛ ÀÎÅÍÆäÀ̽º µ¿ÀÛ È®ÀÎ
-½Ã½ºÅÛ ¼öÇà ½Ã°£ È®ÀÎ: GUI ÀԷ¿¡ µû¸¥ ½Ã½ºÅÛ Ã³¸® ¼º´É È®ÀÎ
±â´ÉÀû ¹× ºñ±â´ÉÀû ½Ã½ºÅÛ ½Ã³ª¸®¿À È®ÀÎ
-±â´ÉÀû ½Ã³ª¸®¿À: Functionality, Visual Design, Security, Compatibility, Compliance
-ºñ±â´ÉÀû ½Ã³ª¸®¿À: Performance
ÄÚµå Ä¿¹ö¸®Áö ºÐ¼® ¹× 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" °ËÁõ
-È®ÀåµÈ Control Flow GraphÀÇ Model-Based Design(MBD)±â¹Ý "Program Bug"ÀÇ ÄÚµå À§Ä¡/°æ·Î ½Äº°
ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃÀÇ ÀÚµ¿È È¿°ú
Å×½ºÆ® µ¥ÀÌÅÍ ÀÚµ¿ ÃßÃâ·Î ºü¸£°Ô ÄÚµå Ä¿¹ö¸®Áö ´Þ¼º
¼öÀÛ¾÷ ºí·¢¹Ú½º Å×½ºÆ®º¸´Ù ¾à 100¹è ÀÌ»ó ¼ÒÇÁÆ®¿þ¾î Å×½ºÆ® ½Ã°£ ´ÜÃà
-Test Generation: Manual(Suppose one test case takes 10 minutes to complete the full testing) vs. Automation
¼ÒÇÁÆ®¿þ¾î Å×½ºÆÃÀÇ ÀÚµ¿È·Î ³ë·Â, ½Ã°£, ºñ¿ë Àý°¨
ÁÖ¿ä °í°´
ÀÚµ¿Â÷ÀÇ ISO 26262 & HKMC ES95411ÀÇ ÀÓº£µðµå ¼ÒÇÁÆ®¿þ¾î Å×½ºÆÃ µµ±¸
¹«±âü°è ¼ÒÇÁÆ®¿þ¾î µ¿Àû ½ÃÇè µµ±¸
±¹Ã¥¿¬±¸°úÁ¦
|
|
|
|
|