GTAC 2013: מצגות יום 1

הערות פתיחה

Tony Voellm (Google)

iWork Keynote - האבולוציה מאבטחת איכות ועד הנדסת בדיקות

Ari Shamash (Google)

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

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

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

מערכות בדיקה בקנה מידה גדול @Twitter

James Waldrop (Twitter)

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

איך בודקים מערכת הפעלה לנייד?

David Burns (Mozilla) ו-Malini Das (Mozilla)

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

אוטומציה לנייד בצינור עיבוד רציף לפיתוח

איגור דורובסקי (Expedia) ו-Kaustubh Gawande (Expedia)

בתחילת 2012, Expedia התחילה להשקיע באפליקציות לנייד ובאפליקציות ל-iOS ול-Android. במקביל, מהנדסי הבדיקה התחילו לפתח פתרונות לאוטומציה של הבדיקה כדי ליצור מוצרים איכותיים ונבדקים בהתחלה. בהרצאה זו נשתף את הניסיון והלמידה שלנו בשימוש בכלים של קוד פתוח כדי ליצור בדיקות אוטומטיות בסביבת Agidia לפיתוח ופיתוח רציף. נדבר על פירמידת הבדיקה, ונפרט יותר על כלים ספציפיים בקוד פתוח שהניבו תוצאות טובות. חלק מכלי הקוד הפתוח שבהם אנחנו משתמשים הם כלי BDD כמו Cucumber, כלי האוטומציה של האינטרנט Selenium-WebDriver, כלי האוטומציה של iOS פרנק, כלי האוטומציה של Android Robotium ו-Calabash, כמו גם מערכת השילוב הרציף Jenkins. בנוסף, נשתף כמה מעקרונות המסירה של Agile, שאנו שואפים לאמץ כמו TDD, Partner Program, Build ו-tests לרדיאטורים. לבסוף, נשתף כמה מהיתרונות שהבנו מההשקעה שלנו ב-Agile, ונבדוק את האוטומציה שלנו ואיך זה מביא אותנו ליעדים של פיתוח רציף (continuous delivery).

בדיקות אוטומטיות לממירים עם GStreamer ו-OpenCV

David Röthlisberger (YouView)

נבנה מערכת לצילום תמונות שבעזרתה תוכלו לצלם תמונות תוך 3 דקות, באמצעות כלי שורת הפקודה והכלי OpenCV של GStreamer. (GStreamer היא מסגרת לעיבוד מדיה בקוד פתוח; OpenCV - "Open Computer Vision" - היא ספריית עיבוד תמונות בקוד פתוח.)

דוגמה מובילה למערכת כזו היא http://stb-tester.com, כלי קוד פתוח שפותח ב-YouView כדי לבצע אוטומציה של בדיקת ממשק המשתמש של הממירים שלנו. נתאר את ה-Stb-tester, את הגמישות שאנחנו מציעים ל ונמק בעזרת השימוש ב-GStreamer, את חלק מהאפשרויות הזמינות, וגם את האתגרים שעומדים בפנינו.

מנהל התקן עבור Chrome

Ken Kania ( Google)

Chrome החל כדפדפן עם Windows בלבד, והתרחב ל-Mac , Linux , ChromeOS ולאחרונה, ל-Android ול-iOS. קשה היה לבצע בדיקות אוטומציה של אפליקציות אינטרנט בפלטפורמות האלה על ידי משתמשים, ונדרשת גישות אוטומציה שונות. דיון זה יתאר את עבודת הצוות של Chrome כדי ש-WebDriver יהיה זמין עבור Chrome בכל הפלטפורמות. השינוי יכלול מבט טכני על הגישה הבסיסית, אבל נתמקד באופן שבו מפתחים יכולים להשתמש ב-ChromeDriver החדש כדי לכתוב בדיקות לפלטפורמות השונות של Chrome. בנוסף, נציין את המצב הנוכחי של הפרויקט ומפת דרכים לעתידו.

קארמה – הרצת בדיקה ל-JavaScript

Vojta Jina ( Google)

מבוא לקארמה - הרצת בדיקה שהופכת את בדיקת יישומי JavaScript בדפדפנים אמיתיים לקלה ומהנה.

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

מדידות אוטומטיות של איכות הווידאו

Patrik Höglund ( Google)

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

כאשר קורים דברים רעים לאפליקציות טובות...

Mina Mishra (Netflix)

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

בדיקות משחקים וגיימינג חינוכיים לבדיקה

טאו שיה (אוניברסיטת צפון קרוליינה)

בשיחה הזו נציג את Pex4Fun (http://www.pexforfun.com/), שמשתמשת ביצירת בדיקות אוטומטיות כדי לתת עדיפות למתן ציון אוטומטי במערכת תכנות וירטואלית, שיכולה להתאים למאות אלפי משתמשים. הוא מספק חוויית משחק מוכוונת-תכנתית מחוץ לכיתה, ומעודד משתמשים ללמוד מיומנויות שונות בתכנות ובהנדסת תוכנה, כולל מיומנויות בדיקה, כמו כתיבת בדיקות יחידות עם פרמטרים. Pex4Fun תורם באופן משמעותי לבעיה המוכרת של מתן ציונים למטלות, וכן מספק חוויית למידה מהנה המבוססת על משחקים אינטראקטיביים. Pex4Fun זכה לפופולריות גבוהה בקהילה: מאז השקתו ביוני 2010, מספר הקליקים על הלחצן 'שאל פק!' (שגרם לניסיונות של המשתמשים לפתור משחקים ב-Pex4Fun) הגיע למיליון נקודות מתחילת שנת 2013.

נאום פתיחה – איך Facebook בודקת את Facebook ב-Android

סימון סטיוארט (Facebook)

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