π§ͺ ΠΠ»Π°Π½ QA-Π°ΡΠ΄ΠΈΡΠ° ΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° (JXCT H2-2025)
> ΠΠ΅ΡΡΠΈΡ 1.1 | ΠΠ°ΡΠ°: 2025-06-24 | ΠΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠ΅: QA-Lead, Lead Dev, Arch
---1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π΄ΠΎΡΠΎΠΆΠ½ΡΠ΅ ΠΊΠ°ΡΡΡ ΡΡΡΠ°ΡΠ΅Π»ΠΈ ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ OTA 2.0, ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ UI ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΉ CSV-ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠΈ. ΠΠ°ΡΡΠΎΡΡΠΈΠΉ ΠΏΠ»Π°Π½ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ Π²Π΅ΠΊΡΠΎΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ: ΡΠΎΠΊΡΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Β«code smellsΒ», ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΡ Π±Π°Π·Ρ ΠΊ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π±Π΅Π· ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.---
2. Π¦Π΅Π»ΠΈ (H2-2025)
| # | Π¦Π΅Π»Ρ | KPI / ΠΌΠ΅ΡΡΠΈΠΊΠ° | |---|------|---------------| | 1 | Π£ΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΎΠ»Π³ | Tech-Debt SLO β€ 45 Π΄Π½Π΅ΠΉ,Sonar rating β₯ A | | 2 | ΠΠΎΠ²ΡΡΠΈΡΡ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΠ°ΠΌΠΈ | Unit coverage β₯ 85 %,
Integration β₯ 60 % | | 3 | ΠΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ | 0 ΡΠΈΠΊΠ»ΠΎΠ² Π² include-Π³ΡΠ°ΡΠ΅ (include-what-you-use) | | 4 | Π‘Π½ΠΈΠ·ΠΈΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° | Duplication < 3 % (cloned lines) | | 5 | ΠΠΎΠ²ΡΡΠΈΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ CI | Build-success = 100 %
(main + PR) | | 6 | Π£Π»ΡΡΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ | 0 high-severity security issues |
---
3. ΠΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° QA-Π°ΡΠ΄ΠΈΡΠ°
1. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° clang-tidy (modernize-, performance-, readability-) * Cppcheck (MISRA subset) * Sonar C++ (community edition) 2. ΠΠΎΠΈΡΠΊ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ βcpp-dependencies
, cloc --by-file --duplicates
.
3. ΠΡΠ°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ β include-what-you-use
+ Graphviz
.
4. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ β Lizard: CCN β₯ 15 β hot-spot.
5. Runtime-Π°ΡΠ΄ΠΈΡ β AddressSanitizer + LeakSanitizer (native build).
6. Security audit β OWASP IoT Top 10, dependency scanning.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΈΠΊΡΠΈΡΡΡΡΡΡ Π² ΠΎΡΡΡΡΠ΅ tech_debt_report_2025-07.md
(ΡΠ°Π±Π»ΠΎΠ½ β ΡΠΌ. docs/dev/TECH_DEBT_REPORT_2025-06.md
).
4. ΠΡΠ°ΠΏΡ ΠΈ ΡΡΠΎΠΊΠΈ
| ΠΠ΅Π΄Π΅Π»Ρ | Deliverable | Owner | |--------|-------------|-------| | 26 (24-28 ΠΈΡΠ½) | Setup clang-tidy + IWYU Π² CIΠ‘Π½ΠΈΠΌΠΎΠΊ Π±Π°Π·ΠΎΠ²ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ | DevOps | | 27 (01-05 ΠΈΡΠ») | ΠΠΎΠ»Π½ΡΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΡΡΡΡ + ΡΠΏΠΈΡΠΎΠΊ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ smells | QA | | 28-29 | Refactor Sprint-1: low-hanging (duplication, naming) | DevTeam | | 30 (22-26 ΠΈΡΠ») | Π Π΅Π³ΡΠ΅ΡΡ-ΡΠ΅ΡΡΡ + code-coverage ΠΎΡΡΡΡ | QA | | 31-33 | Refactor Sprint-2: architecture (ΡΠΈΠΊΠ»Ρ, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ routing split) | DevTeam | | 34 (19-23 Π°Π²Π³) | Beta v3.5.0 (core stability focus) | FW-Lead |
---
5. ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΏΠΈΠΊΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π°
| Epic ID | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | DoD | |---------|----------|-----| | RF-1 | CI Hardening 2.0 β clang-tidy Β«errorΒ» ΡΡΠΎΠ²Π΅Π½Ρ, Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ merge | main Π·Π΅Π»ΡΠ½ΡΠΉ 30 Π΄Π½Π΅ΠΉ ΠΏΠΎΠ΄ΡΡΠ΄ | | RF-2 | Dependency Flattening β ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ include-ΡΠΈΠΊΠ»Ρ, Π²Π½Π΅Π΄ΡΠΈΡΡforward decl
| IWYU ΠΎΡΡΡΡ = 0 ΡΠΈΠΊΠ»ΠΎΠ² |
| RF-3 | Sensor Abstraction v2 β ΡΠΈΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ISensor
+ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΡ Adapter | Π Π΅Π°Π»ΡΠ½ΡΠ΅ ΠΈ Fake Π΄Π°ΡΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ±ΡΠΈΠΉ API |
| RF-4 | RecommendationEngine extraction β Π²ΡΠ½Π΅ΡΡΠΈ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΠ· routes_*
Π² ΠΌΠΎΠ΄ΡΠ»Ρ | β₯ 80 % unit coverage ΠΌΠΎΠ΄ΡΠ»Ρ |
| RF-5 | Security Hardening β CSRF ΡΠΎΠΊΠ΅Π½Ρ, rate limiting, input validation | 0 high-severity security issues |
---
6. Π ΠΈΡΠΊΠΈ ΠΈ ΠΌΠΈΡΠΈΠ³aΡΠΈΡ
| Π ΠΈΡΠΊ | ΠΠ»ΠΈΡΠ½ΠΈΠ΅ | ΠΠΈΡΠΈΠ³aΡΠΈΡ | |------|---------|-----------| | ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ β Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡ | Π‘ΡΠ΅Π΄Π½Π΅Π΅ | ΠΡΠ΄Π΅Π»ΠΈΡΡ 20 % ΡΠΏΡΠΈΠ½ΡΠ° ΠΏΠΎΠ΄ tech-debt (policy) | | ΠΠΎΠΌΠ°Π΅ΠΌ API Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ | ΠΡΡΠΎΠΊΠΎΠ΅ | ΠΠΎΠ½ΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ (integration) + SemVer-tag | | Π ΠΎΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Flash ΠΏΠΎΡΠ»Π΅ IWYU | ΠΠΈΠ·ΠΊΠΎΠ΅ |linker-gc-sections
, -Os
, ΡΠ±ΡΠ°ΡΡ dead-code |
| Π Π΅Π³ΡΠ΅ΡΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° | ΠΡΡΠΎΠΊΠΎΠ΅ | ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ + ΡΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ |
---
7. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
* Π£Π΄Π°Π»ΡΠ½STATIC_PAGES_MIGRATION_PLAN.md
(ΠΎΡΠΌΠ΅Π½ΡΠ½ ΠΈΠ·-Π·Π° ΡΠΈΡΠΊΠΎΠ²)
* ΠΠ±Π½ΠΎΠ²Π»ΡΠ½ TECH_DEBT_REPORT_2025-06.md
Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ
* Π€ΠΎΠΊΡΡ Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ΄Π°
---
8. ΠΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ°
Π‘ΡΠ°ΡΡΡ-Π±ΠΎΡΠ΄ GitHub Projects "Refactoring & QA 2025-H2" c Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ: *tech-debt π
β issue ΠΈΠ· ΠΎΡΡΡΡΠ° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°;
* architecture π§
β Π·Π°Π΄Π°ΡΠΈ ΡΠΏΠΈΠΊΠΎΠ² RF-2 / RF-3 ;
* security π
β Epic RF-5.
ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΈΠΌΠ΅Π΅Ρ: ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ smell / ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΡΡΡΡ, ΡΠ΅ΠΊ-Π»ΠΈΡΡ DoD.
--- Β© JXCT Team, 2025 β Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ (ΡΡΡΠ»ΠΊΠ° Π² CI: nightlyβgen-tech-debt).