| Tmin. tmin הוא מבחן מבחן כלי האופטימיזציה. |
הורד עכשיו |
Tmin. דירוג וסיכום
- רישיון:
- The Apache License 2.0
- שם המפרסם:
- Michal Zalewski
- אתר האינטרנט של המוציא לאור:
- http://code.google.com/p/tmin/
Tmin. תגים
Tmin. תיאור
TMIN הוא מבחן מבחן כלי האופטימיזציה. TMIN הוא מבחן מבחן כלי האופטימיזציה. כלי מהיר ופשוט כדי למזער את הגודל והתחביר של מקרים מבחן מורכבים בדיקות אבטחה אוטומטיות. הכלי קשור במידה מסוימת לדלתא, כלי אופטימיזציה כללית מובחרת יותר - אך נועדו במיוחד להתמודדות עם פורמטים לא ידועים או מורכבים (ללא הצורך tookenize ולסר מחדש את testcases), עבור זיהוי הידיים של תנאי תקלות אבטחה, וכן אינטגרציה קלה עם בדיקות UI רתמות. זה מסוגל גם לצמצם את המורכבות של אלפבית בשימוש על מערכי נתונים שלא ניתן לקצוץ עוד יותר גודל.אוזג 'פרטים השירות מצפה קובץ בשם testcase.in להיות נוכחים בספרייה הנוכחית, ויהיה לכתוב testcase מינימלי testcase.small. כדי לבצע אופטימיזציה של מקרה מבחן עבור יישום היעד, אתה יכול פשוט לרוץ:. / Tmin / path / to / programin מצב זה, tmin יפעל / נתיב / ל / תוכנית בכל מחזור, להאכיל מקרה מבחן שונה stdin של התוכנית, ו לבחון את מצב היציאה; התוכנית יוצאת על אות כגון SIGSEGV תתפרש כמו במקרה הבדיקה עדיין עובד, ואילו ביצוע נקי יהיה מובן כמו במקרה הבדיקה נכשל. ייתכן שתשתמש גם במתג שורת פקודה A-X כדי לשנות את ההיגיון ולטפל בקודי החזרה שאינם אפס, כמו בתנאי תקלה, וקביעת קובץ כדי לשמור נתונים למיקום מסוים כדי לקבל את היישום הנבדק, במקום לספק אותו ב- Stdin.for בדיקה מרחוק, Tmin תומך בורר שורת פקודה. במצב זה, התעלם ההתנהגות של התוכנית שצוין, והתועלת מחכה ל- SIGUSR1 (ביצוע נקי) ו- SigusR2 (תנאי תקלות) שנשלחו לתהליך TMIN במקום. שני דוגמאות נפוצות כוללות: ו / bin / true יכול לשמש תוכנית היעד "דמה" בעת כתיבת קבצים מקומיים.במצב, רתמת הבדיקה חייבת להנחות את היישום נבדק כדי לקרוא את התוצאה, ולאחר מכן לשלוח אות מתאים ל השירות. דוגמה לאופן שבו לעשות את כל זה בעת בדיקת מסנן HTML או טכנולוגיה מבוססת דפדפן אחרים ניתנת ב TMIN / אינטרנט לדוגמה subdectory.Functionality הדגמה $ חתול testcase.inthis הוא ארוך ומטריד שלום העולם testcase. $ Catme.sh #! / bin / bashgrep "El .. * wo" || יציאה 0xit 1 $ ../tmin -x שלב 1: חתך רקורסיבי (סיבוב 1, קלט = 53/53) שלב 1: חתך רקורסיבי (סיבוב 2, קלט = 27/53) שלב 1: חתך רקורסיבי (עגול 3, קלט = 14/53) שלב 1: חתך רקורסיבי (עגול 4, קלט = 10/53) שלב 1: חתך רקורסיבי (עגול 5, קלט = 8/53) שלב 1: חתך רקורסיבי (עגול 6, קלט = 7/53) שלב 2: בלוק דילוג (עגול 1, קלט = 7/53) שלב 2: בלוק דילוג (סיבוב 2, קלט = 6/53) שלב 2: בלוק דילוג (עגול 3, קלט = 5/53) שלב 3: נורמליזציה אלפבית (עגול 1, charset = 5/5) שלב 3: נורמליזציה אלפבית (עגול 2, charset = 5/5) שלב 4: נורמליזציה אופי (סיבוב 1, תווים = 4/5) כל עשה - כתיבת פלט ל 'testcase.small' ... == הסופי סטטיסטיקה == מקורי גודל: 53 Bytesoptimized גודל: 5 בתים (- 90.57%) תווים מחדש ממוקם: 1 (1.89%) יעילות: 9 טוב / 49 רע סעיפים עגולים: 1: 62: 33: 24: 1 $ חתול testcase.smallel0wo
Tmin. תוכנה קשורה