|
|
|
 |
White-box Path & GUI Testing: C/C++/C#
ÀÚµ¿È ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃ(Automated White-box Path Testing)´Â ÇÁ·Î±×·¥ÀÇ ³»ºÎ ·ÎÁ÷¿¡ ´ëÇÑ Á¤È®ÇÑ µ¥ÀÌÅÍ È帧 ºÐ¼®(data-flow analysis)À» ÅëÇØ ÀÚµ¿ »ý¼ºµÈ ½ÇÇà °æ·Î¿Í Å×½ºÆ® ÄÉÀ̽º¸¦ »ç¿ëÇÏ¿© ¸ðµç ÄÚµå ±¸¹®ÀÇ ÄÚµå Ä¿¹ö¸®Áö¸¦ ÃøÁ¤ÇÑ´Ù.
Host ¶Ç´Â Target »ó¿¡¼ ´ÜÀ§ºÎÅÍ ½Ã½ºÅÛ Å×½ºÆÃ±îÁö ÅëÇÕ Áö¿øÇÕ´Ï´Ù.
(1) ´ÜÀ§ Å×½ºÆÃ: White-box Path Testing
(2) ÅëÇÕ Å×½ºÆÃ: Path Instrument Testing
(3) ½Ã½ºÅÛ Å×½ºÆÃ: GUI Testing
|
 |
ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃÀÇ Æ¯Â¡
Test Program Execution: System (Whole Program)
Test Generation Algorithm: Concrete Execution (Lower Cost than Symbolic)
Test Design/Execution/Coverage Process
- (White-box) White/White/White: Model-Based Design ±â¹Ý Program Bug °ËÁõ
- (Black-box) Black/Black/White: Program Bug °ËÁõ ºÒ°¡
ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃ(´ÜÀ§/ÅëÇÕ)ÀÇ ÁÖ¿ä ±â´É
¼Ò½º ÄÚµå ±â¹Ý ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃ(Automated White-box Path Testing)
- (test design) ÇÔ¼ö º° ÀÚµ¿ »ý¼ºµÈ °æ·Î ±â¹Ý Å×½ºÆ® ÄÉÀ̽º(ÀÔ·Â °ª) »ý¼º ÀÚµ¿È
- (coverage) Host ¶Ç´Â Target ±â¹Ý ÄÚµå Ä¿¹ö¸®Áö ÃøÁ¤
- (one workflow) °æ·Î±â¹Ý °áÇÔ ÁÖÀÔ Å×½ºÆÃ(path-based fault injection testing)
ºò¹ð(big-bang) ±â¹Ý ¸ðµç C/C++ ÄÄÆÄÀÏ·¯ Á¦Ç°±º Áö¿ø
- IAR, Code Composer Studio, Microchip Studio, KEIL, GNU, Intel, QNX, µî
GUI Å×½ºÆÃÀÇ ÁÖ¿ä ±â´É
Žħ(Instrument) Å×½ºÆ® ±â¹Ý GUI Å×½ºÆÃ
- (test design) Windows, Mobile GUI SWÀÇ UI ¿ä±¸»çÇ× ½Ã³ª¸®¿À Å×½ºÆ®
- (coverage) GUI SW(Client-Server/Parallel System)ÀÇ ½ÇÇà±â¹Ý ÄÚµå Ä¿¹ö¸®Áö ÃøÁ¤
- (one workflow) Ŭ¶óÀ̾ðÆ®-¼¹ö ¹× º´·Ä ¾ÆÅ°ÅØÃ³±â¹Ý ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆÃ
MBD(Model-Based Design)ÀÇ Å×½ºÆÃ °á°ú °ËÁõ
(test-to-path) ´ÜÀ§ Å×½ºÆÃÀÇ Branch, MC/DC ½ÇÇà °æ·Î °ËÁõ: Control-flow Graph
(test-to-scenario) ÅëÇÕ Å×½ºÆÃÀÇ ½Ã³ª¸®¿À Ä¿¹ö¸®Áö ½ÇÇà °ËÁõ: Call/File Graph
(test-to-code) Å×½ºÆ®µÈ Äڵ忡 ±¸Á¶Àû Ä¿¹ö¸®Áö À¯ÇüÀÇ ½Éº¼ Ç¥½Ã: Code View
- °¢ ÄÚµå ¶óÀÎ: Statement(S), Branch(T, F) Ç¥½Ã
ÈÀÌÆ®¹Ú½º °æ·Î Å×½ºÆÃÀÇ ÀÚµ¿È È¿°ú
Å×½ºÆ® µ¥ÀÌÅÍÀÇ ÀÚµ¿ ÃßÃâ·Î ºü¸£°Ô ÄÚµå Ä¿¹ö¸®Áö ´Þ¼º
¼öÀÛ¾÷ ºí·¢¹Ú½º Å×½ºÆ®º¸´Ù ¾à 100¹è ÀÌ»ó ¼ÒÇÁÆ®¿þ¾î Å×½ºÆ® ½Ã°£ ´ÜÃà
- Test Generation: Manual(Suppose one test case takes 10 minutes to complete the full testing) vs. Automation
¼ÒÇÁÆ®¿þ¾î Å×½ºÆÃÀÇ ÀÚµ¿È·Î ³ë·Â, ½Ã°£, ºñ¿ë Àý°¨
ÁÖ¿ä °í°´
ISO 26262ÀÇ ÀÓº£µðµå SW Å×½ºÆÃ
- Â÷·®¿ë ¹ÝµµÃ¼: C ´ÜÀ§/ÅëÇÕ Å×½ºÆÃ
- ÀÚÀ² ÁÖÇà ÀÚµ¿Â÷: C++ ´ÜÀ§/ÅëÇÕ Å×½ºÆÃ
¹«±âü°è ¼ÒÇÁÆ®¿þ¾î µ¿Àû ½ÃÇè
-°¡»ó/¿ö°ÔÀÓ ¸ðÀÇ ÈÆ·Ã C++, C# GUI Testing
-Ÿ°Ù ±â¹Ý GUI Å×½ºÆÃ: UI ½Ã³ª¸®¿À Å×½ºÆ®
-Client(C#)/Server(C++) ApplicationÀÇ ½ÇÇà ÄÚµå ±â¹Ý ÄÚµå Ä¿¹ö¸®Áö ÃøÁ¤
|
|
|
|
|
|