GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizziamo Linux Test Project per testare e migliorare Linux

Il Linux Test Project (LTP) è una suite di test integrata per uso generale progettata per aiutare le organizzazioni che utilizzano e sviluppano Linux a capire meglio quali funzioni funzionano e cosa deve ancora funzionare. Comprende test di regressione e conformità progettati per confermare il comportamento del kernel Linux e di glibc. I suoi strumenti e le suite di test mirano a verificare il kernel Linux e i relativi sottosistemi.

In breve, il Linux Test Project (LTP) ha lo scopo di testare e migliorare Linux. Il suo obiettivo è fornire una suite di strumenti di test automatizzati per Linux e pubblicare i risultati dei test eseguiti. Ad esempio, utilizziamo i test LTP su Red Hat Enterprise Linux (RHEL) per migliorare il kernel Linux e le librerie di sistema.

Cos'è RHTS-LTP?

LTP ha un ritmo di sviluppo coerente; rilascia una nuova versione stabile della suite di test ogni quattro mesi. Il ramo principale dell'LTP a monte è sempre in fase di sviluppo. RHEL rilascia un flusso minore ogni sei mesi e fornisce un aggiornamento importante ogni tre anni. Ciò significa che l'ambiente di produzione RHEL necessita di una suite di test diversificata, sicura, ad alta efficienza e affidabile. Per questo motivo, Red Hat mantiene una versione interna di LTP chiamata Red Hat Test Suite-Linux Test Project (RHTS-LTP).

Comprendere il flusso di lavoro tra l'upstream e Red Hat

RHTS-LTP non funziona in isolamento. Si basa su ciò che fornisce LTP e invia le patch a monte. Dal punto di vista ingegneristico, ecco il flusso di lavoro generale:

  1. Scegli una versione stabile del pacchetto dall'upstream come linea di base
  2. Backport di nuove patch dal ramo più recente, che include:
    • Aggiornamento di vulnerabilità ed esposizioni comuni (CVE) e casi di test di emergenza
    • Correzioni di bug per il framework o difetto di test
  3. Invia la patch all'upstream per la risoluzione dei problemi comuni
    • Correzione di bug, nuovo test di regressione e così via

Backport delle patch

Il processo di sviluppo, in termini di progetto a monte, si presenta così:

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

Solo la versione stabile viene scaricata su RHTS-LTP. Quindi, ltp-full-20210927 insieme alle sue patch viene utilizzato nel test interno. Solitamente le patch che risolvono problemi comuni critici, bug di regressione RHEL o il framework di test stesso vengono backport.

[ Registrati al corso online gratuito Red Hat Enterprise Linux Technical Overview per apprendere le tecniche pratiche di base per Linux e le attività di amministrazione del sistema. ]

La versione stabile dell'origine del test LTP viene rilasciata ogni quattro mesi. Dopo aver condotto test centralizzati e aver risolto i problemi con alcune delle principali distribuzioni Linux, la versione di test viene contrassegnata con la data più recente. Quindi viene caricato come tarball compresso dai manutentori del progetto e gli utenti possono scaricarlo da LTP GitHub.

Prima che RHTS-LTP venga costruito nel passaggio finale, vengono applicate alcune configurazioni interne (parametri importanti, firmware e così via) per adattarlo all'ambiente RHEL o a un sistema hardware di test specifico. Successivamente, molte patch solo RHEL vengono applicate per creare il binario LTP.

Valutazione dei problemi noti

Il punto del test è identificare gli errori e gli errori vengono corretti solo se vengono segnalati. La parte più importante di RHTS-LTP è il processo di valutazione dei problemi, che aiuta gli utenti interni a distinguere i problemi noti da quelli sconosciuti. Red Hat mantiene un elenco interno dei problemi noti LTP in modo che i test possano ignorare i falsi positivi o correggere gli errori che li causano.

L'elenco dei problemi noti LTP si basa su varie versioni di RHEL per garantire la compatibilità di LTP nelle attività Beaker, tra cui RHEL 5, RHEL 6, RHEL 7, RHEL 8, RHEL 9 e versioni upstream. Quando un caso di RHTS-LTP non riesce durante l'esecuzione, l'elenco dei problemi noti viene controllato per identificare se lo strumento LTP è difettoso o se la build RHEL richiede correzioni.

Questo sicuramente avvantaggia gli utenti interni che testano versioni secondarie e versioni principali, in particolare per varie linee di prodotti, per individuare tempestivamente i problemi.

Esame della meccanica di RHTS-LTP

RHTS-LTP è composto da quattro parti:

  • Pacchetto LTP stabile
  • Patch a monte
  • Configurazione interna
  • Filtraggio dei problemi noti

Scegliamo sempre l'ultima versione stabile di LTP e quindi aggiungiamo le nostre modifiche personalizzate per creare una suite di test dedicata per RHEL.

Ecco il processo di manutenzione LTP completo sotto forma di diagramma:

Supporto di versioni derivate minori

Oltre a una configurazione speciale e alla gestione dei problemi noti, RHTS-LTP fornisce anche una libreria condivisa per supportare più versioni di test derivate per l'uso dedicato in diversi team funzionali. Tutti questi utilizzano la versione stabile LTP comune, con gli stessi problemi noti, sebbene l'attenzione sia rivolta a componenti diversi. Questi includono:

  • Test RHTS-Ltp-lite
  • RHTS-Ltp-test-filesystem
  • test generico RHTS-Ltp
  • Test RHTS-Ltp-openposix
  • RHTS-Ltp-git-test

LTP viene distribuito anche per i test di CentOS Stream e il futuro supporto di vari kernel in Red Hat (inclusi ark-kernel, mainline-kernel e cki-testing). Quasi ogni nuovo ramo fork si basa su questo con un lavoro di sviluppo secondario. I manutentori interni si scambiano informazioni attraverso la libreria include e lavorano a stretto contatto per consentire un'efficiente risoluzione dei problemi.

Testare insieme

I test sono una parte vitale dell'assicurazione della qualità e tutti noi vogliamo che Linux sia costantemente alla sua massima qualità. Questo rende LTP e RHTS-LTP parti importanti dello sviluppo di Linux.

Linux non è solo un grande progetto; è diverso e diffuso. I contributi ai test provengono dalla comunità. Che il contributo sia sotto forma di patch o di una configurazione specializzata, ha un impatto decisamente positivo sul ramo a monte. Promuove la crescita sana di LTP e test migliori nello sviluppo del software. Con CentOS Stream che lavora più vicino che mai con RHEL, la partecipazione della comunità è ancora più facile di quanto non fosse in passato. Visita la wiki LTP per scoprire come partecipare.


Linux
  1. Che cos'è un comando Chown in Linux e come usarlo

  2. Come installare e testare Ansible su Linux

  3. Come installare e utilizzare Flatpak in Linux

  4. Come installare e utilizzare Traceroute in Linux

  5. Come costruire e installare GLFW 3 e usarlo in un progetto Linux

Come utilizzare i comandi Pbcopy e Pbpaste su Linux

Come installare e utilizzare il comando locate in Linux

Come utilizzare Timeshift per eseguire il backup e il ripristino di Linux

Come installare e utilizzare phpMyAdmin in Linux

Come installare e utilizzare il comando fd in Linux

Come installare e utilizzare Nu Shell su Linux