FASA
SUB TOPIK PENGUJIAN PRESTASI SISTEM
FASA
PENGUJIAN
MENERANGKAN PELAKSANAAN PENGUJIAN PRESTASI SISTEM APLIKASI YANG MERANGKUMI METODOLOGI PENGUJIAN PRESTASI DAN PENYEDIAAN LAPORAN PENGUJIAN PRESTASI BERDASARKAN AMALAN TERBAIK PENGUJIAN
1.
2.
3.
4.
5.
Definisi
Objektif Pengujian Prestasi
Kepentingan Pelaksanaan Pengujian Prestasi
Metodologi Pengujian Prestasi Cadangan Penambahbaikan
KANDUNGAN
FASA PENGUJIAN
PENGUJIAN PRESTASI (PERFORMANCE TEST)
❑ Definisi:
• Ujian yang dijalankan untuk menguji prestasi infrastruktur dan keupayaan sistem aplikasi untuk beroperasi dengan sejumlah bebanan/ pengguna secara serentak dalam tempoh masa tindakbalas yang ditetapkan
• Jenis-jenis pengujian prestasi: Load Test, Stress Test, Spike Test, Scalability Test, etc
3
FASA PENGUJIAN
UJIAN BEBAN (LOAD TEST)
• Definisi:
✔Ujian prestasi yang dilaksanakan untuk menilai keupayaan komponen atau sistem aplikasi beroperasi dengan sejumlah beban yang berbeza-beza bermula daripada rendah (low usage) sehingga beban yang tinggi (peak usage)
• Isu-isu yang dipantau: resources, server configuration, apps configuration, errors and exceptions
[1] xxxxx://xxxxxxxx.xxxxx.xxx/xx/xxxxxx/
4
FASA PENGUJIAN
UJIAN TEKANAN (STRESS TEST)
• Definisi:
✔Ujian prestasi yang dilakukan untuk menilai ketahanan prestasi sistem atau komponen pada atau melebihi had beban yang dijangkakan atau ditentukan, atau dengan pengurangan sumber seperti akses ke memori atau pelayan
✔Mengenalpasti breaking point sistem aplikasi
✔Mengenalpasti bilangan maksimum pengguna serentak yang
dapat disokong
✔Untuk tujuan capacity planning (scale out/scale up)
xxxxx://xxxxxxxx.xxxxx.xxx/xx/xxxxxx/ 5
FASA PENGUJIAN
OBJEKTIF PELAKSANAAN PENGUJIAN PRESTASI
a) Memastikan sistem yang akan digunakan dapat berjalan lancar dan risiko gangguan prestasi sistem adalah minima.
b) Mengenalpasti bilangan pengguna serentak yang sesuai dan boleh ditampung oleh sistem
c) Mengenalpasti had maksima bilangan pengguna serentak melalui ujian tekanan (stress test).
d) Mengenalpasti punca masalah dan cadangan penambahbaikan
kepada aturcara aplikasi, penalaan sistem atau keperluan peningkatan infrastruktur yang menjejaskan prestasi aplikasi.
6
FASA PENGUJIAN
KEPENTINGAN PENGUJIAN PRESTASI
7
FASA PENGUJIAN
ISU BERKAITAN PENGUJIAN PRESTASI
a. Kadar trafik pengguna yang tinggi dalam satu masa
8
FASA PENGUJIAN
ISU BERKAITAN PENGUJIAN PRESTASI
a. Kadar trafik pengguna yang tinggi dalam satu masa
9
FASA PENGUJIAN
ISU BERKAITAN PENGUJIAN PRESTASI
a. Kadar trafik pengguna yang tinggi dalam
satu masa
10
FASA PENGUJIAN
ISU BERKAITAN PENGUJIAN PRESTASI
a. Kadar trafik pengguna yang tinggi dalam satu masa
11
FASA PENGUJIAN
ISU BERKAITAN PENGUJIAN PRESTASI
a. Kadar trafik pengguna yang tinggi dalam satu masa
Penambahbaikan
12
FASA PENGUJIAN
ISU BERKAITAN PENGUJIAN PRESTASI
b. Application/ Server Crash
13
FASA PENGUJIAN
PELAKSANAAN PENGUJIAN PRESTASI
✔Sebelum sistem Go Live
✔Selepas pelaksanaan Ujian Penerimaan Pengguna (UAT)
✔Semasa pelaksanaan Ujian Penerimaan Provisional (PAT)
✔Selepas pelaksanaan Ujian Keselamatan (Security Test)
ISTQB® Certified Tester Advanced Level Syllabus Security Tester Version 2016
14
FASA PENGUJIAN
METODOLOGI PENGUJIAN PRESTASI
ISTQB® Certified Tester Foundation Level Specialist Syllabus Performance Testing Version 2018
ISO Standard (ISO/IEC/IEEE 29119-2) – Test Process 15
FASA PENGUJIAN
PENETAPAN SKOP PENGUJIAN
▪ Bilangan pengguna serentak (number of concurrent users).
▪ Cth: 10,000 pengguna serentak
▪ Purata masa tindak balas (response time)
▪ Cth: kurang daripada 5 saat
▪ Bilangan item ujian/transaksi bisnes (business transaction)
▪ Cth: 3 transaksi bisnes
16
FASA PENGUJIAN
PENETAPAN SKOP PENGUJIAN
❑ Bilangan Pengguna Serentak (number of concurrent users)
✔ 10% daripada bilangan pengguna berdaftar, atau
✔ 10% daripada jangkaan pengguna sistem, atau
✔ 20% pengguna bagi sistem yang kritikal
❑ Masa Tindak Balas (Response Time)
✔ 2 - 4 saat – Transaksi mudah (log masuk, paparan maklumat, etc)
✔ 5 - 9 saat – Transaksi sederhana (carian, hantar permohonan)
✔ 10 - 15 saat – Transaksi kompleks (penjanaan laporan bulanan)
17
FASA PENGUJIAN
PENILAIAN KUALITI PENGUJIAN PRESTASI
Prestasi sistem aplikasi secara keseluruhan:
❑ Purata masa tindakbalas <=SLA yang ditetapkan
❑ APDEX Rating >= 0.85
✔T =5s (satisfied), 3T = 15s (tolerate)
❑ Kadar kegagalan transaksi (Failure Rate) <= 2%
✔ kadar kegagalan daripada keseluruhan transaksi
❑ Pengunaan sumber (Server Utilization) < 80%
✔ kadar penggunaan CPU and RAM
❑ Errors dan exceptions
18
FASA PENGUJIAN
PENETAPAN ENTRY CRITERIA DAN EXIT CRITERIA
Entry Criteria dan Exit Criteria - satu set syarat yang telah ditetapkan dan
hendaklah dipenuhi sebelum pemulaan dan penamatan aktiviti pengujian.
Entry Criteria dan Exit Criteria hendaklah dinyatakan di dalam Pelan Ujian Prestasi serta dipersetujui di antara pasukan pembangun sistem, pasukan penguji, pemilik sistem dan pemegang taruh yang berkenaan.
19
FASA PENGUJIAN
PENETAPAN ENTRY CRITERIA DAN EXIT CRITERIA
❖ CONTOH ENTRY CRITERIA
✔Ujian Penerimaan Pengguna (UAT) telah selesai dilaksanakan
✔Pelan Pengujian Prestasi telah dipersetujui dan ditandatangani
✔Ujian Keselamatan (Security Test) telah selesai dilaksanakan
✔Persekitaran ujian bagi production telah disediakan
✔Skrip ujian telah disediakan
✔Data ujian telah disediakan
✔Instalasi dan konfigurasi SUT telah selesai dilaksanakan
20
FASA PENGUJIAN
PENETAPAN ENTRY CRITERIA DAN EXIT CRITERIA
❖ CONTOH EXIT CRITERIA
✔Semua transaksi bisnes yang dipersetujui telah direkodkan dan diuji
✔Purata masa tindakbalas adalah sama atau kurang daripada masa tindakbalas yang telah ditetapkan dalam Service Level Agreement (SLA)
✔Failure Rate tidak melebihi 2%
✔Server Utilization (CPU dan Memory) adalah tidak melebihi 80%
✔Nilai APDEX Rating adalah tidak kurang daripada 0.85
✔Laporan Ujian Prestasi telah diserahkan dan disahkan oleh pemilik projek
21
FASA PENGUJIAN
CADANGAN ARKITEKTUR PENGUJIAN PRESTASI
22
FASA PENGUJIAN
PERANAN DAN TANGGUNGJAWAB PASUKAN PENGUJIAN PRESTASI
▪ membangunkan skrip pengujian dan melaksanakan pengujian prestasi
▪ memastikan pelaksanaan pengujian prestasi mengambilkira fungsi utama sistem
▪ memastikan pemantauan aplikasi dan perkakasan direkodkan
semasa pengujian prestasi dilaksanakan
▪ mengenalpasti isu prestasi atau kegagalan sistem
▪ menyediakan ringkasan laporan ujian prestasi selepas setiap
peringkat ujian
23
FASA PENGUJIAN
PERANAN DAN TANGGUNGJAWAB PASUKAN PEMBANGUN SISTEM
▪ mengenalpasti transaksi bisnes yang perlu diuji berdasarkan kepada pengalaman penggunaan sistem
▪ menyediakan persekitaran dan perkakasan pengujian
▪ menyediakan aplikasi/ tools bagi merekod dan memantau
peratusan penggunaan perkakasan/ server
▪ melakukan penambahbaikan kepada aplikasi dan konfigurasi server yang menyebabkan isu prestasi
24
FASA PENGUJIAN
JADUAL PELAKSANAAN
25
FASA PENGUJIAN
JADUAL PELAKSANAAN
Bil. | Aktiviti | Anggaran Tempoh | Tanggungjawab |
1. | Perbincangan awal pelaksanaan projek | 1 hari | MyTCoE/Pasukan Projek |
2. | Kajian keperluan dan pengesahan maklumat | 2 hari | MyTCoE/Pasukan Projek |
3. | Penyediaan pelan pengujian prestasi | 2 hari | MyTCoE/Pasukan Projek |
4. | Semakan dan pengesahan pelan pengujian prestasi | 1 hari | MyTCoE/Pasukan Projek |
5. | Penyediaan infrastruktur pengujian | 2 hari | Pasukan Projek/MyTCoE |
6. | Pembangunan skrip ujian dan verifikasi skrip | MyTCoE | |
7. | Pengujian persekitaran pengujian dan ujian awal (smoke test) | MyTCoE/Pasukan Projek |
26
FASA PENGUJIAN
JADUAL PELAKSANAAN (Sambungan..)
2
Bil. | Aktiviti | Tempoh | Tanggungjawab |
8. | Kitaran 1: Pengujian ∙Aktiviti pengujian prestasi ∙Penyediaan laporan penemuan ralat (JMeter) ∙Penyediaan laporan penemuan ralat(APM) ∙Pembentangan laporan penemuan ralat | 3 hari | MyTCoE |
9. | Kitaran 1: Penambahbaikan kepada infrastruktur dan sistem aplikasi (fine tuning) | 7 hari | Pasukan Projek |
10. | Kitaran 2: Pengujian ∙Aktiviti pengujian prestasi ∙Penyediaan laporan penemuan ralat (JMeter) ∙Penyediaan laporan penemuan ralat(APM) ∙Pembentangan laporan penemuan ralat | 3 hari | MyTCoE |
7
FASA PENGUJIAN
JADUAL PELAKSANAAN (Sambungan..)
Bil. | Aktiviti | Tempoh | Tanggungjawab |
11. | Kitaran 2: Penambahbaikan kepada infrastruktur dan sistem aplikasi (fine tuning) | 3 hari | Pasukan Projek |
12. | Pengujian tekanan(Stress Test) | TBD | MyTCoE |
13. | Penamatan Ujian | TBD | MyTCoE/Pasukan Projek |
28
PENGUJIAN
FASA
METODOLOGI PENGUJIAN
• Pengenalan sistem
• Objektif dan skop ujian
• Perisian dan perkakasan ujian
• Kekangan
• Komunikasi dan daftar risiko
• Strategi ujian
• Entry dan exit kriteria
• Metrik ujian
• Persekitaran ujian
• Jadual aktiviti pengujian
Buku Panduan Kejuruteraan Sistem Aplikasi Sektor Awam (KRISA)
29
PENGUJIAN
FASA
METODOLOGI PENGUJIAN
• Menyediakan skrip ujian menggunakan tools berdasarkan
transaksi bisnes yang telah dipersetujui
• Menyediakan persekitaran ujian seperti pemasangan dan konfigurasi SUT, perkakasan, data ujian serta agen pemantauan aplikasi
• Contoh konfigurasi pada SUT:
✔Disable pengesahan emel
✔Disable pengesahan captcha
✔Disable integrasi antara sistem
ISTQB® Certified Tester Foundation Level Specialist Syllabus Performance Testing Version 2018
ISO Standard (ISO/IEC/IEEE 29119-2) – Test Process 30
PENGUJIAN
FASA
METODOLOGI PENGUJIAN
❖ Smoke Test
▪ Memastikan tiada ralat pada SUT dan persekitaran ujian melibatkan skrip ujian,
data ujian.
❖ Ujian beban (load test)
▪ Dilaksanakan sekurang-kurangnya 2 kitaran ujian (cycle)
▪ Menggunakan simulasi ujian adalah berdasarkan transaksi bisnes yang telah
direkodkan
▪ Ujian beban (load test) dilaksanakan secara berperingkat (iteration) menggunakan jumlah beban yang berbeza
❖ Ujian tekanan (stress test)
▪ Dilaksanakan selepas semua kitaran ujian selesai (sekiranya perlu)
ISTQB® Certified Tester Foundation Level Specialist Syllabus Performance Testing Version 2018
ISO Standard (ISO/IEC/IEEE 29119-2) – Test Process 31
FASA PENGUJIAN
PELAKSANAAN UJIAN PRESTASI (KITARAN 1)
32
FASA PENGUJIAN
PELAKSANAAN UJIAN PRESTASI (KITARAN 2)
Iteration 1 dan 2 tidak diulangi kerana telah lulus semasa Cycle 1
33
FASA PENGUJIAN
TOOLS PENGUJIAN PRESTASI
34
FASA PENGUJIAN
AMALAN TERBAIK PENGUJIAN PRESTASI
Load Generator Aplikasi Pemantauan Prestasi
+
35
FASA PENGUJIAN
CONTOH KAEDAH PENGUJIAN PRESTASI - JMETER
36
PENGUJIAN
FASA
METODOLOGI PENGUJIAN
• Ujian Yang Dijalankan
• Perubahan Daripada Pelan Pengujian
• Penilaian Penamatan Ujian
• Faktor Yang Menghalang Kemajuan
• Pengukuran Xxxxx Xxxxx
• Xxxxxx
• Xxxxxxx Xxxxx
• Xxxx Ujian Yang Boleh Digunakan Semula
• Lesson Learned
Buku Panduan Kejuruteraan Sistem Aplikasi Sektor Awam (KRISA)
37
FASA PENGUJIAN
CADANGAN PENAMBAHBAIKAN
▪ Menyatakan skop pelaksanaan Pengujian Prestasi di dalam dokumen tender
▪ Menetapkan SLA bagi keperluan prestasi sistem aplikasi dalam dokumen kontrak projek
▪ Mendapatkan khidmat perundingan/nasihat daripada Pasukan MyTCoE bagi pelaksanaan pengujian
38
FASA PENGUJIAN
TERIMA KASIH
All information incorporated within this slide is created for Malaysian Administrative Management and Planning Unit (MAMPU), Prime Minister’s Department, Malaysia.
All information is the property of MAMPU and any unauthorized
reproduction is prohibited
45