Plibonigi la kvaliton de la universitato

Unugaj provoj

  • Estas pli malfacile fari unitateston en la projekto Jami pro la vetkuro kondiĉoj sur plurnivela dependeco.

  • 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

  • Necesas sistemo por komenci konvinki la teamon fari ununutan teston por nova kodo antaŭ kunfandi

  • Vi povas lanĉi ilin farante make check en la demona dosiero aŭ aparte en la unueca testo dosiero kun gdb: gdb ut_media_encoder

  • La medio devas esti metita kun - disable-shared dum la./configure komando

  • Clients also have tests (cf jami-client-qt/tests for Desktop, jami-client-android/jami-android/app/src/androidTest for Android)

Integraciotestoj

  • Ĉiu komisio pasas tra integraj testoj en dokistoj sur la konstruo maŝinoj vi povas trovi la detalojn ĉe: jenkins.jami.net

  • Kodo-revizio estas farita fare de kunlaboranto, foje la kodo estas reviziita fare de la sama programisto, tio devas esti evitita por emfazi Linus leĝon. La Jenkins verifikis etikedo foje estas forĵetita kaj anstataŭigita per +1 de programisto, tio ankaŭ devas esti evitita.

  • Sonarqube permesas al Jenkins konstrui Jami kaj konfirmi linting. Vi povas trovi filtrilojn kaj rezultojn ĉe: sonar- jami.savoirfairelinux.net Sonar uzas clang-tidy kiel antaŭprocesora linting kompililo, vi povas trovi clangs filtrilojn en.clang-tidy dosiero en la demona dosiero.

  • On SFLVault sonarqube can be found at service m#2637 and admin logins at service s#7169

Doktoro kaj respondo:

  • Vi povas trovi la tutan dokumenton en docs.jami.net

  • La problemoj estas faritaj de programistoj aŭ uzantoj sur git.jami.net

Agento

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)

Testoj pri fumo

Antaŭ ol ĉiu liberigas ĉiujn klientojn, ĉiu devas preterpasi liston de scenaroj.

Scenarioj estas priskribitaj ĉi tie: [Jami fumat testoj]

Ili estas reviziitaj de QA dpt. antaŭ sendado al la programistoj se necese.

Se liberigo enhavas retkompromiso kiu estis kunfandita, la QA dept. devus povi aŭtomatigi la malsamaj konektiveco testoj (kiel dispeciĝis malsupre en alvokoj konfiguracioj)

Ĝi vokas konfiguraciojn.

Jen la listo de retkonfiguroj, kiuj devas esti testitaj:

(IPv4 ) IPv6 ) + (TURN ) + (STUN ) + (UPnP ) por ambaŭ flankoj.

Se ambaŭ flankoj estas IPv4 nur sen TURN/STUN/UPnP, la alvoko devus esti nur loka.

Kion oni devas fari

  • Establi sistemon ene de la teamo por certigi prizorgon kaj kreadon de unuotestaĵoj.

  • 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…)

  • Ĉiu nova funkcio devus esti testita sur ĉiu platformo antaŭ kunfandi ĝin por redukti regreson.

  • Integri sonarqube sur ĉiu kliento

  • Aŭtomatigi la testadon de la konduto de Jami sur retkompatibleco