GTAC 2016: מצגות

הערות פתיחה

Matt Lowrie (Google)

ההתפתחות של פרודוקטיביות עסקית והנדסה

Manasi Joshi (Google)

קישורים: Video, Slides

בהרצאה המרכזית הזו אנחנו שואפים לשתף את כל המסע לאורך הדרך שבה תעשיית הפרודוקטיביות של מחלקת הפיתוח התפתחה ב-Google. עד כמה השינוי הזה תרם לצמיחה העסקית של Google ככלי לצמיחה מהירה, לשמירה על יציבות ומספקת ביטחון רב בתהליכי הפיתוח/ההשקה/המעקב. אנחנו מציינים גם כמה מהאתגרים שעומדים בפנינו כיום ואופקים חדשים לבדיקת הפלטפורמה בפלטפורמות שונות של מוצרים ושירותים, ש-Google עוברת ומתמודדת איתם.

אוטומציה של הנהיגה בנוכחות רובוטית

טניה ג'נקינס (Tanta Jenkins) (Intilver Consulting)

קישורים: Video, Slides

לא ברור אם רוצים לבדוק את ממשק הנהיגה של מכשיר נוכחות. הוא פועל בעולם האמיתי ויוצר אינטראקציה עם אנשים ואובייקטים, אבל צריך לבדוק אותו בסביבה מבוקרת. איך אתם מתמודדים עם סביבת נהיגה מרחוק מציאותית ובאותו הזמן מאמתים את המיקום והמיקום של המכשיר כשלא רואים אותו? אני רוצה להציג פתרון חדשני.

מה שמור ב-Wallet?

Hima Mandali (Capital One)

קישורים: Video, Slides

Capital One היא אחת מחברות כרטיסי האשראי הגדולות ביותר בארה"ב, עם יותר מ-70 מיליון חשבונות. בשלב הראשון, אנחנו בונים מוצרים רבים ומדליקים שמספקים ללקוחות חוויות דיגיטליות מדהימות. כיום מכשירים ניידים הופכים לערוץ המועדף עבור הלקוחות שלנו, כדי לשוחח על האופן שבו פתרנו את בעיית האוטומציה של הבדיקות של אפליקציות אינטרנט לנייד, ומה עשינו כדי לעבור לתהליך מהיר יותר של העברת תוכנות. נשתף גם את הכלים שבהם השתמשנו בקוד פתוח ואת מרכז השליטה בקוד פתוח שבנינו כדי לפתור את הבעיות שלנו.

שימוש בנתונים סטטיסטיים של אוטומציה הרצה של בדיקות כדי לחזות אילו בדיקות להפעיל

Boris Prikhodky (Unity Technologies)

קישורים: Video, Slides

הבדיקות הפכו לחלק חיוני בתהליכי פיתוח האפליקציות, אבל מה צריך לעשות כשמושלים שהפכו לצוואר בקבוק בחיי היומיום? כאן אנחנו משתפים את החוויה שלנו כשעשינו 3-6 שעות המתנה עד שהרצת הבדיקה תסתיים. בשיחה הזו מוצגת גישה פשוטה אך רבת עוצמה, שחוסכת זמן יקר בבדיקות ירוקות בבנייה. בנוסף, מפורטות דרכים אפשריות לשיפור התהליך.

אוטומציה של בדיקות סלניום ל-Windows ול-Windows Phone

ניקולאי אבאלוב (2G)

קישורים: Video, Slides

יש סלניום לאוטומציה של הבדיקות באפליקציות אינטרנט. יש אפליקציות לנייד באפליקציות ל-iOS וב-Android. אבל עבור Windows Desktop ו-Windows Phone/Mobile, היינו צריכים לחשוב על פתרון שלנו המבוסס על סלניום. אז Winium נוצר. Winium הוא פתרון בקוד פתוח לאוטומציה של בדיקות של Windows Desktop ואפליקציות Windows Phone/Mobile. ויניום מבוסס על סלניום, כך שיהיה קל יחסית להתחיל להשתמש בו לצורכי האוטומציה שלכם אם אתם כבר מכירים את סלניום או את סליום. תוכלו לשלב אותו בתשתית הקיימת של סלניום. בשיחה נציג את הפרויקטים שכותבים Winium וממחישים את Winium.Desktop וגם Winium.Mobile בפעולה.

הצד הנגדי בבדיקות

Brian Vanpee (Google)

קישורים: Video, Slides

לא כל הבאגים נוצרים באופן שווה. לפעמים, המוזרויות בשפת התכנות שבה אנחנו משתמשים הן אלה, וקשה למצוא את המתכנתים והבודקים הטובים ביותר. אנחנו מזמינים אתכם להצטרף אלינו כדי לראות את הדברים המפתיעים בבדיקות, ולהציג כמה דוגמאות נבחרות בשפות רבות שבהן אנחנו משתמשים מדי יום. לבסוף, אנחנו נאתגר אתכם לנחש את הקימור הבא ונציג סדרת דוגמאות אי-זוגיות שנמצאות בשפות כמו C, Java, Objective-C, PHP והאהובות על כולם – JavaScript.

אלגוריתם למידת מכונה להגדרת סביבת בדיקה לנייד

Rajkumar Bhojan (טכנולוגיות Wipro)

קישורים: Video, Slides

על רקע ההתקדמות המהירה בטכנולוגיית הטכנולוגיה של הנייד, יש ביקוש משמעותי לבדיקת אפליקציות לנייד במכשירים ניידים. ניהול מכשירים ניידים ממלא תפקיד חיוני בבדיקות האפליקציה לנייד ובהבנת האתגרים בניהול מכשירים ניידים, הוא חלק חיוני בפתרון שלהם. כדי להימנע מבעיות ספציפיות במכשיר, מפתחי אוטומציה לבדיקות צריכים לבדוק את האפליקציות שלהם במספר גדול של מכשירים. תהליך זה יקר ולא יעיל. בשיחה הזו נראה איך אלגוריתם של למידה חישובית יכול לזהות קבוצת מכשירים נכונה להגדרת סביבת בדיקה לנייד.

"שומעים אותי?" – בדיקת איכות האודיו

אלכסנדר ברוקמן ודן היסלופ (Citrix)

קישורים: Video, Slides

IATF: מסגרת חדשה של בדיקת ממשק אוטומטי למכשירים שונים ולפלטפורמות שונות

Yanbin Zhang (אינטל)

קישורים: Video, Slides

כדי להקל על השימוש בטכנולוגיית WebRTC ולהפוך אותה לזמינה באופן נרחב להרחבה או ליצירת אפליקציות חדשות, Intel פיתחה את פתרון WebRTC מקצה לקצה, Intel® Collaboration Suite ל-WebRTC. בשלב זה, Intel כבר יצרה סביבה עסקית הולכת וגדלה של Intel® Collaborative Suite ל-WebRTC ברחבי העולם. שיתוף הפעולה מכסה תחומים שונים, כולל חינוך, רפואה, ענן תעשייתי, שידור ברשתות חברתיות, שיחות ועידה בווידאו, גאדג'ט לביש וכו'. הודות לצמיחה מהירה של מספר הפלטפורמות הנתמכות לממשקי API של SDK, מידת התאימות בין הפלטפורמות ומאמץ הבדיקה של השילוב גדל בהתמדה. איך לבצע בדיקה אוטומטית של יכולת הפעולה ההדדית בערכות ה-SDK השונות בפלטפורמות שונות הופכת לבעיה גדולה. בשיחה הזו נציג את המסגרת האוטומטית מרובת-פלטפורמות וממשק API לבדיקת ריבוי מכשירים. אפשר לאמץ את התג בכל בדיקת SDK בפלטפורמות שונות ובמכשירים שונים, שמחייבת תקשורת בין פלטפורמות שונות.

שימוש בניתוח קונספט רשמי בבדיקות תוכנה

Fedor Strok (Yandex/NRU HSE)

קישורים: Video, Slides

ניתוח הקונספט הרשמי מספק לנו ארגז כלים לבניית אונטולוגיה רשמית על פני קבוצת האובייקטים עם תיאורים (מבוטא כקבוצת מאפיינים). ענף זה של תיאוריה אלגברית הושק בשנת 1984, והוא חל כיום על מגוון רחב של משימות כריית נתונים. דיון זה מתמקד בטכניקות שעשויות להועיל במיוחד לבדיקת תוכנות: שימוש באונטולוגיה רשמית לצורך דוחות בדיקה נוחים ולצורך הפקה אוטומטית של מקרי בדיקה.

כיצד בדיקות רעננות באינטגרציה רציפה: תרגול נוכחי ב-Google ומסלולים עתידיים

דניאל כהן (Google)

וגם

אטיף מון (אוניברסיטת מרילנד, קולג' פארק)

קישורים: Video, Slides

ל-Google יש מאגר עצום של בדיקות שאנחנו מבצעים באופן קבוע במערכת השילוב המתמשכת שלנו. מבדיקת הנתונים האלה, עולה שהבדיקות הרעומות גורמות להרבה בזבוז בכמה מאפיינים שונים. אנחנו פועלים כדי לשפר את היכולת שלנו להבין את ההשפעה, לזהות ולהוריד את הרמה המחמירה שאנחנו רואים במערכת.

חוויית מפתחים, FTW!

טולרן נירני (Google)

קישורים: Video, Slides

Docker גיאוגרפיים - חוות בדיקה מפורסמת ב-Docker – תרגול תשתיות לבדיקה ב-Intel Android

ג'רי יו (Intel) וגובינג צ'ן (Intel)

קישורים: Video, Slides

OpenHTF – ה-framework לבדיקת חומרה בקוד פתוח

ג'ו את'יר (Google) וג'ון האולי (Google)

קישורים: Video, Slides

יצירת בדיקה ישירה לזיהוי יעילות של לולאות

מוניקה דהוק (המכון ההודי למדע)

קישורים: Video, Slides

מעבר יתירות של לולאות זוהה כמקור לבאגים בביצועים בספריות Java רבות. כתוצאה מכך, עיצבנו שיטות ניתוח סטטיות ודינמיות לזיהוי באגים בביצועים באופן אוטומטי. עם זאת, היעילות של ניתוחים דינמיים תלויה בבדיקות הקלט לניתוח, אבל הניתוחים הסטטיים פחות אפקטיביים באימות של נוכחות הבעיות האלה, באימות התיקונים ובמניעת רגרסיות בגרסאות עתידיות. אנחנו מציעים גישה חדשנית ליצירת בדיקות באופן אוטומטי כדי לזהות יעילות של לולאות בספריות Java. דיון זה מספק סקירה קצרה של העבודה הזו.

יש צורך במהירות – האצת בדיקות האוטומציה מ-3 שעות ל-3 דקות

Emanuil Slavov (Komfo Inc)

קישורים: Video, Slides

כל הבדיקות האוטומטיות הגבוהות מתבצעות באיטיות לאט, בגלל הסביבה שבה אנחנו משתמשים. זהו הפיל בחדר שכולם מתעלמים ממנו. והסיבה לכך היא טובה. קשה מאוד לבצע בדיקות אוטומטיות מהירות, אמינות ומועילות. אבל אין לך אפשרות לבחור – עם בדיקות אוטומטיות איטיות, המשלוח פשוט ללקוחות שלך, מהר יותר. ב-Kompo היו לנו בדיקות שנמשכו יותר מ-3 שעות מדי לילה. זמן הביצוע גדל ללא הגבלה. הבדיקות הפכו לבלתי יציבות ולא ניתן היה להשתמש בהן כלולאת משוב. בשלב מסוים הבדיקות נכשלו יותר מ-20 ימים ברצף. באגים רגרסיה התחילו להופיע בסביבת הייצור. החלטנו להפסיק את הטירוף הזה אחרי מאמצים ומאמצים רבים. נכון לעכשיו אותן בדיקות נמשכות פחות מ-3 דקות. זהו סיפור השיפור המתמשך של האופן שבו השגנו פי 60 בדיקות מהירות יותר.

כיסוי קודים הוא כלי חיזוי אפקטיבי ליעילות חבילת הבדיקה בעולם האמיתי

Rahul Gopinath (האוניברסיטה של מדינת אורגון)

קישורים: Video, Slides

ClusterRunner: התאמה מהירה של משוב לבדיקה באמצעות התאמה אופקית

Taejun Lee (Box Inc) ו-Joseph Harrington (Box Inc)

קישורים: Video, Slides

Box פועל במשך כ-30 שעות של בדיקות יחידה ואינטגרציה בכל התחייבות. אנחנו פועלים לפיהם במקביל כדי לפעול תוך פחות מ-17 דקות באמצעות פלטפורמת הקוד הפתוח שלנו, ClusterRunner. למה יש כל כך הרבה בדיקות ב-Box? איך עובד ClusterRunner? האם קל להגדיר את ClusterRunner לבדיקות שלך? (ספוילר: כן.) ClusterRunner מספק משוב מהיר בטירוף על ידי ביצוע בדיקות מקבילות במארח יחיד והפצתו בין מארחים רבים. היא פותחה על ידי צוות פרודוקטיביות הפרודוקטיביות של Box, ואנחנו משתמשים ב-ClusterRunner באופן פנימי כדי להריץ חבילה של יותר משלושים שעות של בדיקות לינאריות בתוך 17 דקות, ואנחנו עושים את זה מאות פעמים מדי יום. ClusterRunner הוא קוד פתוח ושפה ללא קשר לשפה, כך שתוכלו להשתמש בו בקלות בפרויקט שלכם. יצרנו את ClusterRunner לצוותי ההנדסה שמתמודדים עם עיכובים ארוכים בבדיקת משוב או באמצעות קוד שלא נבדק כראוי. יצרנו אותו מלמעלה למטה כך שיהיה קל לשימוש, וישולב עם מערכת ה-CI הקיימת. המדד הזה בודק את משך הבדיקות ואת משך הזמן שבהן הרצה עתידית נשלחת, כדי לספק משוב בהקדם האפשרי. הרכיבים שלו מתקשרים דרך API מסוג REST ידידותי שהופך אותו לנגיש וניתן להרחבה.

בדיקת שילוב עם מספר שירותים ומכשירים ניידים

אלכסנדר דורוקין (Google) ו-אנג לי לי (Google)

קישורים: Video, Slides

Mobly היא מסגרת בקוד פתוח שפיתחה Google לבדיקת מוצרים שמחייבים אינטראקציות בין מכשירים שונים, כמו אפליקציות חברתיות, או בדיקות שמחייבות שליטה בסביבת הבדיקה, כמו חיבור Wi-Fi. נסביר איך בדיקות במכשירים שונים שונות מבדיקה במכשיר יחיד ובבעיות הייחודיות שלו, כמו סנכרון וזרימת קוד בין מכשירים מרובים, ואיך הוא פותר אותן.

קנה מידה לעומת ערך: אוטומציה לבדיקה ב-BBC

Jitesh Gosai (BBC) ו-David Buckhorst (BBC)

קישורים: Video, Slides

בנינו ענן פנימי של מכשיר בקוד פתוח כדי להרחיב את הבדיקה של האפליקציות שלנו לנייד ולטלוויזיה, אבל מהר מאוד הוא הפך למפלצת שאילצת אותנו לחשוב מחדש על הגישה שלנו לגבי אוטומציה, ולמצוא את האיזון הנכון בין קנה מידה לערך. כאן תלמדו איך התמודדנו עם האתגרים של בדיקה במכשיר, בעזרת אוטומציה ממוקדת ובעלות משותפת. מגלים גם איך יוצרים ענן פנימי במכשיר ומשתמשים בכלים של הקוד הפתוח.

איתור באגים בספריות C++ באמצעות LibFuzzer

Kostya Serebryani (Google)

קישורים: Video, Slides

למדתי איך לקרוס בדיקת שרת

Jonathan Abrahams (MongoDB)

קישורים: Video, Slides

אנחנו מזמינים אותך ללמוד איך בדקנו את החוזק של שרת MongoDB כדי לשרוד תרחישים שונים של קריסות מערכת. למדנו איך יכולנו לקרוס באופן אוטומטי שרת מכל סוג של מערכת הפעלה ותצורת מארח (פיזית או וירטואלית).