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