GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie wir Linux Test Project verwenden, um Linux zu testen und zu verbessern

Das Linux Test Project (LTP) ist eine universelle, integrierte Testsuite, die entwickelt wurde, um Organisationen, die Linux verwenden und entwickeln, dabei zu helfen, besser zu verstehen, was funktioniert und was noch verbessert werden muss. Es besteht aus Regressions- und Konformitätstests, die das Verhalten des Linux-Kernels und der glibc bestätigen sollen. Seine Tools und Testsuiten zielen darauf ab, den Linux-Kernel und verwandte Subsysteme zu überprüfen.

Kurz gesagt, das Linux Test Project (LTP) zielt darauf ab, Linux zu testen und zu verbessern. Sein Ziel ist es, eine Reihe von automatisierten Testwerkzeugen für Linux bereitzustellen und die Ergebnisse der von ihnen durchgeführten Tests zu veröffentlichen. Beispielsweise verwenden wir LTP-Tests auf Red Hat Enterprise Linux (RHEL), um den Linux-Kernel und die Systembibliotheken zu verbessern.

Was ist RHTS-LTP?

LTP hat einen konstanten Entwicklungsrhythmus; es veröffentlicht alle vier Monate eine neue stabile Version der Testsuite. Der Hauptzweig des Upstream-LTP befindet sich immer in der Entwicklung. RHEL veröffentlicht alle sechs Monate einen kleinen Stream und alle drei Jahre ein größeres Update. Das bedeutet, dass die RHEL-Produktionsumgebung eine vielfältige, sichere, hocheffiziente und zuverlässige Testsuite benötigt. Aus diesem Grund unterhält Red Hat eine interne Version von LTP namens Red Hat Test Suite-Linux Test Project (RHTS-LTP).

Den Workflow zwischen Upstream und Red Hat verstehen

RHTS-LTP arbeitet nicht isoliert. Es baut auf dem auf, was LTP bereitstellt, und sendet Patches zurück an den Upstream. Aus technischer Sicht ist hier der allgemeine Arbeitsablauf:

  1. Wählen Sie eine stabile Paketversion von den Originalautoren als Basis aus
  2. Neue Patches aus dem neuesten Zweig zurückportieren, darunter:
    • Aktualisierung von Common Vulnerabilities and Exposures (CVE) und Notfalltestfällen
    • Fehlerbehebungen für das Framework oder Testdefekt
  3. Senden Sie den Patch zur allgemeinen Problemlösung an die Originalautoren
    • Fehlerbehebung, neuer Regressionstest und so weiter

Patches zurückportieren

Der Entwicklungsprozess in Bezug auf das Upstream-Projekt sieht folgendermaßen aus:

ltp-full-20210121 --> ltp-full-20210524 --> ltp-full-20210927 --> ltp-full-next

Nur die stabile Version wird auf RHTS-LTP heruntergeladen. Daher wird ltp-full-20210927 zusammen mit seinen Patches im internen Test verwendet. Normalerweise werden Patches zurückportiert, die kritische allgemeine Probleme, RHEL-Regressionsfehler oder das Testframework selbst beheben.

[ Melden Sie sich für den kostenlosen Online-Kurs „Red Hat Enterprise Linux Technical Overview“ an, um grundlegende praktische Techniken für Linux und Systemadministrationsaufgaben zu erlernen. ]

Die stabile Version der LTP-Testquelle wird alle vier Monate veröffentlicht. Nach dem zentralisierten Testen und Beheben von Problemen mit einigen der Mainstream-Linux-Distributionen wird die Testversion mit dem neuesten Datum gekennzeichnet. Dann wird es von den Projektbetreuern als komprimierter Tarball hochgeladen, und Benutzer können es vom LTP GitHub herunterladen.

Bevor RHTS-LTP im letzten Schritt erstellt wird, werden einige interne Konfigurationen (wichtige Parameter, Firmware usw.) angewendet, um es für die RHEL-Umgebung oder ein bestimmtes Testhardwaresystem geeignet zu machen. Danach werden viele Nur-RHEL-Patches angewendet, um die LTP-Binärdatei zu erstellen.

Bekannte Probleme prüfen

Der Zweck des Testens besteht darin, Fehler zu identifizieren, und Fehler werden nur behoben, wenn sie gemeldet werden. Der wichtigste Teil von RHTS-LTP ist der Problem-Triage-Prozess, der internen Benutzern dabei hilft, bekannte von unbekannten Problemen zu unterscheiden. Red Hat führt eine interne LTP-Liste bekannter Probleme, damit Tests falsch positive Ergebnisse ignorieren oder die Fehler beheben können, die sie verursachen.

Die Liste bekannter LTP-Probleme basiert auf verschiedenen RHEL-Versionen, um die Kompatibilität von LTP in Beaker-Aufgaben sicherzustellen, einschließlich RHEL 5, RHEL 6, RHEL 7, RHEL 8, RHEL 9 und Upstream-Versionen. Wenn ein Fall von RHTS-LTP während der Ausführung fehlschlägt, wird die Liste bekannter Probleme überprüft, um festzustellen, ob das LTP-Tool defekt ist oder ob der RHEL-Build Korrekturen erfordert.

Dies kommt definitiv internen Benutzern zugute, die Nebenversionen und Hauptversionen testen, insbesondere für verschiedene Produktlinien, um Probleme schnell zu lokalisieren.

Untersuchung der Mechanik von RHTS-LTP

RHTS-LTP besteht aus vier Teilen:

  • Stabiles LTP-Paket
  • Upstream-Patches
  • Interne Konfiguration
  • Filterung bekannter Probleme

Wir wählen immer die neueste stabile Version von LTP und fügen dann unsere benutzerdefinierten Änderungen hinzu, um eine dedizierte Testsuite für RHEL zu erstellen.

Hier ist der vollständige LTP-Wartungsprozess in Diagrammform:

Unterstützte kleinere abgeleitete Versionen

Zusätzlich zu einer speziellen Konfiguration und Behandlung bekannter Probleme bietet RHTS-LTP auch eine gemeinsam genutzte Bibliothek, um mehr abgeleitete Testversionen für den dedizierten Einsatz in verschiedenen Funktionsteams zu unterstützen. All diese verwenden die gemeinsame stabile LTP-Version mit den gleichen bekannten Problemen, obwohl der Schwerpunkt auf verschiedenen Komponenten liegt. Dazu gehören:

  • RHTS-Ltp-lite-test
  • RHTS-Ltp-Dateisystem-Test
  • RHTS-Ltp-generischer-Test
  • RHTS-Ltp-openposix-test
  • RHTS-Ltp-git-test

LTP wird auch für CentOS Stream-Tests und zukünftige Kernel-Unterstützung in Red Hat bereitgestellt (einschließlich Ark-Kernel, Mainline-Kernel und Cki-Testing). Nahezu jeder neue gegabelte Zweig basiert darauf mit sekundärer Entwicklungsarbeit. Die internen Betreuer tauschen Informationen über die Include-Bibliothek aus und arbeiten eng zusammen, um eine effiziente Fehlerbehebung zu ermöglichen.

Gemeinsam testen

Das Testen ist ein wesentlicher Bestandteil der Qualitätssicherung, und wir alle möchten, dass Linux durchgängig höchste Qualität bietet. Dies macht LTP und RHTS-LTP zu wichtigen Bestandteilen der Linux-Entwicklung.

Linux ist nicht nur ein riesiges Projekt; es ist vielfältig und weit verbreitet. Beiträge zum Testen kommen aus der Community. Unabhängig davon, ob dieser Beitrag in Form eines Patches oder einer spezialisierten Konfiguration erfolgt, hat er definitiv positive Auswirkungen auf den Upstream-Zweig. Es fördert das gesunde Wachstum von LTP und besseres Testen in der Softwareentwicklung. Da CentOS Stream enger als je zuvor mit RHEL zusammenarbeitet, ist die Teilnahme an der Community noch einfacher als in der Vergangenheit. Besuchen Sie das LTP-Wiki, um zu erfahren, wie Sie sich beteiligen können.


Linux
  1. Was ist ein Chown-Befehl unter Linux und wie wird er verwendet?

  2. So installieren und testen Sie Ansible unter Linux

  3. So installieren und verwenden Sie Flatpak unter Linux

  4. So installieren und verwenden Sie Traceroute unter Linux

  5. Wie man GLFW 3 erstellt und installiert und in einem Linux-Projekt verwendet

So verwenden Sie die Befehle Pbcopy und Pbpaste unter Linux

So installieren und verwenden Sie den Befehl locate unter Linux

So verwenden Sie Timeshift zum Sichern und Wiederherstellen von Linux

So installieren und verwenden Sie phpMyAdmin unter Linux

So installieren und verwenden Sie den fd-Befehl unter Linux

So installieren und verwenden Sie Nu Shell unter Linux