Panduan Lengkap Ujian Muatan untuk Pemula

Panduan Pengujian Beban Lengkap untuk pemula:

Dalam tutorial ini, kami akan mengetahui sebab kami melakukan Ujian Beban, apa yang dicapai daripadanya, Seni Bina, apakah pendekatan yang perlu diikuti untuk berjaya melaksanakan Ujian Beban, cara menyediakan persekitaran Ujian Beban, amalan terbaik, bersama-sama dengan Alat Ujian Beban terbaik yang terdapat di pasaran.

Kami telah mendengar tentang kedua-duanya Jenis Ujian Fungsian dan Bukan Fungsian. Dalam Ujian Bukan Fungsian, kami mempunyai pelbagai jenis ujian seperti Ujian Prestasi, Ujian Keselamatan, Ujian Antara Muka Pengguna dll.

Oleh itu, Ujian Beban ialah jenis ujian Bukan Fungsian yang merupakan subset Ujian Prestasi.

Oleh itu, apabila kami mengatakan kami sedang menguji aplikasi untuk prestasi, apakah yang kami uji di sini? Kami sedang menguji aplikasi untuk Muatan, Isipadu, Kapasiti, Tekanan dll.

Apakah Ujian Beban?

Ujian Muatan ialah subset Pengujian Prestasi, di mana kami menguji respons sistem di bawah keadaan beban yang berbeza-beza dengan mensimulasikan berbilang pengguna yang mengakses aplikasi secara serentak. Ujian ini biasanya mengukur kelajuan dan kapasiti aplikasi.

Oleh itu, apabila kami mengubah suai beban, kami memantau kelakuan sistem dalam pelbagai keadaan.

Contoh : Mari kita andaikan bahawa keperluan pelanggan kami untuk halaman Log Masuk ialah 2-5 saat dan 2-5 saat ini harus konsisten semuabutiran, menambah produk pada troli, tidak mendaftar keluar dan Log keluar.

  • Semak imbas, Paparan Produk, Tambah ke troli Daftar Keluar dan Buat Pembayaran – Di sini, pengguna log masuk ke dalam aplikasi , Semak imbas melalui kategori yang berbeza, melihat butiran produk, menambahkan produk pada troli, membuat pembayaran, membuat Pembayaran dan Log keluar.
  • S.No Aliran Perniagaan Bilangan Transaksi Muatan Pengguna Maya

    Masa Respons (saat) % Kadar kegagalan dibenarkan Transaksi sejam

    1 Semak imbas 17

    1600

    3 Kurang daripada 2% 96000

    2 Semak imbas, Paparan Produk, Tambah ke Troli 17

    200

    3 Kurang daripada 2% 12000

    3 Semak imbas, Paparan Produk, Tambah ke Troli dan Semak 18

    120

    3 Kurang daripada 2% 7200

    4 Semak imbas, Paparan Produk, Tambah ke troli Daftar keluar dan Buat Pembayaran 20 80

    3 Kurang daripada 2% 4800

    Nilai di atas diperoleh berdasarkan pengiraan berikut:

    • Transaksi sejam = Bilangan pengguna*Transaksi yang dibuat oleh seorang pengguna dalam satu jam.
    • Bilangan pengguna = 1600.
    • Jumlah bilangan transaksi dalam senario Semak imbas = 17.
    • Masa Respons untuksetiap transaksi = 3.
    • Jumlah masa untuk seorang pengguna menyelesaikan 17 transaksi = 17*3 = 51 dibundarkan kepada 60 saat (1 min).
    • Transaksi sejam = 1600*60 = 96000 Transaksi.

    #4) Reka Bentuk Ujian Beban – Ujian Beban harus direka bentuk dengan data yang kami kumpulkan setakat ini iaitu aliran Perniagaan, Bilangan pengguna, pengguna corak, Metrik untuk dikumpul dan dianalisis. Selain itu, ujian harus direka bentuk dengan cara yang lebih realistik.

    #5) Laksanakan Ujian Beban – Sebelum kami melaksanakan ujian Beban, pastikan aplikasi sedang berfungsi dan berjalan. Persekitaran ujian Muatan sedia. Aplikasi diuji dari segi fungsi dan stabil.

    Semak tetapan konfigurasi persekitaran ujian Muatkan. Ia sepatutnya sama dengan persekitaran pengeluaran. Pastikan semua data ujian tersedia. Pastikan anda menambah pembilang yang diperlukan untuk memantau prestasi sistem semasa pelaksanaan ujian.

    Sentiasa mulakan dengan beban yang rendah dan tingkatkan beban secara beransur-ansur. Jangan sekali-kali bermula dengan beban penuh dan putuskan sistem.

    #6) Analisis Keputusan Ujian Beban – Adakan ujian asas untuk sentiasa membandingkan dengan ujian yang lain dijalankan. Kumpulkan metrik dan log pelayan selepas ujian dijalankan untuk mencari kesesakan.

    Sesetengah projek menggunakan Alat Pemantauan Prestasi Aplikasi untuk memantau sistem semasa ujian dijalankan, alatan APM ini membantu mengenal pasti punca dengan lebih mudahdan menjimatkan banyak masa. Alat ini sangat mudah untuk mencari punca kesesakan kerana mereka mempunyai pandangan yang luas untuk menentukan di mana isu itu.

    Beberapa alatan APM dalam pasaran termasuk DynaTrace, Wily Introscope, App Dynamics dsb.

    #7) Pelaporan – Setelah Larian Ujian selesai, kumpulkan semua metrik dan hantar laporan ringkasan ujian kepada pasukan berkenaan dengan pemerhatian dan pengesyoran anda.

    Amalan Terbaik

    Senarai Alat Pengujian Prestasi tersedia di pasaran untuk menjalankan ujian beban eksklusif.

    Kesimpulan

    Dalam tutorial ini, kami telah mempelajari cara ujian Muatan memainkan peranan penting dalam ujian Prestasi aplikasi, cara ia membantu memahami kecekapan dan keupayaan aplikasi, dsb.

    Kami juga mengetahui caranya membantu meramal sama ada sebarang perkakasan, perisian atau penalaan tambahan diperlukan pada aplikasi.

    Selamat Membaca!!

    sepanjang sehingga memuatkan adalah 5000 pengguna. Jadi apa yang patut kita perhatikan dengar? Adakah ia hanya keupayaan pengendalian beban sistem atau adakah ia hanya keperluan masa tindak balas?

    Jawapannya ialah kedua-duanya. Kami mahu sistem yang boleh mengendalikan beban 5000 pengguna dengan masa tindak balas 2-5 saat untuk semua pengguna serentak.

    Jadi apakah yang dimaksudkan dengan pengguna serentak dan pengguna maya?

    Pengguna serentak ialah mereka yang log masuk ke aplikasi dan pada masa yang sama, melakukan satu set aktiviti bersama-sama dan log keluar aplikasi pada masa yang sama. Sebaliknya, pengguna maya hanya melompat masuk dan melompat keluar dari sistem tanpa mengira aktiviti pengguna yang lain.

    Muatkan Seni Bina Ujian

    Dalam rajah di bawah kita dapat melihat cara pengguna yang berbeza mengakses permohonan. Di sini setiap pengguna membuat permintaan melalui Internet, yang kemudiannya melalui tembok api.

    Selepas tembok api, kami mempunyai pengimbang beban yang mengagihkan beban kepada mana-mana pelayan web, dan kemudian menghantar kepada aplikasi pelayan dan kemudiannya ke pelayan pangkalan data di mana ia mengambil maklumat yang diperlukan berdasarkan permintaan pengguna.

    Pengujian muat boleh dilakukan secara manual dan juga dengan menggunakan alat. Tetapi ujian beban manual tidak digalakkan kerana kami tidak menguji aplikasi untuk beban yang lebih rendah.

    Contoh : Mari kita anggap, bahawa kita ingin menguji aplikasi beli-belah dalam talian untuk melihat masa tindak balasaplikasi untuk setiap klik pengguna iaitu Langkah1 –Lancarkan URL, masa respons, Log masuk ke aplikasi dan perhatikan masa respons dan sebagainya seperti memilih produk, menambah troli, membuat pembayaran dan log keluar. Semua ini perlu dilakukan untuk 10 pengguna.

    Jadi, sekarang apabila kita perlu menguji beban aplikasi untuk 10 pengguna, maka kita boleh mencapainya dengan meletakkan beban secara manual oleh 10 pengguna fizikal daripada mesin yang berbeza dan bukannya menggunakan alat. Dalam senario ini, adalah dinasihatkan untuk melakukan ujian beban manual daripada melabur dalam alat dan menyediakan persekitaran untuk alat tersebut.

    Sementara bayangkan jika kita perlu memuatkan ujian untuk 1500 pengguna maka kita perlu mengautomasikan ujian beban menggunakan mana-mana alat yang tersedia berdasarkan teknologi di mana aplikasi dibina dan juga berdasarkan belanjawan yang kami ada untuk projek itu.

    Jika kami mempunyai belanjawan, maka kami boleh menggunakan alatan komersil seperti Load runner tetapi jika kita tidak mempunyai banyak bajet maka kita boleh menggunakan alatan sumber terbuka seperti JMeter, dsb.

    Sama ada alat komersial atau alat sumber terbuka, butirannya mestilah dikongsi dengan pelanggan sebelum kami memuktamadkan alat. Biasanya, bukti konsep disediakan, di mana kami menjana skrip sampel menggunakan alat dan menunjukkan laporan sampel kepada pelanggan untuk kelulusan alat sebelum memuktamadkannya.

    Dalam ujian beban automatik, kami menggantikan pengguna dengan bantuan seorangalat automasi, yang meniru tindakan pengguna masa nyata. Dengan mengautomasikan beban, kami boleh menjimatkan sumber serta masa.

    Di bawah ialah gambar rajah yang menggambarkan cara pengguna diganti menggunakan alat.

    Mengapa Muatkan Ujian?

    Mari kita anggap bahawa terdapat tapak web beli-belah dalam talian yang berfungsi dengan baik semasa hari perniagaan biasa iaitu pengguna boleh log masuk ke aplikasi, semak imbas melalui kategori produk yang berbeza, pilih produk, tambah item pada troli, daftar keluar dan log keluar dalam julat yang boleh diterima dan tiada ralat halaman atau masa respons yang besar.

    Sementara itu, tibalah hari puncak iaitu mari ucapkan hari Thanks Giving dan terdapat beribu-ribu pengguna yang log masuk ke sistem, sistem itu ranap secara tiba-tiba dan pengguna mengalami tindak balas yang sangat perlahan, ada yang tidak dapat log masuk ke tapak, beberapa gagal untuk dimasukkan ke dalam troli dan ada yang gagal untuk mendaftar keluar.

    Oleh itu pada hari besar ini, syarikat terpaksa menghadapi kerugian besar kerana kehilangan ramai pelanggan dan banyak perniagaan juga. Semua ini berlaku hanya kerana mereka tidak meramalkan beban pengguna untuk hari puncak, walaupun mereka akan meramalkan tiada ujian beban dilakukan pada tapak web syarikat, oleh itu mereka tidak tahu berapa banyak beban yang akan dapat dikendalikan oleh aplikasi pada hari-hari puncak.

    Oleh itu untuk menangani situasi sedemikian dan untuk mengatasi hasil yang besar, adalah dinasihatkan untuk menjalankan bebanujian untuk jenis aplikasi sedemikian.

    • Ujian Muatan membantu membina sistem yang kukuh dan boleh dipercayai.
    • Kesempitan dalam sistem dikenal pasti lebih awal sebelum aplikasi disiarkan.
    • Ia membantu dalam mengenal pasti kapasiti aplikasi.

    Apakah yang dicapai semasa ujian Muatan?

    Dengan Muatan yang betul ujian, kami boleh mempunyai pemahaman yang tepat tentang perkara berikut:

    1. Bilangan pengguna yang sistem mampu kendalikan atau mampu skalakan.
    2. Masa respons bagi setiap transaksi.
    3. Bagaimanakah setiap komponen keseluruhan sistem berkelakuan di bawah Muatan iaitu komponen pelayan aplikasi, komponen pelayan web, komponen Pangkalan Data dll.
    4. Apakah konfigurasi pelayan yang terbaik untuk mengendalikan beban?
    5. Sama ada perkakasan sedia ada sudah mencukupi atau ada keperluan untuk perkakasan tambahan.
    6. Kemacetan seperti penggunaan CPU, Penggunaan Memori, kelewatan Rangkaian, dsb., dikenal pasti.

    Persekitaran

    Kami memerlukan persekitaran Ujian Beban khusus untuk menjalankan ujian kami. Kerana kebanyakan masa persekitaran ujian Muatan akan sama dengan persekitaran pengeluaran dan juga data yang tersedia dalam persekitaran ujian beban akan sama seperti pengeluaran walaupun ia bukan data yang sama.

    Akan terdapat berbilang persekitaran ujian seperti persekitaran SIT, persekitaran QA dll, persekitaran ini bukan pengeluaran yang sama,kerana tidak seperti ujian beban, mereka tidak memerlukan banyak pelayan atau data ujian sebanyak itu untuk menjalankan ujian berfungsi atau ujian integrasi.

    Contoh:

    Dalam Persekitaran Pengeluaran , kami mempunyai 3 pelayan Aplikasi, 2 pelayan Web dan 2 Pelayan Pangkalan Data. Dalam QA, kami hanya mempunyai 1 Pelayan Aplikasi, 1 pelayan Web dan 1 pelayan Pangkalan Data. Oleh itu, jika kami menjalankan ujian Beban pada persekitaran QA yang tidak sama dengan Pengeluaran, maka ujian kami tidak sah dan juga tidak betul dan dengan itu kami tidak boleh mengikut keputusan ini.

    Oleh itu sentiasa cuba untuk mempunyai persekitaran khusus untuk ujian Muatan yang serupa dengan persekitaran pengeluaran.

    Selain itu, kadangkala kami mempunyai aplikasi pihak ketiga yang akan dipanggil oleh sistem kami, oleh itu dalam kes sedemikian, kami boleh menggunakan stub semasa kami tidak boleh sentiasa bekerjasama dengan vendor pihak ketiga untuk menyegarkan data atau sebarang isu atau sokongan lain.

    Cuba ambil gambar persekitaran sebaik sahaja ia bersedia supaya, pada bila-bila masa anda mahu membina semula persekitaran, anda boleh menggunakan petikan ini, yang akan membantu dengan pengurusan masa. Terdapat beberapa alatan yang tersedia di pasaran untuk menyediakan persekitaran seperti Puppet, Docker dll.

    Pendekatan

    Sebelum kita memulakan ujian Muatan, kita perlu memahami sama ada sebarang ujian Muatan sudah ada dilakukan pada sistem atau tidak. Jika terdapat sebarang ujian beban dilakukan lebih awal, maka kita perlu tahu apakah masa tindak balas, pelanggan danmetrik pelayan yang dikumpul, berapa banyak kapasiti beban pengguna dll.

    Selain itu, kami memerlukan maklumat tentang berapa banyak keupayaan pengendalian aplikasi semasa. Jika ia adalah aplikasi baharu, kami perlu memahami keperluan, apakah beban yang disasarkan, berapa jangka masa tindak balas dan jika ia benar-benar boleh dicapai atau tidak.

    Jika ia adalah aplikasi sedia ada, anda boleh mendapatkan keperluan beban dan corak capaian pengguna daripada log pelayan. Tetapi jika ia adalah aplikasi baharu, maka anda perlu menghubungi pasukan perniagaan untuk mendapatkan semua maklumat.

    Setelah kami mempunyai keperluan, kami perlu mengenal pasti cara kami akan melaksanakan ujian beban. Adakah ia dilakukan secara manual atau menggunakan alatan? Melakukan ujian beban secara manual memerlukan banyak sumber dan juga sangat mahal. Juga mengulangi ujian, lagi dan lagi, akan menjadi sukar juga.

    Oleh itu, untuk mengatasinya, kita boleh sama ada menggunakan alat sumber terbuka atau alatan komersial. Alat sumber terbuka tersedia secara percuma, alat ini mungkin tidak mempunyai semua ciri seperti alat komersial yang lain tetapi jika projek itu mempunyai kekangan belanjawan, maka kita boleh menggunakan alat sumber terbuka.

    Sedangkan alat komersial mempunyai banyak ciri, ia menyokong banyak protokol dan sangat mesra pengguna.

    Pendekatan Ujian Beban kami adalah seperti berikut:

    #1) Kenal pasti ujian Beban Kriteria Penerimaan

    Sebagai Contoh :

    1. Masa respons bagiHalaman log masuk tidak boleh lebih daripada 5 saat walaupun dalam keadaan pemuatan maksimum.
    2. Penggunaan CPU tidak boleh melebihi 80%.
    3. Kemampuan sistem hendaklah 100 transaksi sesaat .

    #2) Kenal pasti senario Perniagaan yang perlu diuji.

    Jangan uji semua aliran, cuba fahami aliran perniagaan utama yang dijangka berlaku dalam pengeluaran. Jika ia adalah aplikasi sedia ada, kita boleh mendapatkan maklumatnya daripada log pelayan persekitaran pengeluaran.

    Jika ia adalah aplikasi yang baru dibina maka kita perlu bekerjasama dengan pasukan perniagaan untuk memahami corak aliran, penggunaan aplikasi dsb. Kadangkala pasukan projek akan mengadakan bengkel untuk memberikan gambaran keseluruhan atau butiran tentang setiap komponen aplikasi.

    Kami perlu menghadiri bengkel aplikasi dan ambil perhatian semua maklumat yang diperlukan untuk menjalankan ujian beban kami.

    #3) Pemodelan Beban Kerja

    Setelah kami mendapat butiran tentang aliran perniagaan, corak akses pengguna dan bilangan pengguna, kami perlu mereka bentuk beban kerja sedemikian rupa di mana ia meniru navigasi pengguna sebenar dalam pengeluaran atau seperti yang dijangkakan pada masa hadapan sebaik sahaja aplikasi akan dikeluarkan.

    Perkara utama yang perlu diingat semasa mereka bentuk model beban kerja adalah untuk melihat berapa lama masa tertentu aliran perniagaan akan mengambil masa untuk diselesaikan. Di sini kita perlu menetapkan masa berfikir sedemikian rupaitu, pengguna akan menavigasi merentasi aplikasi dengan cara yang lebih realistik.

    Corak Beban Kerja biasanya akan dengan Ramp up, Ramp down dan keadaan stabil. Kita harus memuatkan sistem secara perlahan dan dengan itu ramp up dan ramp down digunakan. Keadaan mantap biasanya ialah ujian Muatan selama satu jam dengan Ramp up 15 min dan Ram turun 15 min.

    Mari kita ambil Contoh Model Beban Kerja:

    Ikhtisar aplikasi – Mari kita anggap membeli-belah dalam talian, di mana pengguna akan log masuk ke aplikasi dan mempunyai pelbagai jenis pakaian untuk membeli-belah, dan mereka boleh menavigasi merentasi setiap produk.

    Untuk melihat butiran tentang setiap produk, mereka perlu klik pada produk tersebut. Jika mereka menyukai kos dan pembuatan produk, maka mereka boleh menambah pada troli dan membeli produk dengan mendaftar keluar dan membuat pembayaran.

    Di bawah ialah senarai senario:

    1. Semak imbas – Di sini, pengguna melancarkan aplikasi, Log masuk ke dalam aplikasi, Semak imbas melalui kategori berbeza dan Log keluar daripada aplikasi.
    2. Semak imbas, Paparan Produk, Tambah ke Troli – Di sini, pengguna log masuk ke aplikasi, Semak imbas melalui kategori berbeza, lihat butiran produk, tambah produk ke troli dan Log keluar.
    3. Semak imbas, Paparan Produk, Tambah ke Troli dan Daftar Keluar – Dalam senario ini, pengguna log masuk ke aplikasi, Semak imbas melalui kategori berbeza, melihat produk
    Gulung ke atas