Подобряване на качеството на Jami
Проби на единица
- Трудно е да се направи единичен тест на проекта Jami поради състезателните условия на многоуровнева зависимост. 
- 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/testsfor Desktop,- jami-client-android/jami-android/app/src/androidTestfor Android)
Проби за интегриране
- Всеки ангажимент се провежда чрез тестове за интеграция в докери на строителните машини, детайлите на които можете да намерите на: jenkins.jami.net 
- Кодът се преразглежда от сътрудник разработчик, понякога кода се преразглежда от същия разработчик, това трябва да се избягва, за да се подчертае законът на Linus. 
- Sonarqube позволява на Jenkins да изгради Jami и да провери linting. Можете да намерите филтри и резултати на: sonar- jami.savoirfairelinux.net Sonar използва clang-tidy като предпроцесорски компилатор linting, можете да намерите clangs филтри в файла.clang-tidy в папката daemon. 
- 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. преди да ги изпратят на разработчиците, ако е необходимо.
Ако изданието съдържа сетков ангажимент, който е бил обеден, отделът по качество трябва да може да автоматизира различните тестове за свързаност (както е описано по-долу в конфигурациите на повикванията)
Обажда се на конфигурации.
Това е списъкът с мрежовите конфигурации, които трябва да бъдат тествани:
(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…) 
- Всяка нова функционалност трябва да бъде тествана на всяка платформа преди да бъде обединена с нея, за да се намали регресията. 
- Интегрира Sonarqube на всеки клиент 
- Автоматизиране на тестването на поведението на Jami върху мрежовата съвместимост