ジュミの質を向上させる
ユニットテスト
複数のレベル依存関係にあるレース条件により,ジャミプロジェクトでユニットテストを行うのは難しい.
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の行動のテストを自動化する