שיפור איכות ג’מי

מבחנים יחידים

  • קשה יותר לבצע מבחן יחידה על פרויקט ג’אמי בגלל תנאי הגירסה על תלונות מרובות רמות.

  • We use lcov for the coverage, you can find the lcov’s configuration in the daemon’s Makefile.am. Also, the coverage can be found at https://docs.jami.net/coverage/ and https://dl.jami.net/docs/dhtnet/coverage

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

  • אתה יכול להפעיל אותם על ידי עורך make check במגוון דיימון או בנפרד במגוון בדיקה יחידה עם gdb: gdb ut_media_encoder

  • הסביבה צריכה להיות מוגדרת עם –disable-shared במהלך פקודה./configure

  • Clients also have tests (cf jami-client-qt/tests for Desktop, jami-client-android/jami-android/app/src/androidTest for Android)

מבחנים לאינטגרציה

  • כל מחויבות עוברת בדיקות אינטגרציה במעבורים על מכונות הבנייה.

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

  • סונארקוב מאפשר לג’נק’ינס לבנות ג’מי ולמתקן את ריצ’י. ניתן למצוא פילטרים ותוצאות ב: sonar- jami.savoirfairelinux.net סונאר משתמש ב- clang-tidy כמתאגר של ריצ’י מראש, ניתן למצוא את פילטרים של clangs בקובץ.clang-tidy בתיקון הדיימון.

  • On SFLVault sonarqube can be found at service m#2637 and admin logins at service s#7169

דוקטור ותגובה:

  • אתה יכול למצוא את כל המסמכים על docs.jami.net

  • בעיות נובעות ממפתחים או משתמשים ב git.jami.net

סוכן.

Every night, hundred of calls are tested via 2 Agents and a message is posted every morning in the chat with the result (if all call succeeded or not)

בדיקות עשן

לפני כל שחרור כל לקוחות חייבים לעבור רשימה של סצנות.

סצנות מתוארות כאן: [בדיקות עשן ג’מי]

הם בודקים על ידי QA dpt. לפני שישלחו אותו למפתחים אם צריך.

אם שחרור מכיל מחויבות רשת שהוגדרה, מחלקת ה-QA צריכה להיות מסוגלת לאוטומטית את בדיקות החיבורים השונות (כפי שתואר בהמשך בהשגדרות שיחות)

קורא להגדירויות.

זה רשימה של מערכות רשת שצריכות בדיקות:

(IPv4! IPv6) + (TURN!! TURN) + (STUN!! STUN) + (UPnP!! UPnP) לשני הצדדים.

אם שני הצדדים הם IPv4 בלבד ללא TURN/STUN/UPnP, השיחה צריכה להיות מקומית בלבד.

מה צריך לעשות

  • הקמת מערכת בתוך הצוות כדי להבטיח תחזוקה ושיקום של מבחני יחידה.

  • Each major functionality should be tested as whole by adding a test (i.e. making sure a message was received, the call was ended well on both side, etc…)

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

  • אינטגר את סונארקוב על כל לקוח

  • אוטומטיז את בדיקת התנהגות של ג’מי על תאימות רשת