Le projet de test Linux (LTP) est une suite de tests intégrée à usage général conçue pour aider les organisations utilisant et développant Linux à mieux comprendre ce qui fonctionne et ce qui doit encore fonctionner. Il comprend des tests de régression et de conformité conçus pour confirmer le comportement du noyau Linux et de la glibc. Ses outils et suites de tests visent à vérifier le noyau Linux et les sous-systèmes associés.
En bref, le Linux Test Project (LTP) vise à tester et à améliorer Linux. Son objectif est de fournir une suite d'outils de test automatisés pour Linux et de publier les résultats des tests qu'ils exécutent. Par exemple, nous utilisons des tests LTP sur Red Hat Enterprise Linux (RHEL) pour améliorer le noyau Linux et les bibliothèques système.
Qu'est-ce que RHTS-LTP ?
LTP a un rythme de développement constant ; il publie une nouvelle version stable de la suite de tests tous les quatre mois. La branche principale de LTP en amont est toujours en développement. RHEL publie un flux mineur tous les six mois et fournit une mise à jour majeure tous les trois ans. Cela signifie que l'environnement de production RHEL a besoin d'une suite de tests diversifiée, sûre, hautement efficace et fiable. Pour cette raison, Red Hat maintient une version interne de LTP appelée Red Hat Test Suite-Linux Test Project (RHTS-LTP).
Comprendre le flux de travail entre l'amont et Red Hat
RHTS-LTP ne fonctionne pas de manière isolée. Il s'appuie sur ce que LTP fournit et soumet des correctifs en amont. D'un point de vue technique, voici le flux de travail général :
- Choisir une version de package stable en amont comme référence
- Rétroportez les nouveaux correctifs de la dernière branche, qui incluent :
- Mettre à jour les vulnérabilités et expositions courantes (CVE) et les scénarios de test d'urgence
- Corrections de bugs pour le framework ou le défaut de test
- Soumettez le correctif à l'amont pour la résolution des problèmes courants
- Correction de bug, nouveau test de régression, etc.
Rétroportage des correctifs
Le processus de développement, en termes de projet en amont, ressemble à ceci :
ltp-full-20210121 --> ltp-full-20210524 --> ltp-full-20210927 --> ltp-full-next
Seule la version stable est téléchargée sur RHTS-LTP. Ainsi, ltp-full-20210927 et ses correctifs sont utilisés dans le test interne. Généralement, les correctifs qui résolvent les problèmes courants critiques, les bogues de régression RHEL ou le framework de test lui-même sont rétroportés.
[ Inscrivez-vous au cours en ligne gratuit Présentation technique de Red Hat Enterprise Linux pour apprendre les techniques pratiques de base pour Linux et les tâches d'administration système. ]
La version stable de la source de test LTP est publiée tous les quatre mois. Après avoir effectué des tests centralisés et résolu des problèmes avec certaines des distributions Linux grand public, la version de test est étiquetée avec la dernière date. Ensuite, il est téléchargé sous forme d'archive compressée par les responsables du projet, et les utilisateurs peuvent le télécharger à partir du LTP GitHub.
Avant que RHTS-LTP ne soit intégré à l'étape finale, certaines configurations internes (paramètres importants, micrologiciel, etc.) sont appliquées pour l'adapter à l'environnement RHEL ou à un système matériel de test spécifique. Après cela, de nombreux correctifs RHEL uniquement sont appliqués pour créer le binaire LTP.
Trier les problèmes connus
Le but des tests est d'identifier les erreurs, et les erreurs ne sont corrigées que si elles sont signalées. La partie la plus importante de RHTS-LTP est le processus de tri des problèmes, qui aide les utilisateurs internes à distinguer les problèmes connus des problèmes inconnus. Red Hat maintient une liste interne des problèmes connus LTP afin que les tests puissent ignorer les faux positifs ou corriger les erreurs qui les provoquent.
La liste des problèmes connus de LTP est basée sur diverses versions de RHEL pour garantir la compatibilité de LTP dans les tâches Beaker, notamment RHEL 5, RHEL 6, RHEL 7, RHEL 8, RHEL 9 et les versions en amont. Lorsqu'un cas de RHTS-LTP échoue pendant l'exécution, la liste des problèmes connus est vérifiée pour déterminer si l'outil LTP est défectueux ou si la version RHEL nécessite des correctifs.
Cela profite certainement aux utilisateurs internes qui testent les versions mineures et majeures, en particulier pour diverses gammes de produits, afin de localiser rapidement les problèmes.
Examiner les mécanismes de RHTS-LTP
RHTS-LTP se compose de quatre parties :
- Package LTP stable
- Correctifs en amont
- Configuration interne
- Filtrage des problèmes connus
Nous choisissons toujours la dernière version stable de LTP, puis ajoutons nos modifications personnalisées pour créer une suite de tests dédiée pour RHEL.
Voici le processus complet de maintenance LTP sous forme de diagramme :
Prise en charge des versions dérivées mineures
En plus d'une configuration spéciale et de la gestion des problèmes connus, RHTS-LTP fournit également une bibliothèque partagée pour prendre en charge davantage de versions de test dérivées pour une utilisation dédiée dans différentes équipes fonctionnelles. Tous ces éléments utilisent la version stable LTP commune, avec les mêmes problèmes connus, bien que l'accent soit mis sur différents composants. Ceux-ci incluent :
- RHTS-Ltp-lite-test
- RHTS-Ltp-filesystem-test
- RHTS-Ltp-generic-test
- RHTS-Ltp-openposix-test
- RHTS-Ltp-git-test
LTP se déploie également pour les tests CentOS Stream et la prise en charge future de divers noyaux dans Red Hat (y compris ark-kernel, mainline-kernel et cki-testing). Presque chaque nouvelle branche fourchue est basée sur cela avec un travail de développement secondaire. Les responsables internes échangent des informations via la bibliothèque d'inclusion et travaillent en étroite collaboration pour permettre un dépannage efficace.
Tester ensemble
Les tests sont une partie essentielle de l'assurance qualité, et nous voulons tous que Linux soit constamment à sa plus haute qualité. Cela fait de LTP et RHTS-LTP des éléments importants du développement Linux.
Linux n'est pas seulement un énorme projet; c'est divers et répandu. Les contributions aux tests proviennent de la communauté. Que cette contribution se présente sous la forme d'un patch ou d'une configuration spécialisée, elle a un impact positif certain sur la branche amont. Il favorise la croissance saine de LTP et de meilleurs tests dans le développement de logiciels. Avec CentOS Stream travaillant plus étroitement avec RHEL que jamais auparavant, la participation de la communauté est encore plus facile qu'elle ne l'était par le passé. Visitez le wiki LTP pour savoir comment vous pouvez vous impliquer.