Templat Rancangan Ujian Prestasi

Templat rancangan ujian prestasi yang boleh digunakan sebagaimana adanya atau diubah suai untuk memenuhi keperluan projek anda dari segi keperluan prestasi.



1. Tujuan

Tujuan bahagian ini adalah untuk memberikan gambaran umum tahap tinggi mengenai pendekatan pengujian prestasi yang harus diikuti untuk projek. Perkara ini mesti disampaikan kepada semua pihak yang berkepentingan dan harus dibincangkan untuk mendapatkan kata sepakat.



2. Pengenalan

Sebagai sebahagian daripada penyampaian , diperlukan penyelesaian itu memenuhi kriteria penerimaan, baik dari segi bidang fungsional dan tidak berfungsi. Tujuan dokumen ini adalah untuk memberikan garis besar untuk ujian tidak berfungsi terhadap penyelesaian.


Dokumen ini merangkumi perkara berikut:

  • Kriteria Masuk dan Keluar
  • Keperluan Alam Sekitar
  • Pendekatan Pengujian Isipadu dan Prestasi
  • Aktiviti Pengujian Prestasi


3. Kriteria Kemasukan

Item kerja berikut harus diselesaikan / dipersetujui terlebih dahulu untuk meneruskan aktiviti ujian prestasi sebenar:


  • Dokumen keperluan ujian tidak berfungsi disediakan oleh , dengan NFR yang dikuantifikasi di mana mungkin
  • Kes penggunaan kritikal harus diuji secara fungsional dan tidak ada bug kritikal yang belum selesai
  • Reka Bentuk Senibina Reka bentuk yang diluluskan dan tersedia
  • Kes penggunaan utama telah ditentukan dan diliputi
  • Jenis ujian prestasi dipersetujui
  • Muatkan persediaan penyuntik
  • Sebarang penyediaan data diperlukan - mis. Bilangan pengguna yang sesuai dibuat di


4. Kriteria Keluar

Aktiviti ujian prestasi akan selesai apabila:

  • Sasaran NFR telah dipenuhi dan hasil ujian prestasi telah disampaikan kepada pasukan dan disetujui.


5. Keperluan Alam Sekitar

Ujian prestasi akan dijalankan dengan versi stabil penyelesaian (yang telah lulus ujian fungsional) dan dilakukan pada lingkungan seperti produksi khusus (pra-prod?) yang ditugaskan untuk ujian prestasi tanpa penyebaran di persekitaran itu selama ujian prestasi.

5.1 Beban Penyuntik

Akan ada satu atau lebih 'load injector' khusus untuk memulai beban yang diperlukan untuk pengujian prestasi. Penyuntik beban boleh berupa VM atau beberapa VM yang memiliki contoh JMeter berjalan, memulai permintaan.

5.2 Alat Uji

Alat ujian yang digunakan untuk ujian Volume dan Performance adalah:


5.2.1 JMeter

Alat ujian beban sumber terbuka. Terutama digunakan untuk ujian kelantangan dan prestasi.

5.2.2 Berpisah

Splunk akan digunakan untuk pembalakan (Boleh menggunakan alat lain - perlu mengesahkan dengan pasukan pengujian perf).



6. Pendekatan Pengujian Isipadu dan Prestasi

The penyelesaian harus cukup berprestasi untuk menguruskan kriteria beban berikut.

N.B. Nombor dalam jadual berikut adalah untuk sampel sahaja - nilai sebenar harus dimasukkan setelah diselesaikan oleh Dokumen NFR.


6.1 Jumlah Perkhidmatan Sasaran

Sasaran setiap jam dijumpai dari penyelesaian semasa untuk [Y2019]. Menghapus nilai ‘contoh’ lain dari templat rancangan.

Oleh kerana nilai puncak setiap jam tidak tinggi, ia akan diambil sebagai sasaran untuk ujian beban tetap. Faktor penskalaan adalah TBD sekarang.

6.2 Bilangan Pengguna

Ujian prestasi akan dijalankan dengan maksimum 1000 [?] Pengguna. Pengguna akan dibuat dalam terlebih dahulu dan boleh diakses melalui API log masuk. Setiap permintaan akan log masuk dengan userID yang berbeza.

6.3 Tegasan

Alat JMeter akan digunakan untuk melaksanakan skrip ujian prestasi. Dalam skrip, akan ada pernyataan yang dinyatakan untuk memeriksa metrik di atas serta beberapa pemeriksaan fungsional asas untuk memastikan respons yang betul diterima untuk setiap permintaan.


6.4 Memuatkan Profil

Profil beban harus dirancang untuk meniru lalu lintas rata-rata hari biasa ke tapak. Harap maklum bahawa lalu lintas hanya dibahagi dan terhad pada bahagian Pengenalan dan Pengurusan Akses pelanggan dari laman web ini, iaitu.

  • Log masuk
  • Daftar
  • Menetapkan semula kata laluan
  • Lupa kata laluan
  • Tetapkan Pelanggan
  • Dapatkan Pelanggan

Berikut adalah contoh profil untuk sehari:

6.4.1 Asas asas

Tindakan pertama adalah mencari asas. Dengan hanya menggunakan 1 pengguna, kami akan menjalankan simulasi untuk jangka masa (mis. 5 minit) untuk mendapatkan purata masa tindak balas untuk setiap titik akhir. Ini memastikan bahawa dengan hanya 1 pengguna kita benar-benar dapat mencapai permintaan puncak sesaat.


6.4.2 Ujian Beban

Setelah metrik asas dikumpulkan, maka simulasi yang sama, yang mensimulasikan profil beban, dijalankan dengan peningkatan jumlah pengguna untuk menguji jumlah sasaran. Idea ujian beban ini adalah untuk menguji sistem terhadap beban hari biasa, mensimulasikan kenaikan, puncak hari, dan penurunan jalan.

6.4.3 Ujian Tekanan

Tujuan ujian tekanan adalah untuk mencari titik putus sistem, iaitu pada tahap mana sistem menjadi tidak responsif. Sekiranya penskalaan automatik berlaku, ujian tekanan juga akan menjadi petunjuk yang baik di mana skala sistem dan sumber baru ditambahkan. Untuk ujian tekanan, simulasi yang sama digunakan untuk ujian beban digunakan tetapi dengan beban yang lebih tinggi daripada yang dijangkakan.

6.4.4 Ujian Lonjakan

Ujian lonjakan memperkenalkan beban yang signifikan pada sistem dalam jangka masa yang agak singkat. Tujuan ujian ini adalah untuk mensimulasikan peristiwa penjualan misalnya, apabila sebilangan besar pengguna secara serentak mengakses akaun mereka dalam jangka waktu yang agak singkat.

6.4.5 Ujian Rendam

Ujian rendam akan menjalankan ujian beban untuk jangka masa yang panjang. Tujuannya adalah untuk mendedahkan kebocoran memori dan tindak balas atau kesalahan semasa ujian rendaman. Kami biasanya menggunakan 80% beban (digunakan untuk pengujian beban) selama 24 jam, dan / atau 60% beban selama 48 jam.

6.4.6 Ujian Titik Ketepuan

Dalam pengujian titik tepu, kami terus meningkatkan beban dengan stabil untuk menentukan pada titik mana sistem menjadi tidak responsif, iaitu mencari titik putus sistem dari segi beban.



7. Aktiviti ujian prestasi

Kegiatan berikut disarankan untuk dilakukan untuk menyelesaikan Ujian Prestasi:

7.1 Membangunkan Persekitaran Ujian Prestasi

  • Penyuntik beban harus mempunyai kapasiti yang mencukupi dan harus dikendalikan dari jarak jauh. Juga, lokasi penyuntik harus dipersetujui
  • Mekanisme pemantauan dan amaran masa nyata harus ada dan harus meliputi aplikasi, pelayan dan juga penyuntik beban.
  • Log aplikasi mesti diakses.

7.2 Skrip Kes Penggunaan

  • Alat ujian prestasi yang akan digunakan adalah JMeter
  • Segala keperluan data telah dibahas agar kes penggunaannya ditulis

7.3 Membina Senario Ujian

  • Jenis ujian yang akan dijalankan (Beban / Tekanan dll)
  • Model beban / model beban harus dipersetujui untuk setiap jenis ujian (ramp-up / down, langkah dll)
  • Masukkan masa berfikir ke dalam senario

7.4 Pelaksanaan dan Analisis Ujian

Ujian berikut harus dilaksanakan dalam urutan berikut:

  • Ujian Baselining
  • Uji Beban
  • Ujian Tekanan
  • Ujian Lonjakan
  • Uji Rendam
  • Ujian Titik Ketepuan

Sebaik-baiknya, 2 ujian dijalankan untuk setiap jenis ujian akan dilakukan. Selepas setiap ujian dijalankan, aplikasi mungkin diperbaiki untuk meningkatkan kinerjanya dan kemudian kitaran ujian lain akan dimulakan.

7.5 Analisis dan Pelaporan Pasca Ujian

  • Tangkap dan buat sandaran semua laporan data dan arkib yang berkaitan.
  • Tentukan kejayaan atau kegagalan dengan membandingkan keputusan ujian dengan sasaran prestasi. Sekiranya sasaran tidak tercapai maka perubahan yang sesuai harus dibuat dan kitaran pelaksanaan ujian lain akan dimulakan. Tidak diketahui berapa banyak kitaran pelaksanaan yang diperlukan untuk memenuhi sasaran yang telah dipersetujui.
  • Mendokumentasikan dan membentangkan keputusan ujian kepada pasukan.