Jami kvaliteedi parandamine
Moodulitestimine
Jami projektis on moodulitestimine tegemine keerukas, sest mitmel tasemel sõltuvused võivad tekitada järjestusvigu ja trügimist.
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
Selleks tuleb rakendada süsteemi, et meeskonda veenda, et nad teevad uue koodi üksus-testi enne ühinemist.
Võite neid alustada tehes make check daemonidesse või eraldi üksus-testi kaudesse gdb: gdb ut_media_encoder
Keskkonda tuleb seadistada -de-shared juhendil./configure
Clients also have tests (cf
jami-client-qt/tests
for Desktop,jami-client-android/jami-android/app/src/androidTest
for Android)
Integratsiooni katsed
Iga kommitsioon läbib integreerimistestid ehitusmasinidel, mille üksikasjad leiate aadressil: jenkins.jami.net
Koodi läbivaatamist teeb kaasarendaja, mõnikord läbivaatab koodi sama arendaja, seda tuleks vältida, et rõhutada Linuse seadust.
Sonarqube võimaldab Jenkinsil luua Jami ja kontrollida linting. Saate leida filtreid ja tulemusi: sonar- jami.savoirfairelinux.net Sonar kasutab clang-tidy kui eelprotsessori linting kompillator, saate leida clangs filtreid.clang-tidy faili daemonid.
On SFLVault sonarqube can be found at service m#2637 and admin logins at service s#7169
Dokumentatsioon ja tagasiside:
Kõik dokumendid leiate doc.jami.net’il.
Git.jami.net’i arendajad või kasutajad esitavad küsimusi
Agent
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)
Suitsutustestid
Enne iga kliendi vabastamist peab iga kliend olema üle loetelu stsenaariumidest.
Scenarioid on kirjeldatud siin: Jami suitsu testid
Neid vaatab läbi QA dpt. enne kui need vajadusel saadetakse arendajatele.
Kui väljaandmis sisaldab võrgu kommitti, mis on ühendatud, peaks QA depart. olema võimeline automaatselt tegema erinevaid ühendusvõime katsed (nagu on kirjeldatud allpool kõneluste konfiguratsioonides)
Kutsub konfigureeringuid.
See on nimekiri võrgu konfiguratsioonidest, mida tuleb katsetada:
(IPv4! IPv6) + (TURN!!TURN) + (STUN!!STUN) + (UPnP!! UPnP) mõlemal poolel.
Kui mõlemal poolel on ainult IPv4 ilma TURN/STUN/UPnP’ta, peaks kõne olema ainult kohalik.
Mida teha
Looda meeskonna sees süsteem, mis tagab üksuste katsete hoolduse ja loomise.
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…)
Iga uue funktsiooni tuleks enne ühinemist proovida igal platvormil, et vähendada regressiooni.
Integreerime sonarkviidi iga kliendile
Automeetistada Jami käitumise testimist võrgu ühilduvuses