הערות פתיחה
Matt Lowrie (Google)
ההתפתחות של פרודוקטיביות עסקית והנדסה
Manasi Joshi (Google)
בהרצאה המרכזית הזו אנחנו שואפים לשתף את כל המסע לאורך הדרך שבה תעשיית הפרודוקטיביות של מחלקת הפיתוח התפתחה ב-Google. עד כמה השינוי הזה תרם לצמיחה העסקית של Google ככלי לצמיחה מהירה, לשמירה על יציבות ומספקת ביטחון רב בתהליכי הפיתוח/ההשקה/המעקב. אנחנו מציינים גם כמה מהאתגרים שעומדים בפנינו כיום ואופקים חדשים לבדיקת הפלטפורמה בפלטפורמות שונות של מוצרים ושירותים, ש-Google עוברת ומתמודדת איתם.
אוטומציה של הנהיגה בנוכחות רובוטית
טניה ג'נקינס (Tanta Jenkins) (Intilver Consulting)
לא ברור אם רוצים לבדוק את ממשק הנהיגה של מכשיר נוכחות. הוא פועל בעולם האמיתי ויוצר אינטראקציה עם אנשים ואובייקטים, אבל צריך לבדוק אותו בסביבה מבוקרת. איך אתם מתמודדים עם סביבת נהיגה מרחוק מציאותית ובאותו הזמן מאמתים את המיקום והמיקום של המכשיר כשלא רואים אותו? אני רוצה להציג פתרון חדשני.
מה שמור ב-Wallet?
Hima Mandali (Capital One)
Capital One היא אחת מחברות כרטיסי האשראי הגדולות ביותר בארה"ב, עם יותר מ-70 מיליון חשבונות. בשלב הראשון, אנחנו בונים מוצרים רבים ומדליקים שמספקים ללקוחות חוויות דיגיטליות מדהימות. כיום מכשירים ניידים הופכים לערוץ המועדף עבור הלקוחות שלנו, כדי לשוחח על האופן שבו פתרנו את בעיית האוטומציה של הבדיקות של אפליקציות אינטרנט לנייד, ומה עשינו כדי לעבור לתהליך מהיר יותר של העברת תוכנות. נשתף גם את הכלים שבהם השתמשנו בקוד פתוח ואת מרכז השליטה בקוד פתוח שבנינו כדי לפתור את הבעיות שלנו.
שימוש בנתונים סטטיסטיים של אוטומציה הרצה של בדיקות כדי לחזות אילו בדיקות להפעיל
Boris Prikhodky (Unity Technologies)
הבדיקות הפכו לחלק חיוני בתהליכי פיתוח האפליקציות, אבל מה צריך לעשות כשמושלים שהפכו לצוואר בקבוק בחיי היומיום? כאן אנחנו משתפים את החוויה שלנו כשעשינו 3-6 שעות המתנה עד שהרצת הבדיקה תסתיים. בשיחה הזו מוצגת גישה פשוטה אך רבת עוצמה, שחוסכת זמן יקר בבדיקות ירוקות בבנייה. בנוסף, מפורטות דרכים אפשריות לשיפור התהליך.
אוטומציה של בדיקות סלניום ל-Windows ול-Windows Phone
ניקולאי אבאלוב (2G)
יש סלניום לאוטומציה של הבדיקות באפליקציות אינטרנט. יש אפליקציות לנייד באפליקציות ל-iOS וב-Android. אבל עבור Windows Desktop ו-Windows Phone/Mobile, היינו צריכים לחשוב על פתרון שלנו המבוסס על סלניום. אז Winium נוצר. Winium הוא פתרון בקוד פתוח לאוטומציה של בדיקות של Windows Desktop ואפליקציות Windows Phone/Mobile. ויניום מבוסס על סלניום, כך שיהיה קל יחסית להתחיל להשתמש בו לצורכי האוטומציה שלכם אם אתם כבר מכירים את סלניום או את סליום. תוכלו לשלב אותו בתשתית הקיימת של סלניום. בשיחה נציג את הפרויקטים שכותבים Winium וממחישים את Winium.Desktop וגם Winium.Mobile בפעולה.
הצד הנגדי בבדיקות
Brian Vanpee (Google)
לא כל הבאגים נוצרים באופן שווה. לפעמים, המוזרויות בשפת התכנות שבה אנחנו משתמשים הן אלה, וקשה למצוא את המתכנתים והבודקים הטובים ביותר. אנחנו מזמינים אתכם להצטרף אלינו כדי לראות את הדברים המפתיעים בבדיקות, ולהציג כמה דוגמאות נבחרות בשפות רבות שבהן אנחנו משתמשים מדי יום. לבסוף, אנחנו נאתגר אתכם לנחש את הקימור הבא ונציג סדרת דוגמאות אי-זוגיות שנמצאות בשפות כמו C, Java, Objective-C, PHP והאהובות על כולם – JavaScript.
אלגוריתם למידת מכונה להגדרת סביבת בדיקה לנייד
Rajkumar Bhojan (טכנולוגיות Wipro)
על רקע ההתקדמות המהירה בטכנולוגיית הטכנולוגיה של הנייד, יש ביקוש משמעותי לבדיקת אפליקציות לנייד במכשירים ניידים. ניהול מכשירים ניידים ממלא תפקיד חיוני בבדיקות האפליקציה לנייד ובהבנת האתגרים בניהול מכשירים ניידים, הוא חלק חיוני בפתרון שלהם. כדי להימנע מבעיות ספציפיות במכשיר, מפתחי אוטומציה לבדיקות צריכים לבדוק את האפליקציות שלהם במספר גדול של מכשירים. תהליך זה יקר ולא יעיל. בשיחה הזו נראה איך אלגוריתם של למידה חישובית יכול לזהות קבוצת מכשירים נכונה להגדרת סביבת בדיקה לנייד.
"שומעים אותי?" – בדיקת איכות האודיו
אלכסנדר ברוקמן ודן היסלופ (Citrix)
IATF: מסגרת חדשה של בדיקת ממשק אוטומטי למכשירים שונים ולפלטפורמות שונות
Yanbin Zhang (אינטל)
כדי להקל על השימוש בטכנולוגיית WebRTC ולהפוך אותה לזמינה באופן נרחב להרחבה או ליצירת אפליקציות חדשות, Intel פיתחה את פתרון WebRTC מקצה לקצה, Intel® Collaboration Suite ל-WebRTC. בשלב זה, Intel כבר יצרה סביבה עסקית הולכת וגדלה של Intel® Collaborative Suite ל-WebRTC ברחבי העולם. שיתוף הפעולה מכסה תחומים שונים, כולל חינוך, רפואה, ענן תעשייתי, שידור ברשתות חברתיות, שיחות ועידה בווידאו, גאדג'ט לביש וכו'. הודות לצמיחה מהירה של מספר הפלטפורמות הנתמכות לממשקי API של SDK, מידת התאימות בין הפלטפורמות ומאמץ הבדיקה של השילוב גדל בהתמדה. איך לבצע בדיקה אוטומטית של יכולת הפעולה ההדדית בערכות ה-SDK השונות בפלטפורמות שונות הופכת לבעיה גדולה. בשיחה הזו נציג את המסגרת האוטומטית מרובת-פלטפורמות וממשק API לבדיקת ריבוי מכשירים. אפשר לאמץ את התג בכל בדיקת SDK בפלטפורמות שונות ובמכשירים שונים, שמחייבת תקשורת בין פלטפורמות שונות.
שימוש בניתוח קונספט רשמי בבדיקות תוכנה
Fedor Strok (Yandex/NRU HSE)
ניתוח הקונספט הרשמי מספק לנו ארגז כלים לבניית אונטולוגיה רשמית על פני קבוצת האובייקטים עם תיאורים (מבוטא כקבוצת מאפיינים). ענף זה של תיאוריה אלגברית הושק בשנת 1984, והוא חל כיום על מגוון רחב של משימות כריית נתונים. דיון זה מתמקד בטכניקות שעשויות להועיל במיוחד לבדיקת תוכנות: שימוש באונטולוגיה רשמית לצורך דוחות בדיקה נוחים ולצורך הפקה אוטומטית של מקרי בדיקה.
כיצד בדיקות רעננות באינטגרציה רציפה: תרגול נוכחי ב-Google ומסלולים עתידיים
דניאל כהן (Google)
וגםאטיף מון (אוניברסיטת מרילנד, קולג' פארק)
ל-Google יש מאגר עצום של בדיקות שאנחנו מבצעים באופן קבוע במערכת השילוב המתמשכת שלנו. מבדיקת הנתונים האלה, עולה שהבדיקות הרעומות גורמות להרבה בזבוז בכמה מאפיינים שונים. אנחנו פועלים כדי לשפר את היכולת שלנו להבין את ההשפעה, לזהות ולהוריד את הרמה המחמירה שאנחנו רואים במערכת.
חוויית מפתחים, FTW!
טולרן נירני (Google)
Docker גיאוגרפיים - חוות בדיקה מפורסמת ב-Docker – תרגול תשתיות לבדיקה ב-Intel Android
ג'רי יו (Intel) וגובינג צ'ן (Intel)
OpenHTF – ה-framework לבדיקת חומרה בקוד פתוח
ג'ו את'יר (Google) וג'ון האולי (Google)
יצירת בדיקה ישירה לזיהוי יעילות של לולאות
מוניקה דהוק (המכון ההודי למדע)
מעבר יתירות של לולאות זוהה כמקור לבאגים בביצועים בספריות Java רבות. כתוצאה מכך, עיצבנו שיטות ניתוח סטטיות ודינמיות לזיהוי באגים בביצועים באופן אוטומטי. עם זאת, היעילות של ניתוחים דינמיים תלויה בבדיקות הקלט לניתוח, אבל הניתוחים הסטטיים פחות אפקטיביים באימות של נוכחות הבעיות האלה, באימות התיקונים ובמניעת רגרסיות בגרסאות עתידיות. אנחנו מציעים גישה חדשנית ליצירת בדיקות באופן אוטומטי כדי לזהות יעילות של לולאות בספריות Java. דיון זה מספק סקירה קצרה של העבודה הזו.
יש צורך במהירות – האצת בדיקות האוטומציה מ-3 שעות ל-3 דקות
Emanuil Slavov (Komfo Inc)
כל הבדיקות האוטומטיות הגבוהות מתבצעות באיטיות לאט, בגלל הסביבה שבה אנחנו משתמשים. זהו הפיל בחדר שכולם מתעלמים ממנו. והסיבה לכך היא טובה. קשה מאוד לבצע בדיקות אוטומטיות מהירות, אמינות ומועילות. אבל אין לך אפשרות לבחור – עם בדיקות אוטומטיות איטיות, המשלוח פשוט ללקוחות שלך, מהר יותר. ב-Kompo היו לנו בדיקות שנמשכו יותר מ-3 שעות מדי לילה. זמן הביצוע גדל ללא הגבלה. הבדיקות הפכו לבלתי יציבות ולא ניתן היה להשתמש בהן כלולאת משוב. בשלב מסוים הבדיקות נכשלו יותר מ-20 ימים ברצף. באגים רגרסיה התחילו להופיע בסביבת הייצור. החלטנו להפסיק את הטירוף הזה אחרי מאמצים ומאמצים רבים. נכון לעכשיו אותן בדיקות נמשכות פחות מ-3 דקות. זהו סיפור השיפור המתמשך של האופן שבו השגנו פי 60 בדיקות מהירות יותר.
כיסוי קודים הוא כלי חיזוי אפקטיבי ליעילות חבילת הבדיקה בעולם האמיתי
Rahul Gopinath (האוניברסיטה של מדינת אורגון)
ClusterRunner: התאמה מהירה של משוב לבדיקה באמצעות התאמה אופקית
Taejun Lee (Box Inc) ו-Joseph Harrington (Box Inc)
Box פועל במשך כ-30 שעות של בדיקות יחידה ואינטגרציה בכל התחייבות. אנחנו פועלים לפיהם במקביל כדי לפעול תוך פחות מ-17 דקות באמצעות פלטפורמת הקוד הפתוח שלנו, ClusterRunner. למה יש כל כך הרבה בדיקות ב-Box? איך עובד ClusterRunner? האם קל להגדיר את ClusterRunner לבדיקות שלך? (ספוילר: כן.) ClusterRunner מספק משוב מהיר בטירוף על ידי ביצוע בדיקות מקבילות במארח יחיד והפצתו בין מארחים רבים. היא פותחה על ידי צוות פרודוקטיביות הפרודוקטיביות של Box, ואנחנו משתמשים ב-ClusterRunner באופן פנימי כדי להריץ חבילה של יותר משלושים שעות של בדיקות לינאריות בתוך 17 דקות, ואנחנו עושים את זה מאות פעמים מדי יום. ClusterRunner הוא קוד פתוח ושפה ללא קשר לשפה, כך שתוכלו להשתמש בו בקלות בפרויקט שלכם. יצרנו את ClusterRunner לצוותי ההנדסה שמתמודדים עם עיכובים ארוכים בבדיקת משוב או באמצעות קוד שלא נבדק כראוי. יצרנו אותו מלמעלה למטה כך שיהיה קל לשימוש, וישולב עם מערכת ה-CI הקיימת. המדד הזה בודק את משך הבדיקות ואת משך הזמן שבהן הרצה עתידית נשלחת, כדי לספק משוב בהקדם האפשרי. הרכיבים שלו מתקשרים דרך API מסוג REST ידידותי שהופך אותו לנגיש וניתן להרחבה.
בדיקת שילוב עם מספר שירותים ומכשירים ניידים
אלכסנדר דורוקין (Google) ו-אנג לי לי (Google)
Mobly היא מסגרת בקוד פתוח שפיתחה Google לבדיקת מוצרים שמחייבים אינטראקציות בין מכשירים שונים, כמו אפליקציות חברתיות, או בדיקות שמחייבות שליטה בסביבת הבדיקה, כמו חיבור Wi-Fi. נסביר איך בדיקות במכשירים שונים שונות מבדיקה במכשיר יחיד ובבעיות הייחודיות שלו, כמו סנכרון וזרימת קוד בין מכשירים מרובים, ואיך הוא פותר אותן.
קנה מידה לעומת ערך: אוטומציה לבדיקה ב-BBC
Jitesh Gosai (BBC) ו-David Buckhorst (BBC)
בנינו ענן פנימי של מכשיר בקוד פתוח כדי להרחיב את הבדיקה של האפליקציות שלנו לנייד ולטלוויזיה, אבל מהר מאוד הוא הפך למפלצת שאילצת אותנו לחשוב מחדש על הגישה שלנו לגבי אוטומציה, ולמצוא את האיזון הנכון בין קנה מידה לערך. כאן תלמדו איך התמודדנו עם האתגרים של בדיקה במכשיר, בעזרת אוטומציה ממוקדת ובעלות משותפת. מגלים גם איך יוצרים ענן פנימי במכשיר ומשתמשים בכלים של הקוד הפתוח.
איתור באגים בספריות C++ באמצעות LibFuzzer
Kostya Serebryani (Google)
למדתי איך לקרוס בדיקת שרת
Jonathan Abrahams (MongoDB)
אנחנו מזמינים אותך ללמוד איך בדקנו את החוזק של שרת MongoDB כדי לשרוד תרחישים שונים של קריסות מערכת. למדנו איך יכולנו לקרוס באופן אוטומטי שרת מכל סוג של מערכת הפעלה ותצורת מארח (פיזית או וירטואלית).