A Jami minőségének javítása
Egyetleges vizsgálatok
Nehéz egy egységes teszteket végezni Jami projektnél a többszintű függőségre vonatkozó versenyfeltételek miatt.
A lefedettséghez az lcov-ot használjuk, az lcov konfigurációját a démon Makefile.am oldalán találja meg. A lefedettség a https://docs.jami.net/coverage/ és a https://dl.jami.net/docs/dhtnet/coverage címeken is megtalálható.
A rendszer bevezetése szükséges ahhoz, hogy meggyőzze a csapatot, hogy készítsen egy egységes tesztet az új kódra, mielőtt egyesülne.
A daemon mappában vagy külön a gdb: gdb ut_media_encoder egységes teszt mappában lehet őket indítani.
A környezetet a /konfigurál parancs alatt –disable-shared-vel kell beállítani
Az ügyfeleknek tesztjeik is vannak (vö.
jami-client-qt/tests
asztali gépekhez,jami-client-android/jami-android/app/src/androidTest
Android esetén).
Integrációs vizsgálatok
Minden egyes elkötelezettség integrációs teszteken megy keresztül a beállítókon a építő gépeken.
A kód-értékelést egy fejlesztővel végez, néha a kódot ugyanaz a fejlesztő felülvizsgálja, ezt elkerülni kell, hogy hangsúlyozza a Linus törvényt.
A Sonarqube lehetővé teszi Jenkins számára Jami építését és a linting-ellenőrzését. A szűrőket és a eredményeket a következő helyen találhatja: sonar- jami.savoirfairelinux.net A Sonar a clang-tidy-t használ a előfeldolgozó linting-összeállítóként, a daemon mappában a.clang-tidy-fájlokban megtalálhatja a clangs szűrőket.
Az SFLVault sonarqube az m#2637 szolgáltatásnál, az adminisztrátori bejelentkezések pedig az s#7169 szolgáltatásnál találhatók.
Doktor és visszajelzés:
A dokumentációt a docs.jami.net oldalon találhatja.
A git.jami.net weboldalán a fejlesztők vagy felhasználók kérdéseit
Agent
Minden este hívások százait tesztelik 2 ügynökön keresztül, és minden reggel üzenet jelenik meg a chatben az eredménnyel (ha minden hívás sikeres volt-e vagy sem).
A füstvizsgálat
Mielőtt minden egyes ügyfél kienged, minden ügyfélnek meg kell lépnie egy listát a forgatókönyvekről.
A következő forgatókönyvekről van szó: [Jami dohányvizsgálatok]
A QA dpt átvizsgálja őket, mielőtt szükség esetén elküldjük a fejlesztőknek.
Ha egy kiadásban egy összekapcsolódott hálózati elkötelezettség található, a QA-osztálynak képesnek kell lennie az egyes csatlakozási teszteket automatizálni (a továbbiakban a hívások konfigurációiban bemutatott módon).
Felhívja a konfigurációkat.
A következő a tesztelendő hálózati konfigurációk listája:
(IPv4! IPv6) + (TURN!! TURN) + (STUN!! STUN) + (UPnP!! UPnP) mindkét oldalnak.
Ha mindkét oldal csak IPv4, TURN/STUN/UPnP nélkül, a hívás csak helyinek kell lennie.
Mit kell tenni?
A csapatban létrehozzon egy rendszert, amely biztosítja az egységes vizsgálatok karbantartását és létrehozását.
Minden fő funkciót teljes egészében kell tesztelni egy teszt hozzáadásával (azaz meg kell győződni arról, hogy üzenet érkezett, a hívás mindkét oldalon jól végződött-e stb.)
Minden új funkciót minden platformon kell tesztelni, mielőtt egyesítjük a regresziót csökkenteni
Integráljuk a sonarkbét minden ügyfélre
Automatizálja a Jami viselkedésének tesztelését a hálózati kompatibilitásról