Βελτίωση της ποιότητας του Τζάμι
Δοκιμές μονάδας
Είναι πιο δύσκολο να γίνει δοκιμή μονάδας στο έργο Jami λόγω των συνθηκών φυλής σε πολλαπλά επίπεδα εξάρτησης.
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
Πρέπει να εφαρμοστεί ένα σύστημα για να αρχίσει να πείσει την ομάδα να κάνει μια μονάδα-δοκιμασία για νέο κώδικα πριν συγχωνεύσει
Μπορείτε να τα ξεκινήσετε κάνοντας make check στο φακέλιο daemon ή ξεχωριστά στο φακέλιο unit-test με gdb: gdb ut_media_encoder
Το περιβάλλον πρέπει να ρυθμιστεί με –αποσυνδεθεί-οινομερισμένη κατά τη διάρκεια της εντολής./configure
Clients also have tests (cf
jami-client-qt/tests
for Desktop,jami-client-android/jami-android/app/src/androidTest
for Android)
Δοκιμές ενσωμάτωσης
Κάθε commit περνά από δοκιμές ενσωμάτωσης σε dockers στις μηχανές κατασκευής μπορείτε να βρείτε τις λεπτομέρειες στο: jenkins.jami.net
Η αναθεώρηση κώδικα γίνεται από έναν συνάδελφο, μερικές φορές ο κώδικας αναθεωρείται από τον ίδιο προγραμματιστή, αυτό πρέπει να αποφεύγεται για να τονιστεί ο νόμος Linus.
Η Sonarqube επιτρέπει στον Jenkins να κατασκευάζει Jami και να επαληθεύει την περιγραφή. Μπορείτε να βρείτε φίλτρα και αποτελέσματα στο: sonar- jami.savoirfairelinux.net Η Sonar χρησιμοποιεί clang-tidy ως προεπεξεργαστής περιγραφής συλλογικού, μπορείτε να βρείτε φίλτρα clangs στο αρχείο.clang-tidy στο φάκελο daemon.
On SFLVault sonarqube can be found at service m#2637 and admin logins at service s#7169
Δόκ και σχόλια:
Μπορείτε να βρείτε όλη την τεκμηρίωση στο docs.jami.net
Τα ζητήματα γίνονται από τους προγραμματιστές ή τους χρήστες στο git.jami.net
Πράκτορα.
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)
Δοκιμασίες καπνού
Πριν αποχωρήσουν, όλοι οι πελάτες πρέπει να περάσουν από μια λίστα σενάρων.
Σεναρίου περιγράφονται εδώ: [έλεγχοι καπνού Jamie]
Εξετάζονται από την QA dpt. πριν τα στείλουν στους προγραμματιστές αν χρειαστεί.
Εάν μια έκδοση περιέχει ένα δεσμευμένο δίκτυο που έχει συγχωνευθεί, το τμήμα QA θα πρέπει να είναι σε θέση να αυτοματοποιήσει τις διαφορετικές δοκιμές συνδεσιμότητας (όπως περιγράφεται παρακάτω στις ρυθμίσεις Calls)
Καλεί τις ρυθμίσεις.
Ορίστε η λίστα των διαμορφώσεων δικτύου που πρέπει να δοκιμαστούν:
(IPv4! IPv6) + (TURN!! TURN) + (STUN!! STUN) + (UPnP!! UPnP) για τις δύο πλευρές.
Εάν και οι δύο πλευρές είναι μόνο IPv4 χωρίς TURN/STUN/UPnP, η κλήση θα πρέπει να είναι μόνο τοπική.
Τι πρέπει να γίνει
Να δημιουργηθεί σύστημα εντός της ομάδας για να εξασφαλίζεται η συντήρηση και η δημιουργία δοκιμών μονάδας.
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…)
Κάθε νέα λειτουργία θα πρέπει να δοκιμάζεται σε κάθε πλατφόρμα πριν από τη συγχώνευση της για τη μείωση της υποτροπής
Ενσωματώστε σόναρκουμπ σε κάθε πελάτη
Αυτοματοποίηση των δοκιμών της συμπεριφοράς των Jami για τη συμβατότητα δικτύου