GNU/Linux >> Znalost Linux >  >> Linux

Jak používáme Linux Test Project k testování a zlepšování Linuxu

Linux Test Project (LTP) je univerzální, integrovaná testovací sada navržená tak, aby pomohla organizacím používajícím a vyvíjejícím Linux lépe porozumět tomu, co věci fungují a na čem je ještě potřeba pracovat. Skládá se z regresních testů a testů shody navržených k potvrzení chování linuxového jádra a glibc. Jeho nástroje a testovací sady mají za cíl ověřit linuxové jádro a související subsystémy.

Stručně řečeno, Linux Test Project (LTP) je zaměřen na testování a zlepšování Linuxu. Jeho cílem je dodat sadu automatizovaných testovacích nástrojů pro Linux a zveřejňovat výsledky testů, které provádějí. Například používáme testy LTP na Red Hat Enterprise Linux (RHEL) ke zlepšení linuxového jádra a systémových knihoven.

Co je RHTS-LTP?

LTP má konzistentní vývojový rytmus; každé čtyři měsíce vydává novou stabilní verzi testovací sady. Hlavní větev upstream LTP je stále ve vývoji. RHEL vydává menší stream každých šest měsíců a poskytuje velkou aktualizaci každé tři roky. To znamená, že produkční prostředí RHEL potřebuje rozmanitou, bezpečnou, vysoce účinnou a spolehlivou testovací sadu. Z tohoto důvodu společnost Red Hat udržuje interní verzi LTP s názvem Red Hat Test Suite-Linux Test Project (RHTS-LTP).

Pochopení pracovního postupu mezi upstreamem a Red Hat

RHTS-LTP nefunguje izolovaně. Staví na tom, co LTP poskytuje, a odesílá záplaty zpět proti proudu. Z technického hlediska je zde obecný pracovní postup:

  1. Jako základní vyberte stabilní verzi balíčku z upstreamu
  2. Backportujte nové opravy z nejnovější větve, která zahrnuje:
    • Aktualizace běžných chyb zabezpečení a ohrožení (CVE) a nouzové testovací případy
    • Opravy chyb v rámci nebo testovací vady
  3. Odešlete opravu do upstreamu pro řešení běžných problémů
    • Oprava chyby, nový regresní test atd.

Backporting záplat

Vývojový proces z hlediska upstream projektu vypadá takto:

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

Do RHTS-LTP se stahuje pouze stabilní verze. Takže ltp-full-20210927 spolu s jeho záplatami se používá v interním testu. Obvykle jsou zpětně portovány záplaty, které opravují kritické běžné problémy, regresní chyby RHEL nebo samotný testovací rámec.

[ Zaregistrujte se do bezplatného online kurzu Red Hat Enterprise Linux Technical Overview a naučte se základní praktické techniky pro Linux a úlohy správy systému. ]

Stabilní verze testovacího zdroje LTP je vydávána každé čtyři měsíce. Po provedení centralizovaného testování a vyřešení problémů s některými běžnými distribucemi Linuxu je testovací verze označena nejnovějším datem. Poté jej správci projektu nahrají jako komprimovaný tarball a uživatelé si jej mohou stáhnout z LTP GitHub.

Než se RHTS-LTP zabuduje v posledním kroku, použijí se některé interní konfigurace (důležité parametry, firmware atd.), aby bylo vhodné pro prostředí RHEL nebo konkrétní testovací hardwarový systém. Poté se pro sestavení binárního LTP použije mnoho patchů pouze pro RHEL.

Třídění známých problémů

Smyslem testování je identifikovat chyby a chyby se opraví, pouze pokud jsou nahlášeny. Nejdůležitější součástí RHTS-LTP je proces třídění problémů, který pomáhá interním uživatelům rozeznat známé od neznámých problémů. Red Hat udržuje interní seznam známých problémů LTP, takže testování může ignorovat falešné poplachy nebo opravit chyby, které je způsobují.

Seznam známých problémů LTP je založen na různých vydáních RHEL, aby byla zajištěna kompatibilita LTP v úlohách Beaker, včetně RHEL 5, RHEL 6, RHEL 7, RHEL 8, RHEL 9 a upstream verzí. Když selže případ RHTS-LTP během běhu, je zkontrolován seznam známých problémů, aby se zjistilo, zda je nástroj LTP vadný nebo zda sestavení RHEL vyžaduje opravy.

To rozhodně prospívá interním uživatelům, kteří testují menší a významná vydání, zejména pro různé produktové řady, aby mohli rychle lokalizovat problémy.

Zkoumání mechaniky RHTS-LTP

RHTS-LTP se skládá ze čtyř částí:

  • Stabilní balíček LTP
  • Upstream záplaty
  • Interní konfigurace
  • Filtrování známých problémů

Vždy vybíráme nejnovější stabilní verzi LTP a poté přidáváme naše vlastní změny, abychom vytvořili speciální testovací sadu pro RHEL.

Zde je celý proces údržby LTP ve formě diagramu:

Podpora menších odvozených verzí

Kromě speciální konfigurace a zpracování známých problémů poskytuje RHTS-LTP také sdílenou knihovnu pro podporu více odvozených testovacích verzí pro speciální použití v různých funkčních týmech. Všechny tyto používají společnou stabilní verzi LTP se stejnými známými problémy, i když se zaměřujeme na různé komponenty. Patří mezi ně:

  • RHTS-Ltp-lite-test
  • RHTS-Ltp-filesystem-test
  • RHTS-Ltp-generic-test
  • RHTS-Ltp-openposix-test
  • RHTS-Ltp-git-test

LTP se také nasazuje pro testování CentOS Stream a budoucí podporu různých jader v Red Hat (včetně ark-kernel, mainline-kernel a cki-testing). Téměř každá nová rozvětvená větev je založena na tom se sekundární vývojovou prací. Interní správci si vyměňují informace prostřednictvím knihovny include a úzce spolupracují, aby umožnili efektivní odstraňování problémů.

Společné testování

Testování je důležitou součástí zajištění kvality a všichni chceme, aby Linux trvale dosahoval nejvyšší kvality. Díky tomu jsou LTP a RHTS-LTP důležitou součástí vývoje Linuxu.

Linux není jen obrovský projekt; je to rozmanité a rozšířené. Příspěvky k testování pocházejí od komunity. Ať už je tento příspěvek ve formě patche nebo specializované konfigurace, má jednoznačně pozitivní dopad na upstream větev. Podporuje zdravý růst LTP a lepší testování při vývoji softwaru. Díky tomu, že CentOS Stream spolupracuje s RHEL blíže než kdykoli předtím, je účast komunity ještě snazší, než tomu bylo v minulosti. Navštivte wiki LTP a zjistěte, jak se můžete zapojit.


Linux
  1. Co je příkaz Chown v Linuxu a jak jej používat

  2. Jak nainstalovat a otestovat Ansible na Linuxu

  3. Jak nainstalovat a používat Flatpak v Linuxu

  1. Jak nainstalovat a používat telnet na Kali Linux

  2. Jak nainstalovat a používat Traceroute v Linuxu

  3. Jak sestavit a nainstalovat GLFW 3 a používat jej v projektu Linux

  1. Jak nainstalovat a používat Linux Screen?

  2. Linux Tail Command:Co to je a jak jej používat

  3. Jak používat operátory testování souborů Bash v Linuxu