提高贾米的质量
单体测试
由于在多级依赖的竞赛条件,
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
需要实施一个系统,才能开始说服团队在合并之前进行新代码的单元测试.
您可以通过在 daemon文件中或单元测试文件中进行makecheck启动:
环境需要在./configure命令中设置为 –disable-shared
Clients also have tests (cf
jami-client-qt/tests
for Desktop,jami-client-android/jami-android/app/src/androidTest
for Android)
集成测试
每个提交都通过了构建机器的码头进行集成测试.
代码审查由开发人员进行,有时代码由同一个开发人员进行审查,这应该避免强调Linus法. 詹金斯验证标签有时被丢弃并被开发人员替换为+1,这也应该被避免.
索纳库让詹金斯构建Jami并验证接.你可以在:sonar- jami.savoirfairelinux.net找到过器和结果.索纳使用clang-tidy作为预处理器接编译器,你可以在.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)
烟雾测试
在每个客户发布之前,每个客户都必须通过一列情景.
根据”米烟雾测试”的情况,
在需要时,他们会被QAD进行审查,然后向开发人员发送.
如果发布包含已合并的网络提交,QA部门应该能够自动化不同的连接测试 (如下所述的呼叫配置)
调用配置.
需要测试的网络配置列表:
现在我们要做什么?
如果双方只使用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行为测试