Poboljšanje kvalitete Jamija
Uloženi su u testiranje
Teže je napraviti jedinični test na projektu Jami zbog uslova utrke na više razina ovisnosti.
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
Treba implementirati sustav kako bi se tim počeo uvjeriti da napravi test za novi kod prije spajanja
Možete ih pokrenuti obavljanjem make check u mapi daemon ili odvojeno u mapi test jedinica s gdb: gdb ut_media_encoder
Okruženje mora biti postavljeno s –deactiv-shared tijekom./configure zapovijed
Clients also have tests (cf
jami-client-qt/tests
for Desktop,jami-client-android/jami-android/app/src/androidTest
for Android)
Uloženi testovi
Svaki komit prolazi kroz integracijske testove u dokerima na strojevima za izgradnju možete pronaći detalje na: jenkins.jami.net
Kod-reviziju vrši kolega razvijač, ponekad kod pregleda isti razvijač, to se treba izbjeći kako bi se naglasio Linus zakon.
Sonarqube omogućuje Jenkins izgraditi Jami i provjeriti linting. Možete pronaći filtere i rezultate na: sonar- jami.savoirfairelinux.net Sonar koristi clang-tidy kao preprocesor linting kompilator, možete pronaći clangs filtere u.clang-tidy datoteku u datoteku daemon.
On SFLVault sonarqube can be found at service m#2637 and admin logins at service s#7169
Doktori i povratna informacija:
Sve dokumentacije možete pronaći na docs.jami.net
Problematike postave programeri ili korisnici na git.jami.net
-Agente.
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)
Ispitivanja dima
Prije nego što svaki pušta svaki klijent mora proći popis scenarija.
Scenariji su opisani ovdje: [Jami testovi dima]
Oni se pregledaju od strane QA dpt. prije nego što ga pošalje programerima ako je potrebno.
Ako izdavačka uredba sadrži mrežnu obvezu koja je spajena, QA dept. mora biti u mogućnosti automatizirati različite testove povezanosti (kao što je opisano u nastavku u konfiguracijama poziva)
Zove konfiguracije.
U nastavku se nalazi popis konfiguracija mreže koja treba testirati:
(IPv4! IPv6) + (TURN!!TURN) + (STUN!!STUN) + (UPnP!! UPnP) za obje strane.
Ako su obje strane samo IPv4 bez TURN/STUN/UPnP, poziv bi trebao biti samo lokalni.
Što je potrebno učiniti
U okviru tima uspostavi sustav za osiguranje održavanja i stvaranja jediničnih testova.
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…)
Svaka nova funkcionalnost treba testirati na svakoj platformi prije spajanja kako bi se smanjila regresija.
Integrira sonarqube na svakom klijentu
Automatizirati testiranje ponašanja Jami na mrežnoj kompatibilnosti