Rumah> masalah biasa> teks badan

Ujian automatik dalam saluran paip CI/CD: jenis dan peringkat

百草
Lepaskan: 2024-04-16 14:05:58
asal
775 orang telah melayarinya

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.

Ujian automatik dalam saluran paip CI/CD: jenis dan peringkat

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

    Ini ialah ujian peringkat rendah yang dilakukan selepas modul dikodkan dan disemak. Kes ujian direka bentuk untuk menguji komponen individu. Tujuannya adalah untuk memastikan setiap komponen berfungsi seperti yang diharapkan dalam apa jua keadaan.
  • Ujian integrasi: Integrasi merujuk kepada ujian interaksi komponen dalam aplikasi. Ujian ini dilakukan selepas semua modul telah diuji unit. Matlamat utama adalah untuk menguji antara muka modul dan menyemak sama ada terdapat sebarang ralat dalam lulus parameter apabila satu modul memanggil fungsi modul lain.
  • Pengujian Sistem: Ujian direka untuk mengesahkan sistem yang dibangunkan sepenuhnya dan memastikan ia mematuhi dokumen spesifikasi keperluan. Lazimnya, pada peringkat ini, perisian sedia untuk digunakan oleh bakal pengguna. Jenis ujian sistem ini dipanggil alpha (dilakukan oleh pasukan pembangunan dalam organisasi), beta (dilakukan oleh kumpulan pengguna/pelanggan terpilih) atau ujian penerimaan (dilakukan oleh pengguna/pelanggan untuk menentukan penerimaan sistem yang dihantar).
Apakah penyepaduan berterusan dan penghantaran berterusan?

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

    Pembangunan: Pembangun membina kod berdasarkan keperluan projek atau permintaan ciri.
  • Tulis ujian: Sebaik sahaja anda menulis kod, anda perlu menulis ujian. Pada ketika ini, ujian ini biasanya merupakan ujian unit bertulis pembangun.
  • Ujian tempatan: Kemudian lakukan ujian tempatan untuk menyemak sama ada semua ujian lulus dan pastikan kod itu tidak pecah. Biasanya, peratusan ditetapkan kepada kadar lulus yang perlu dipenuhi oleh ujian yang dijalankan.
  • 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.

    Ujian Selari: Ujian harus dijalankan secara selari untuk menjadikan ujian lebih cekap dan tepat pada masanya. Ia boleh mengurangkan dengan ketara masa yang diperlukan untuk menjalankan ujian, memberikan keputusan lebih cepat. Tetapi tidak cukup untuk hanya melaksanakan ujian ini secara selari; ia juga penting untuk menskalakan saiz pelayan yang menjalankan ujian untuk benar-benar meningkatkan kelajuan ujian.
  • Kesimpulan

  • Pengujian automatik adalah bahagian penting untuk berjaya melaksanakan projek sambil mengekalkan standard kualiti. Memastikan ujian dijalankan pada setiap peringkat memberikan ketelusan yang baik kepada kualiti kod. Ralat boleh ditangkap lebih awal dan sebarang kelewatan yang mungkin disebabkan olehnya boleh diatasi dengan segera. Mempunyai saluran paip CI/CD untuk ujian bersepadu membantu mempercepatkan proses ujian dan penggunaan.

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!

Label berkaitan:
sumber: dzone.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!