k6 - Pengalaman Pembangun Terbaik untuk Uji Beban

Industri ujian prestasi telah mengalami transformasi radikal dalam beberapa tahun terakhir. Secara tradisional, ujian beban telah dilakukan oleh jurutera ujian prestasi, serta jurutera dan penguji QA. Peranan ini biasanya berfungsi sebagai unit bebas, melakukan ujian prestasi setelah pembangun selesai membina aplikasi.

Dengan penerapan prinsip tangkas di antara pasukan pengembangan perisian, pengujian prestasi sebagai aktiviti bermula lebih awal dalam proses pengembangan, yang disebut ujian shift-kiri . Daripada menyerahkan ujian prestasi ke bahagian QA, pasukan perisian kini melakukan ujian mereka secara bebas atau bekerjasama dengan jurutera QA.

Manfaat lain dari mengubah ujian ke kiri adalah peningkatan penggunaan adopsi ujian prestasi dalam pasukan perisian. Tetapi banyak pengguna baru ini menuntut alat yang sesuai dengan mereka aliran kerja seharian , membenarkan mereka ujian dengan kerap dengan usaha yang minimum. Alat tradisional seperti JMeter dan LoadRunner tidak sesuai, dan sebaliknya, mereka beralih ke generasi baru alat, seperti k6.




Membongkar k6

k6 adalah percuma dan alat ujian beban sumber terbuka bertujuan menjadikan ujian prestasi menjadi pengalaman yang produktif dan menyeronokkan.

Alat ini boleh ditulis dan ujian k6 ditulis dalam Javascript , memberikan kemampuan untuk menulis ujian anda dalam salah satu bahasa pengaturcaraan yang paling terkenal di sekitar.


Bahasa dan API skrip yang kuat menghadirkan fleksibiliti yang diperlukan untuk meniru senario dunia nyata dalam skrip anda. Oleh kerana aplikasi dan sistem terus berkembang, kemampuan untuk memodulasi ujian anda akan meningkatkan kecekapan proses pengujian anda secara dramatik.

img / prestasi / 81 / k6-the-best-developer-experience.png

k6 adalah Alat Baris Perintah yang tersedia untuk Windows, Linux, dan Mac. Sebagai alternatif, terdapat gambar Docker rasmi.

Menjalankan ujian prestasi dengan k6 semudah menjalankan perintah bash:


img / prestasi / 81 / k6-the-best-developer-experience-2.png

Beberapa ciri skrip yang terkenal ialah:

  • API Javascript yang kuat dan didokumentasikan dengan baik untuk skrip ujian
  • Penyesuaian mendalam melalui pelbagai pilihan konfigurasi
  • Senario
  • Parameterisasi melalui pemboleh ubah persekitaran
  • Sokongan websockets
  • Cangkuk kitaran hidup untuk menyesuaikan persediaan dan teardown
  • Cek, metrik, teg, Kuki…


Perakam & penukar sesi

Sebagai alat pengujian beban yang paling canggih, k6 mempunyai perakam sesi yang memudahkan pembuatan ujian beban dari sesi pengguna. Anda hanya perlu memberikan fail HAR dari penyemak imbas atau sesi pengguna, dan perakam akan membuat ujian k6 untuk anda. Ini sangat berguna sekiranya anda memuatkan laman web ujian .

Selain itu, alat lain dapat membantu anda membuat ujian k6 secara automatik dari pelbagai teknologi:


  • Penukar JMeter: menukar fail JMeter .jmx ke skrip k6.
  • Postman converter: menukar koleksi Postman ke skrip k6.
  • Penukar OpenAPI: menukar spesifikasi Swagger / OpenAPI ke skrip k6.
  • Pelanjutan penyemak imbas: menghasilkan skrip k6 dari sesi penyemak imbas. Hanya tersedia untuk pengguna Cloud k6.

Walaupun anda tidak perlu menggunakan perakam dan penukar untuk memulakan pengujian, alat ini dapat membantu pasukan anda memasuki k6, atau membuat skrip ujian anda dengan lebih cepat.

Perakam dan penukar sesi



Hasil visualisasi

Secara lalai, k6 mengeluarkan hasilnya ke konsol. Selain itu, beberapa integrasi tersedia untuk membantu anda semasa analisis dan visualisasi keputusan ujian anda:

  • Apache Kafka
  • Awan k6
  • DataDog
  • InfluxDB + Grafana
  • JSON
  • NewRelic
  • StatistikD

img / prestasi / 81 / k6-the-best-developer-experience-4.png




Ujian berterusan dan automatik

Dalam komuniti pengujian, automasi adalah tujuan akhir bagi banyak organisasi. Apabila aplikasi dan sistem anda berubah, mengotomatisasi dan menjalankan ujian yang kerap akan membantu anda mengalami penurunan prestasi lebih awal.

Dokumentasi ini menyediakan panduan untuk alat CI / CD yang paling popular, yang membolehkan anda menggabungkan k6 ke dalam saluran paip CI anda dengan mudah.

  • Saluran Saluran Azure
  • BulatanCI
  • Tindakan GitHub
  • GitLab
  • Jenkins
  • TeamCity

Pasukan k6 percaya bahawa membuat menguji berorientasikan matlamat adalah syarat yang sangat diperlukan untuk automasi. Semasa menjalankan ujian automatik, tujuan utama ujian anda adalah yang pertama untuk mengesahkan jangkaan prestasi sistem anda, dan kedua, untuk memberi tahu anda jika sistem tidak memenuhi tujuan prestasi. Contohnya, mengesahkan bahawa:

  • Masa tindak balas untuk 95% permintaan tidak melebihi 600ms.
  • Sistem tidak menghasilkan kesalahan lebih daripada 0.5%.

Dalam k6, anda menentukan jangkaan ini dengan Ambang batas dalam ujian anda. Sekiranya sistem anda tidak menjangkau mereka, k6 akan memberitahu anda mengenai kegagalan mengembalikan kod keluar bukan sifar.


img / prestasi / 81 / k6-the-best-developer-experience-5.png

Sekiranya anda ingin mengetahui lebih lanjut mengenai topik ini, baca panduan k6 untuk automasi pengujian prestasi dan dokumentasi Ambang.



Awan k6

Awan k6 adalah produk SaaS komersial yang menyertai alat k6 sumber terbuka. OS k6 percuma digunakan dan mempunyai beberapa kesepaduan untuk menguruskan ujian beban di infrastruktur anda sendiri. Cloud k6 adalah perkhidmatan pilihan yang menyediakan infrastruktur dan sistem pengujian beban untuk membantu anda dalam usaha ujian prestasi anda.

Untuk memahami dengan lebih baik apa itu k6 Cloud, mari kita sebutkan beberapa ciri-cirinya:

  • Ujian skala mendatar dan di lokasi geografi yang berbeza.
  • Simpan dan gambarkan hasil ujian.
  • Mengesan masalah prestasi secara automatik.
  • Hasil korelasi antara pelbagai ujian.
  • Pengguna onboard dengan pembangun ujian GUI.
  • Aturkan pasukan dan ujian di lokasi pusat.
  • Berikan sokongan khusus.

Awan k6



Komuniti

Komuniti k6 benar-benar menyokong dan membantu - kekuatan di sebalik kejayaan projek.

Sekiranya anda memulakan dengan k6, jangan lupa untuk menghubungi mereka Kendur atau forum komuniti untuk sebarang jenis soalan. Terdapat beberapa saluran dan kategori untuk topik yang berbeza seperti #grafana, #dokumentasi, #makanan balik, #perbincangan, dll.

Bagi mereka yang berminat dengan dalaman projek, ikuti projek di GitHub .



Kesimpulannya

Catatan ini bertujuan untuk menampilkan pengenalan k6 - salah satu alat ujian beban yang paling menarik. Sekiranya anda ingin mengetahui apa lagi yang ditawarkan k6, kami mengesyorkan membaca Dokumen k6 .

Dengan hanya empat tahun hidup, k6 telah menjadi kaya fitur dan bersaing dengan alat yang mapan, memperoleh penerapan hebat dalam pemaju, DevOps, dan komuniti ujian.

Pasukan k6 dan komuniti telah membina alat pengujian prestasi yang berpusat pada pemaju yang memenuhi permintaan dan keperluan untuk era baru.