Quelle est la signification de « version stable » ?


Des produits logiciels massifs sont construits au-dessus, entre autres, d'une infrastructure de test encore plus massive, contenant littéralement des milliers de tests dédiés de différents types.

Tous ces tests sont là pour garantir que le logiciel a la correction fonctionnelle conçue dans tous les aspects, et la résilience pour bien fonctionner sous la pression ou les attaques (en utilisant des tests de stress et de fuzz désignés, entre autres) à un moment donné.


En termes simples - si tous les tests passent en laboratoire pendant une période suffisamment longue, nous avons une version stable.

Comment passe-t-on d'une version stable à une autre ?

En plus des versions stables, nous construisons des branches dans lesquelles nous enrichissons le logiciel de nouvelles fonctionnalités. Ce développement entraîne une instabilité naturelle due à plusieurs facteurs, les principaux étant la méconnaissance par les développeurs de la complexité du logiciel et de son environnement de test, la faible couverture des nouveaux tests ou simplement un codage bâclé. Cette instabilité est simplement reflétée par le nombre de tests qui commencent à échouer à cause d'un certain développement. Les échecs sont reconnus, et l'équipe se concentre sur la correction des problèmes détectés tout en s'efforçant d'optimiser la couverture des tests des nouvelles fonctionnalités. Lorsque la nouvelle branche est stabilisée, la nouvelle version candidate peut être envoyée aux clients internes pour des tests préliminaires des nouvelles fonctionnalités et du comportement général. Si tout va bien, pour en revenir à la définition initiale de la stabilité - si aucun nouveau défaut n'est découvert sur une certaine période, à la fois par l'équipe de développement et les clients internes, et que la nouvelle branche se comporte bien en laboratoire (en ayant des résultats de test cohérents avec la version principale, stable), elle peut être fusionnée avec la version principale, et à ce moment-là, nous pouvons affirmer que nous avons une nouvelle version, stable.

Le cycle continue, et continue, à perpétuité.