ジュミの質を向上させる

ユニットテスト

  • 複数のレベル依存関係にあるレース条件により,ジャミプロジェクトでユニットテストを行うのは難しい.

  • 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: gdb ut_media_encoder で単体テストフォルダで別々に実行できます.

  • /設定コマンドで環境を --de-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 は Jenkins に Jami を 構築し, linting を 検証させます.フィルターと結果 を: sonar- jami.savoirfairelinux.net で 見つけることができます. Sonar は clang-tidy を プリプロセッサ linting コンパイレーター として使用し, clangs の フィルタ を.clang-tidy ファイル で ダイモン フォルダー で 見つけることができます.

  • 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デパートは,異なる接続性テストを自動化できる (コール設定で下記のように)

設定を呼びます

これはテストする必要があるネットワーク構成のリストです.

ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!ターン!

両側がTURN/STUN/UPnPなしでIPv4のみである場合,呼び出しはローカルのみである.

すべきこと

  • チーム内でユニットテストの維持と作成を保証するシステムを確立する.

  • 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の行動のテストを自動化する