בדיקת פלטפורמת אנדרואיד

AOSP מספקת מספר כלים וחבילות בדיקה לבדיקת חלקים שונים ביישום שלך. לפני שתמשיך בסעיף זה, עליך להכיר את המונחים הבאים:

מכשיר תואם אנדרואיד
מכשיר שיכול להריץ כל אפליקציה של צד שלישי שנכתבה על ידי מפתחים של צד שלישי המשתמשים ב-Android SDK ו-NDK. מכשירים התואמים ל-Android חייבים לעמוד בדרישות של מסמך הגדרת התאימות (CDD) ולעבור את חבילת בדיקת התאימות (CTS) . מכשירים תואמי אנדרואיד זכאים להשתתף באקוסיסטם של אנדרואיד, הכולל רישיון פוטנציאלי של חנות Google Play, רישיון פוטנציאלי של חבילת האפליקציות וממשקי ה-API של Google Mobile Services (GMS) , ושימוש בסימן המסחרי של Android. כל אחד מוזמן להשתמש בקוד המקור של אנדרואיד, אבל כדי להיחשב כחלק מהמערכת האקולוגית של אנדרואיד, מכשיר חייב להיות תואם לאנדרואיד.
חפץ
חפצים הם יומנים הקשורים לבנייה המאפשרים פתרון בעיות מקומי.
מסמך הגדרת תאימות (CDD)
מסמך המונה את דרישות התוכנה והחומרה עבור מכשיר תואם אנדרואיד.
חבילת בדיקת תאימות (CTS)

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

מבחני CTS ופלטפורמה אינם סותרים זה את זה. להלן כמה הנחיות כלליות:

  • אם בדיקה קובעת נכונות של פונקציות או התנהגויות של מסגרת API, ויש לאכוף אותה על פני שותפי OEM, היא צריכה להיות ב-CTS.
  • אם בדיקה נועדה לתפוס רגרסיות במהלך פיתוח הפלטפורמה, ועשויה לדרוש הרשאה מוסמכת לביצוע, ועשויה להיות תלויה בפרטי יישום (כפי שפורסמו ב-AOSP), היא צריכה להיות בדיקת פלטפורמה.
Google Mobile Services (GMS)

אוסף של אפליקציות וממשקי API של Google שניתן להתקין מראש במכשירים.

GoogleTest (GTest)

GTest היא מסגרת בדיקה ולעג ל-C++. קבצים בינאריים של GTest ניגשים בדרך כלל לשכבות הפשטה ברמה נמוכה יותר או מבצעים IPC גולמי מול שירותי מערכת שונים. גישת הבדיקה של GTest קשורה בדרך כלל באופן הדוק לשירות הנבדק. CTS מכיל את מסגרת GTest.

בדיקת מכשור

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

Logcat

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

רישום

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

מבחן לאחר הגשה

בדיקות פוסט של אנדרואיד מבוצעות כאשר תיקון חדש מחויב לענף ליבה משותף. על ידי הזנת aosp_kernel כשם ענף חלקי, אתה יכול לראות רשימה של ענפי ליבה עם תוצאות זמינות. לדוגמה, ניתן למצוא תוצאות עבור android-mainline בכתובת https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid .

להגיש מבחן מראש

בדיקות Presubmit משמשות למניעת הכנסת כשלים לגרעין הנפוצים.

פדרציית הסחר

Trade Federation, הנקראת גם Tradefed, היא מסגרת בדיקה רציפה המיועדת להפעלת בדיקות במכשירי אנדרואיד. לדוגמה, Tradefed משמש להפעלת בדיקות Compatibility Test Suite ו- Vendor Test Suite.

Vendor Test Suite (VTS)

ה-Android Vendor Test Suite (VTS) מספק יכולות נרחבות לבדיקות אנדרואיד, מקדמת תהליך פיתוח מונחה בדיקה, ומכשרת בדיקות HAL ומערכת הפעלה אוטומטית.

סוגי בדיקות פלטפורמה

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

  • (סוג 1) תרגיל ממשקי API של מסגרת באמצעות Android Framework. ממשקי API ספציפיים המופעלים יכולים לכלול:
    • ממשקי API ציבוריים המיועדים לאפליקציות של צד שלישי
    • ממשקי API מוסתרים המיועדים לאפליקציות מורשות, כלומר ממשקי API של מערכת או ממשקי API פרטיים ( @hide , or מוגן , חבילה פרטית`)
  • (סוג 2) הפעל את שירותי מערכת אנדרואיד באמצעות קלסר גולמי או פרוקסי IPC ישירות.
  • (סוג 3) אינטראקציה ישירה עם HALs באמצעות APIs ברמה נמוכה או ממשקי IPC.

מבחני סוג 1 ו-2 הם בדרך כלל מבחני מכשור, בעוד שמבחנים מסוג 3 הם בדרך כלל מבחני GT.

מה הלאה?

להלן רשימה של המסמכים הבאים שאתה עשוי לקרוא: