Linux Test Project (LTP) adalah rangkaian pengujian terintegrasi tujuan umum yang dirancang untuk membantu organisasi yang menggunakan dan mengembangkan Linux lebih memahami apa yang berfungsi dan apa yang masih perlu bekerja. Ini terdiri dari uji regresi dan kesesuaian yang dirancang untuk mengonfirmasi perilaku kernel Linux dan glibc. Alat dan rangkaian pengujiannya bertujuan untuk memverifikasi kernel Linux dan subsistem terkait.
Singkatnya, Linux Test Project (LTP) ditujukan untuk menguji dan meningkatkan Linux. Tujuannya adalah untuk memberikan serangkaian alat pengujian otomatis untuk Linux dan mempublikasikan hasil pengujian yang mereka jalankan. Misalnya, kami menggunakan pengujian LTP di Red Hat Enterprise Linux (RHEL) untuk meningkatkan kernel Linux dan pustaka sistem.
Apa itu RHTS-LTP?
LTP memiliki ritme perkembangan yang konsisten; itu merilis versi stabil baru dari test suite setiap empat bulan. Cabang utama LTP hulu selalu dalam pengembangan. RHEL merilis aliran kecil setiap enam bulan dan menyediakan pembaruan besar setiap tiga tahun. Itu berarti lingkungan produksi RHEL membutuhkan rangkaian pengujian yang beragam, aman, berefisiensi tinggi, dan andal. Karena alasan ini, Red Hat mempertahankan versi internal LTP yang disebut Red Hat Test Suite-Linux Test Project (RHTS-LTP).
Memahami alur kerja antara upstream dan Red Hat
RHTS-LTP tidak beroperasi secara terpisah. Itu dibangun di atas apa yang disediakan LTP dan mengirimkan tambalan kembali ke hulu. Dari perspektif teknik, berikut adalah alur kerja umumnya:
- Pilih versi paket stabil dari hulu sebagai dasar
- Backport patch baru dari cabang terbaru, yang meliputi:
- Memperbarui Kerentanan dan Eksposur Umum (CVE) dan kasus uji darurat
- Perbaikan bug untuk kerangka kerja atau cacat pengujian
- Kirim patch ke upstream untuk pemecahan masalah umum
- Perbaikan bug, uji regresi baru, dan sebagainya
Mendukung patch
Proses pengembangan, dalam hal proyek hulu, terlihat seperti ini:
ltp-penuh-20210121 --> ltp-penuh-20210524 --> ltp-penuh-20210927 --> ltp-penuh-berikutnya
Hanya versi stabil yang diunduh ke RHTS-LTP. Jadi, ltp-full-20210927 beserta patch-nya digunakan dalam pengujian internal. Biasanya tambalan yang memperbaiki masalah umum kritis, bug regresi RHEL, atau kerangka pengujian itu sendiri di-backport.
[ Daftar kursus online gratis Ikhtisar Teknis Red Hat Enterprise Linux untuk mempelajari teknik praktis dasar untuk Linux dan tugas administrasi sistem. ]
Versi stabil dari sumber uji LTP dirilis setiap empat bulan. Setelah melakukan pengujian terpusat dan memperbaiki masalah dengan beberapa distribusi Linux utama, versi rilis pengujian akan ditandai dengan tanggal terbaru. Kemudian diunggah sebagai tarball terkompresi oleh pengelola proyek, dan pengguna dapat mengunduhnya dari LTP GitHub.
Sebelum RHTS-LTP dibangun pada langkah terakhir, beberapa konfigurasi internal (parameter penting, firmware, dan sebagainya) diterapkan agar sesuai dengan lingkungan RHEL atau sistem perangkat keras pengujian tertentu. Setelah itu, banyak patch khusus RHEL yang diterapkan untuk membangun biner LTP.
Memilah masalah umum
Inti dari pengujian adalah untuk mengidentifikasi kesalahan, dan kesalahan hanya diperbaiki jika dilaporkan. Bagian terpenting dari RHTS-LTP adalah proses triase masalah, yang membantu pengguna internal membedakan masalah yang diketahui dari masalah yang tidak diketahui. Red Hat mengelola daftar masalah umum LTP internal sehingga pengujian dapat mengabaikan positif palsu atau memperbaiki kesalahan yang menyebabkannya.
Daftar masalah umum LTP didasarkan pada berbagai rilis RHEL untuk memastikan kompatibilitas LTP dalam tugas Beaker, termasuk RHEL 5, RHEL 6, RHEL 7, RHEL 8, RHEL 9, dan versi upstream. Saat kasus RHTS-LTP gagal selama berjalan, daftar masalah yang diketahui diperiksa untuk mengidentifikasi apakah alat LTP rusak atau jika build RHEL memerlukan perbaikan.
Ini pasti menguntungkan pengguna internal yang menguji rilis kecil dan rilis besar, terutama untuk berbagai lini produk, untuk menemukan masalah dengan segera.
Memeriksa mekanisme RHTS-LTP
RHTS-LTP terdiri dari empat bagian:
- Paket LTP yang stabil
- Tambalan hulu
- Konfigurasi internal
- Pemfilteran masalah umum
Kami selalu memilih versi LTP stabil terbaru dan kemudian menambahkan perubahan khusus kami untuk membangun rangkaian pengujian khusus untuk RHEL.
Berikut proses perawatan LTP lengkap dalam bentuk diagram:
Mendukung versi turunan minor
Selain konfigurasi khusus dan penanganan masalah yang diketahui, RHTS-LTP juga menyediakan pustaka bersama untuk mendukung lebih banyak versi uji turunan untuk penggunaan khusus dalam tim fungsional yang berbeda. Semua ini menggunakan versi stabil LTP yang umum, dengan masalah umum yang sama, meskipun fokusnya adalah pada komponen yang berbeda. Ini termasuk:
- RHTS-Ltp-lite-test
- RHTS-Ltp-filesystem-test
- RHTS-Ltp-generic-test
- RHTS-Ltp-openposix-test
- RHTS-Ltp-git-test
LTP juga digunakan untuk pengujian CentOS Stream dan berbagai dukungan kernel di masa depan di Red Hat (termasuk ark-kernel, mainline-kernel, dan pengujian cki). Hampir setiap cabang bercabang baru didasarkan pada ini dengan pekerjaan pengembangan sekunder. Pengelola internal bertukar informasi melalui perpustakaan yang disertakan dan bekerja sama untuk memungkinkan pemecahan masalah yang efisien.
Menguji bersama
Pengujian adalah bagian penting dari jaminan kualitas, dan kita semua ingin Linux secara konsisten berada pada kualitas tertingginya. Hal ini membuat LTP dan RHTS-LTP menjadi bagian penting dari pengembangan Linux.
Linux bukan hanya proyek besar; itu beragam dan tersebar luas. Kontribusi untuk pengujian datang dari komunitas. Apakah kontribusi itu dalam bentuk tambalan atau konfigurasi khusus, itu memiliki dampak positif yang pasti pada cabang hulu. Ini mendorong pertumbuhan LTP yang sehat dan pengujian yang lebih baik dalam pengembangan perangkat lunak. Dengan CentOS Stream yang bekerja lebih dekat dengan RHEL daripada sebelumnya, partisipasi komunitas menjadi lebih mudah daripada sebelumnya. Kunjungi wiki LTP untuk mempelajari bagaimana Anda dapat terlibat.