जमी की गुणवत्ता में सुधार
यूनिट टेस्ट
बहुस्तरीय निर्भरता पर दौड़ की स्थिति के कारण 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 करने के द्वारा डेमोन फ़ोल्डर में या अलग से gdb के साथ इकाई-परीक्षण फ़ोल्डर में
./configure कमांड के दौरान --disable-shared के साथ पर्यावरण को सेट करना आवश्यक है
Clients also have tests (cf
jami-client-qt/tests
for Desktop,jami-client-android/jami-android/app/src/androidTest
for Android)
एकीकरण परीक्षण
प्रत्येक कॉम निर्माण मशीनों पर डॉकर में एकीकरण परीक्षण से गुजरता है आप विवरण पर पा सकते हैंः jenkins.jami.net
कोड-पुनरावलोकन एक साथी डेवलपर द्वारा किया जाता है, कभी-कभी कोड को उसी डेवलपर द्वारा समीक्षा की जाती है, इसे लिनस कानून पर जोर देने के लिए टालना चाहिए। जेनकिन्स सत्यापित लेबल कभी-कभी त्याग दिया जाता है और एक डेवलपर से +1 से प्रतिस्थापित किया जाता है, इसे भी टालना चाहिए।
Sonarqube जेन्किंस को Jami बनाने और linting सत्यापित करने देता है. आप फिल्टर और परिणामों को पा सकते हैंः sonar- jami.savoirfairelinux.net Sonar एक प्रीप्रोसेसर linting संकलक के रूप में clang-tidy का उपयोग करता है, आप डेमन फ़ोल्डर में.clang-tidy फ़ाइल में clangs फिल्टर पा सकते हैं।
On SFLVault sonarqube can be found at service m#2637 and admin logins at service s#7169
डॉक्टर और प्रतिक्रियाः
आप डॉक्स.जमी.नेट पर सभी दस्तावेज पा सकते हैं
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)
धुएं परीक्षण
प्रत्येक रिलीज से पहले प्रत्येक ग्राहक को परिदृश्यों की एक सूची से गुजरना चाहिए।
यहाँ परिदृश्यों का वर्णन किया गया हैः [जामी धूम्रपान परीक्षण]
यदि आवश्यक हो तो इसे डेवलपर्स को भेजने से पहले उन्हें क्यूए डीटी द्वारा समीक्षा की जाती है।
यदि एक रिलीज़ में एक नेटवर्क कॉम शामिल है जिसे विलय कर दिया गया है, तो क्यूए डिपार्टमेंट को विभिन्न कनेक्टिविटी परीक्षणों को स्वचालित करने में सक्षम होना चाहिए (जैसा कि कॉल कॉन्फ़िगरेशन में नीचे वर्णित है)
कॉन्फ़िगरेशन कॉल करता है।
यह उन नेटवर्क कॉन्फ़िगरेशन की सूची है जिन्हें परीक्षण करने की आवश्यकता हैः
(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...)
प्रत्येक नए कार्यक्षमता को प्रतिगमन को कम करने के लिए इसे विलय करने से पहले प्रत्येक मंच पर परीक्षण किया जाना चाहिए
प्रत्येक ग्राहक पर sonarqube एकीकृत
नेटवर्क संगतता पर Jami के व्यवहार की जांच स्वचालित करें