שיפור איכות ג’מי
מבחנים יחידים
קשה יותר לבצע מבחן יחידה על פרויקט ג’אמי בגלל תנאי הגירסה על תלונות מרובות רמות.
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…)
כל פונקציונליות חדשה צריכה להיבדק בכל פלטפורמה לפני שילובה כדי להפחית את ההשלכות
אינטגר את סונארקוב על כל לקוח
אוטומטיז את בדיקת התנהגות של ג’מי על תאימות רשת