Dalam kitaran hayat pembangunan perisian, ujian automatik yang disepadukan dalam saluran paip penyepaduan berterusan dan penghantaran berterusan (CI/CD) adalah penting untuk memastikan kualiti perisian. Ujian automatik membantu mencari ralat dengan cepat, mengurangkan kerja manual dan meningkatkan ketepatan dan liputan ujian. Dalam saluran paip CI/CD, ujian automatik biasanya dilakukan selepas binaan selesai dan sebelum kod digunakan, termasuk ujian unit, ujian UI dan ujian penyepaduan, yang boleh dijalankan secara selari untuk mempercepatkan pelaksanaan. Ujian integrasi amat penting dalam saluran paip CI/CD kerana ia menguji interaksi antara komponen aplikasi dan mengesahkan kefungsian keseluruhan sistem.
Dalam artikel sebelum ini, kami membincangkan pelbagai kes penggunaan untuk kes ujian automatik untuk pasukan tangkas. Satu senario ialah apabila pasukan ingin menyepadukan ujian dengan setiap binaan dan melaksanakan penyepaduan berterusan sebagai sebahagian daripada proses binaan.
Dalam artikel ini, kita akan membincangkan ujian penyepaduan dalam penyepaduan berterusan/platform penghantaran berterusan.
Mari kita mulakan dengan perkara asas.
Apakah ujian automatik?
Pengujian perisian merujuk kepada melaksanakan ujian berdasarkan set kes ujian dan membandingkan keputusan sebenar dengan keputusan yang diramalkan. Terdapat beberapa langkah dan teknik ujian yang perlu diikuti semasa proses ini. Ujian adalah penting untuk memastikan kualiti produk. Proses ini biasanya dilakukan secara manual oleh pasukan penguji. Walau bagaimanapun, dalam ujian automatik, proses itu diautomatikkan menggunakan alat dan teknik perisian. Di sini, langkah manual tidak lagi diperlukan tetapi skrip dibuat secara automatik dan kes ujian dijalankan. Ujian automatik menghapuskan kesilapan manusia, liputan dan banyak isu lain. Ia juga menjimatkan masa, meningkatkan kemudahan menjalankan ujian, dan meningkatkan kecekapan dan keberkesanan.
Pengujian Automatik dalam Talian Paip CI/CD
Pengujian automatik ialah bahagian teras saluran paip CI/CD kerana ujian yang berjalan pantas memberikan maklum balas awal kepada pembangun. Masalah atau ralat yang dikesan awal berpotensi untuk dibetulkan lebih awal. Hasilnya, produk yang diterbitkan akan menjadi lebih tepat dan bebas ralat. Ini meningkatkan kualiti keseluruhan produk, dengan itu memperoleh kepuasan pelanggan. Secara ringkasnya, kelebihan ujian automatik dalam saluran paip CI/CD adalah seperti berikut:
Selaras dengan konsep CI/CD "bina pantas, gagal pantas"
Kurangkan jumlah kerja manual, seterusnya menjimatkan masa dan mengurangkan kemungkinan kesilapan seks.
Apabila bilangan kes ujian bertambah, keputusan ujian lebih tepat dan boleh meliputi kawasan yang lebih luas.
Dapatkan maklum balas segera tentang sebarang isu
Pelbagai keputusan ujian boleh dijana dan dibandingkan untuk memastikan kualiti dan konsistensi
Jenis ujian automatik yang digunakan dalam saluran paip CI/CD
Ringkasnya, penyepaduan berterusan membolehkan pasukan pembangunan menyepadukan kod mereka ke dalam repositori kongsi. Ini membantu mengekalkan kualiti kod dan mengenal pasti potensi isu dengan versi tempatan kod anda lebih awal.
Penghantaran berterusan juga sering dipanggil "pengerahan berterusan". Segala-galanya yang pasukan pembangunan sentiasa digabungkan sentiasa digunakan untuk persekitaran langsung.
Memandangkan kebanyakan pembangun berfungsi secara selari, sentiasa menyepadukan kod mereka ke dalam repositori bermakna cawangan induk sentiasa dikemas kini dengan ciri baharu. Untuk memastikan kualiti kod tidak terjejas akibat perubahan yang berlaku begitu cepat, ujian mesti dijalankan pada kadar yang sama.
Tidak menghairankan, ujian manual dalam persekitaran ini bukanlah cara terbaik untuk mencapai matlamat ini. Ujian automatik adalah kunci kepada ujian yang berjaya dalam saluran paip CI/CD anda.
9 Fasa Penghantaran Berterusan
Asaskan semula dan selesaikan konflik: Dalam senario pembangunan sebenar, akan ada beberapa orang yang menggabungkan kod mereka. Pemaju perlu memastikan cawangan mereka sentiasa dikemas kini. Mengemas kini cawangan dengan kod gabungan terkini dipanggil "rebasing". Setelah diletakkan semula, beberapa konflik mungkin timbul yang perlu diselesaikan. Selepas itu, jalankan ujian sekali lagi terhadap kod berasaskan semula.
Komit: Setelah ujian lulus, kod sedia untuk melakukan semua perubahan.
Bina: Kod sumber yang dibangunkan kemudiannya dipasang untuk membina artifak penempatan yang boleh dijalankan pada contoh, seperti pelayan yang persekitarannya adalah setempat. Kod ini kini sedia untuk digunakan ke persekitaran ujian yang berbeza.
UAT: Kod tersebut kemudiannya digunakan pada pelayan ujian dan penguji mula menguji ciri tersebut. Ujian ini boleh dilakukan secara automatik atau manual.
Gabung: Jika komit dalam ujian diluluskan oleh penguji, ia digabungkan ke dalam cawangan induk.
Pengeluaran Pengeluaran: Setelah kod digabungkan, ia digunakan untuk pengeluaran.
Setiap binaan yang dikodkan oleh pembangun perlu melengkapkan proses di atas.
Di manakah ujian automatik sesuai dalam saluran paip CI/CD?
Sebaik-baiknya, ujian automatik berlaku sebaik sahaja fasa binaan selesai dan kod boleh digunakan. Ujian unit, ujian UI dan ujian integrasi semuanya boleh dijalankan pada peringkat ini. Ujian ini membantu memastikan kod tersebut memenuhi piawaian kualiti.
Fasa ini boleh berlangsung dari beberapa minit hingga beberapa jam, bergantung pada cara automasi diarkitek.
Ujian boleh dijalankan secara selari untuk melaksanakannya dengan lebih pantas. Jika kod gagal semasa fasa ujian, binaan boleh ditolak tanpa melaburkan sebarang masa ujian manual lagi.
Alat untuk CI/CD
Jenkins: Jenkins ialah alat sumber terbuka untuk penyepaduan berterusan. Ia percuma untuk digunakan, dan kerja boleh dikonfigurasikan melalui antara muka dan skrip.
Travis CI: Alat ini percuma untuk projek sumber terbuka dan dihoskan pada GitHub.
Gitlab: Gitlab ialah alat kawalan versi dengan pendekatan berasaskan awannya sendiri kepada CI. Ia disokong pada berbilang platform dan mempunyai kedua-dua versi percuma dan berbayar.
Buluh: Buluh ialah alat CI untuk Jira. Jika organisasi anda menggunakan Jira, anda boleh menyemak alat ini. Ia juga menyokong penggabungan automatik pada kelulusan tiket. . Jika ciri itu benar-benar besar, lebih baik pecahkannya kepada ciri yang lebih kecil dan lebih pantas untuk diuji. Ini penting untuk automasi kerana jika berlaku masalah, lebih mudah untuk mengenal pasti puncanya. Jika komitmen anda terlalu besar, memikirkan punca masalah akan menjadi tugas yang sukar.
Tentukan perkara yang boleh diautomatikkan: Adalah perkara biasa bagi pasukan untuk menyelam dengan cepat dan berkata "mari mengautomasikan segala-galanya", tetapi ini adalah kesilapan biasa. Kita perlu memahami tujuan automasi dan mengenal pasti kes ujian yang harus diautomasikan.
Atas ialah kandungan terperinci Ujian automatik dalam saluran paip CI/CD: jenis dan peringkat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!