בהמשך מפורטות כמה צורות אוטומציה אופייניות שאפשר להשתמש בהן במערכת ה-CI.
משימות בסיסיות
יצירת גרסה (build): כשיוצרים פרויקט מאפס, מוודאים שהשינויים החדשים עוברים הידור בצורה תקינה ושכל הספריות והכלים תואמים זה לזה.
בדיקות איתור שגיאות או בדיקות סגנון: השלב הזה הוא אופציונלי, אבל מומלץ. כשאתם אוכפים כללי סגנון ומבצעים ניתוח סטטי, ביקורות הקוד יכולות להיות תמציתיות וממוקדות יותר.
בדיקות מקומיות או בצד המארח: הן פועלות במחשב המקומי שבו מתבצע ה-build. ב-Android, בדרך כלל מדובר ב-JVM, כך שהן מהירות ואמינות. הן כוללות גם בדיקות Robolectric.
בדיקות עם אינסטרומנטציה
בדיקות שפועלות במהדמנים או במכשירים פיזיים מחייבות הקצאה מסוימת, המתנה להפעלה או לחיבור של המכשירים ופעולות אחרות שמוסיפות מורכבות.
יש כמה אפשרויות להרצת בדיקות עם מכשירי מדידה ב-CI:
- אפשר להשתמש ב-Gradle Managed Devices כדי להגדיר את המכשירים שבהם רוצים להשתמש (לדוגמה, "Pixel 2 emulator on API 27"), והוא מטפל בהקצאת המכשירים.
- רוב מערכות ה-CI מגיעות עם פלאגין של צד שלישי (שנקרא גם 'פעולה', 'שילוב' או 'שלב') לטיפול במהדמנים של Android.
- להקצות בדיקות עם מכשירי מעקב לחוות מכשירי בדיקה, כמו Firebase Test Lab. חוות מכשירי הבדיקה נחשבות לאמינות מאוד, והן יכולות לפעול במהדמנים או במכשירים פיזיים.
בדיקות רגרסיה של ביצועים
כדי לעקוב אחרי ביצועי האפליקציה, מומלץ להשתמש בספריות למדדי ביצועים. כדי לבצע אוטומציה של בדיקות הביצועים במהלך הפיתוח, נדרשים מכשירים פיזיים כדי להבטיח תוצאות בדיקה עקביות וריאליסטיות.
הפעלת מדדי ביצועים יכולה להימשך זמן רב, במיוחד כשיש כיסוי נרחב של הקוד ותהליכי השימוש שאתם בודקים. במקום להריץ את כל אבני הבקרה לכל תכונה או השמה (commit) ששולבו, כדאי להריץ אותן כחלק מתהליך build לתחזוקה מתוזמן באופן קבוע, כמו build לילה.
מעקב אחר הביצועים
אתם יכולים לעקוב אחר רגרסיות בביצועים באמצעות התאמה לפי שלבים. התאמה לפי שלבים מגדירה חלון נע של תוצאות גרסאות build קודמות, שמשווים אליהן את הגרסה הנוכחית. הגישה הזו משלבת כמה תוצאות של מדדי ביצועים למדד אחד ספציפי לרגרסיה. אפשר להחיל התאמה של שלבים כדי לצמצם את הרעש במהלך בדיקת רגרסיה.
כך ניתן לצמצם את מספר הזיהויים השגויים של תוצאות חיוביות, שיכולים להתרחש כשזמני הסימון נמוכים בגרסה אחת של build ואז חוזרים לזמנים רגילים.
בדיקות רגרסיה של כיסוי הבדיקה
כיסוי הבדיקה הוא מדד שיכול לעזור לכם ולצוות שלכם להחליט אם הבדיקות מכסות שינוי בצורה מספקת. עם זאת, הוא לא צריך להיות האינדיקטור היחיד. נהוג להגדיר בדיקת רגרסיה שתיכשל או תציג אזהרה כשהיקף הכיסוי קטן יותר בהשוואה להסתעפות הבסיסית.