자미 의 질 을 향상 시키기

단위 시험

  • 자미 프로젝트에 단위 테스트를 하기에는 여러 레벨의 의존에 대한 경주 조건 때문에 더 어려워집니다.

  • 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를 demon 폴더 또는 gdb: gdb ut_media_encoder로 단위 테스트 폴더에서 별도로 실행할 수 있습니다.

  • 환경은./konfigurate 명령어에서 –disable-shared로 설정되어야 합니다.

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

통합 테스트

  • 각 컴비트는 구축 기계의 도커에서 통합 테스트를 거쳐

  • 코드 리뷰는 동료 개발자가 수행하고 있으며, 때로는 코드 검토는 동일한 개발자가 수행하고 있으며, 이는 리누스 법칙을 강조하기 위해 피해야 합니다.

  • Sonarqube는 Jenkins를 Jami를 구축하고 linting를 확인할 수 있게 해줍니다. 당신은 필터와 결과를 찾을 수 있습니다: sonar- jami.savoirfairelinux.net Sonar는 clang-tidy를 사전 프로세서 linting 컴파일러로 사용합니다. 당신은 daemon 폴더에서 clang-tidy 파일에서 clangs 필터를 찾을 수 있습니다.

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

흡연 테스트

각 클라이언트가 각 시나리오를 넘어서야 합니다.

시나리오는 다음과 같다: [Jami 흡연 테스트]

필요하다면 개발자에게 보내기 전에 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의 행동 테스트를 자동화