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