GTAC 2014: מצגות

כל הקלטות הווידאו והשקפים של GTAC 2014 זמינים באופן ציבורי. ניתן לצפות בהם בפלייליסט של GTAC 2014 או לעיין בהרצאות הבאות:

הערות פתיחה

Sonal Shah (Google)

נאום פתיחה – תזוזה מהירה בלי לשבור עניינים

Ankit Mehta (Google)

קישורים: סרטון, Slides

אוטומציה לאינטרנט משופר

James Graham (Mozilla)

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

קישורים: סרטון, Slides

הגדרת Chrome כדפדפן הנייד הטוב ביותר

Karin Lundberg (Google)

אחת הסיבות להצלחה של Chrome הייתה אחד מהעקרונות המרכזיים של מהירות, יציבות, פשטות ואבטחה (4 ערכי ה-S). כשהשקנו את Chrome ל-Android ול-iOS, לא רק שהתחלנו את דפדפן 4s לדפדפן עצמו, אלא גם את הדרך שבה אנחנו מבצעים בדיקות אוטומטיות ואת סוגי הבדיקות שאנחנו מפעילים:

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

קישורים: סרטון, Slides

שפת אוטומציה לבדיקה עבור מודלים התנהגותיים

Nan Li (Medidata Solutions)

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

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

קישורים: סרטון, Slides

כיסוי הבדיקה ב-Google

Andrei Chirila (Google)

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

קישורים: סרטון, Slides

CATJS: אפליקציות שבודקות את עצמן

Ran Snir (HP) ו-Lor Reuven (HP)

בשנים האחרונות ראינו חריגות רבות שינו את האופן שבו אנחנו חושבים על עולם המחשוב. יש מדפסות תלת-ממד שמדפיסות מדפסות תלת-ממד, רובוטים שחושבים לבד ולאחר מכן יש לנו catjs.

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

קישורים: סרטון, Slides

אינטגרציה רציפה (Scalable) רציפה – שימוש בקוד פתוח

Vishal Arora (Dropbox)

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

קישורים: סרטון, Slides

אני לא עושה בדיקות לעיתים קרובות ... אבל כשאני עושה בדיקה, אני בודק בסביבת הייצור

Gareth OpenGLs (Netflix)

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

קישורים: סרטון, Slides

החשיבות של בדיקות אוטומטיות במכשירים ניידים אמיתיים וניידים

Jay Srinivasan (Google) ו-Manish Lachwani (Google)

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

קישורים: סרטון, Slides

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

Celal Ziftci (Google)

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

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

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

קישורים: סרטון, Slides

בדיקת אוטומציה בממיר אינפרה-אדום

Olivier Etienne (כתום)

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

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

קישורים: סרטון, Slides

האתגר להשוות בין ספקי ענן בצורה הוגנת ומה אנחנו עושים בנושא

Anthony Voellm (Google)

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

קישורים: סרטון, Slides

אף פעם אל תשלחו לאדם משימה לביצוע משימה של מחשב: איך Facebook משתמשת בבוטים לניהול בדיקות

רוי וויליאמס (Facebook)

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

קישורים: סרטון, Slides

אספרסו, כפות, Wiremock, אוי! ( או איך למדתי להפסיק לדאוג ואוהב את הבדיקה של Android)

מייקל ביילי (אמריקן אקספרס)

מידע נוסף על יצירה וביצוע של בדיקות אוטומטיות ומהימנות מהירות בממשק המשתמש של Android. הכלים כוללים אספרסו, Spoon, Wiremock ו-Jenkins. ההנחה היא שיש צורך בידע בסיסי בפיתוח ב-Android וב-Java.

קישורים: סרטון, Slides

Google BigQuery Analytics

Brian Vance (Google)

BigQuery הוא שירות Big Data האינטראקטיבי של Google Cloud. משתמשים יכולים לנתח טרה-בייט של נתונים במהירות באמצעות שאילתות הדומות ל-SQL. היא בנויה על Dremel, שהבודקים של Google משתמשים בה באופן פנימי במשך שנים. נסביר לכם איך להתחיל לעבוד עם BigQuery.

קישורים: סרטון, Slides

Selendroid - Selenium for Android

Dominik Dary (Adobe)

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

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

קישורים: סרטון, Slides

שמירה על שפיות בעולם ההיפר-מדיה

Amit Easow (Comcast)

ככל ש-Comcast התפתח מלחברת כבלים למנהיגה בתחום המדיה והטכנולוגיה, כך גם צוותי מהנדסי התוכנה הפכו חכמים יותר. כשעמית הצטרף ל-Comcast Interactive Media (CIM) בשנת 2006, הוא היה חנות לבדיקות ידניות. לאחר ששלח את האתר הראשון שלו ב-2007, הוא התחיל ליצור אבות טיפוס של תשתית אוטומטית לבדיקת ממשק המשתמש. הוא נכנס ל-Senium בשנת GTAC 2008 ולאחר מכן חזר ל-Comcast כדי לבנות תשתית לבדיקות אוטומטיות עם Selenium Grid, Hudson ו-Subversion. כיום הוא עובד על בדיקות API עם פריסות לייצור בסביבת יום חול. הדבר מתאפשר בעזרת Python, Git, Gerrit ו-Anthill.

קישורים: סרטון, Slides

מפעילים את תתבצע בזריזות ובמהירות עם MSL!

Bryan Robbins (FINRA) ו-Daniel Koo (FINRA)

אספקת תוכנה מהירה יותר מבלי לפגוע באיכות אינה משימה קלה. כולנו רוצים להתקדם במהירות על ידי פיתוח בדיקות בשלב מוקדם וביצוע בדיקות במהירות רבה יותר, עם טביעת רגל מינימלית בנוגע לתחזוקה. ב-FINRA פיתחנו את MSL (השמות המפורסמים של "Missile") כדי לאפשר לצוותים של Agile להשתמש בארכיטקטורות רב-שכבתיות כמו MVC כדי לבחון את קוד ממשק המשתמש שלהן מהר יותר ובאופן מבודד יותר.

MSL תומך בבדיקת שילוב של קוד ממשק משתמש (כגון JavaScript , HTML , CSS) על ידי פריסה מקומית בשרת Node.js והגדרת תגובות HTTP מדומות מקוד הבדיקה באמצעות אחד מהלקוחות שלנו (Java , JavaScript או Node.js). בדיון זה יוצגו כמה תכונות חשובות של MSL, עם כמה דוגמאות.

קישורים: סרטון, Slides

בדיקת חוויית המשתמש

Alex Eagle (Google)

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

קישורים: סרטון, Slides

שיחה על שולחן עגול 1 - בדיקה בפלטפורמות שונות לנייד

קישורים: סרטון, Slides

שיחה על שולחן עגול 2 – כיסוי אוטומציה של מסמכים

קישורים: סרטון, Slides

ההשפעה של מבנה הקהילה על הביצועים של פתרונות SAT

זאק ניוהאם (אוניברסיטת ווטרלו)

פותרי ה-SAT המודרניים של CDCL פותרים באופן קבוע מופעי SAT גדולים בתוך בית, בתוך פרקי זמן קצרים יחסית. ברור שהפתרונות האלה מנצלים במידה מסוימת את המבנה של המכונות בעולם האמיתי. עד כה, היו מעט תוצאות שאפיינו את המבנה הזה באופן מדויק. במאמר הזה אנחנו מספקים הוכחה לכך שיש קשר בין מבנה הקהילה במופעי SAT אמיתיים לבין זמן הריצה של מקודדי SAT של CDCL. מזה זמן מה ידוע שקהילות SAT בעולם האמיתי, הנקראות תרשימים, כוללות קהילות טבעיות. קהילה היא תת-תרשים בתרשים של מופע SAT, כך שלתרשים המשנה הזה יש קצוות פנימיים יותר מכפי שיוצאים לשאר התרשים. לרוב, מבנה הקהילה של תרשים מאופיין במדד איכות שנקרא Q. באופן אינטואיטיבי, ניתן להפריד בקלות בין תרשים של קהילה קהילתית באיכות גבוהה (Q גבוה) לקהילות קטנות יותר, בעוד שהתרשים עם האיכות הנמוכה אינו דומה. אנחנו מספקים שלוש תוצאות על סמך נתונים אמפיריים שמראים שמבנה הקהילה של אירועים תעשייתיים בעולם האמיתי הוא חיזוי מוצלח לזמן הריצה של פותרי CDCL, מאשר גורמים אחרים שנחשבים כמשתנים, כגון משתנים ומשפטים. ראשית, נראה שיש קשר הדוק בין ערך ה-Q לבין המדד 'מרחק חסימה מילולי' של האיכות של סעיפי הסכסוכים שעליהם חלה המדיניות בנושא מחיקת סעיפים בפתרונות דמויי גלוקוז. שנית, באמצעות ניתוח רגרסיה, אנחנו מראים שמספר הקהילות וערך ה-Q בתרשים של מכונות ה-SAT בעולם האמיתי חזוי יותר לזמן הריצה של פותרי CDCL, מאשר ערכים מסורתיים כמו מספר משתנים או משפטים. לסיום, אנחנו מראים שמופעי SAT שנוצרים באופן אקראי עם 0.05 ≤ Q ≤ 0.13 קשה יותר לפתרון עבור מקודדי CDCL מאשר אחרים.

קישורים: סרטון, Slides

מעבר לכיסוי: איזה דברים אפשר לראות ב'חבילות הבדיקה'?

Patrick Lam (אוניברסיטת ווטרלו)

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

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

קישורים: סרטון, Slides

מעבר לירוק: ניקוי הסביבה הניידת הרעילה

תומס קניץ' (Google), שטפן רמסואר (Google), Valera Zakharov (Google) ו-Vishal Sethia (Google)

נספק כלים וטכניקות ליצירת סביבות בדיקה מהירות, יציבות ויציבות, לביצוע בדיקות Android במצבי פיתוח אינטראקטיבי וגם במצב אינטגרציה רציפה (CI). הדבר מסתמך על השיחה ברמה גבוהה יותר שהצגנו ב-GTAC האחרון.

קישורים: סרטון, Slides