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