Performance Testing

 


Performance Test untuk memvalidasi kecepatan (Load), Stabilitas , Scalability , dan resource usage dari aplikasi di berbagai kondisi.

a. Scope :
    1. Performance
    2.  Concurency
    3. Edge Case

b. User behaviour
    1. 0-1 detik : user senang (100% stay)
    2. 1-3 detik : user okay (90% stay)
    3. 3-5 detik : user impatien (70% stay)
    4. 5-10 detik : user frustasi (40% stay)
    5. 10 + detik : User pergi (10% stay, 90% pergi)

c. Mobile user behaviour
    53 % user menyerah jika load > 3 detik

jadi , Standar yang saya pakai adalah 0-3 detik, Tidak boleh lebih dari 3 detik.

 
d. Jenis performance Testing

1. Load Testing
Cek kecepatan load aplikasi di berbagai kondisi

hal yang di lakukan : 
Cek response time yang di hasilkan ketika menguji aplikasi yang bisa diakses oleh berapa user dalam waktu tertentu.

2. Stress Testing
Ngepush aplikasi sampai down

Hal yang dilakukan :
Menambahkan user secara perlahan dalam waktu tertentu.

3. Spike Testing
Tes aplikasi dengan trafic yang naik mendadak & recovery nya

Hal yang dilakukan:
Menambahkan user yang banyak  secara tiba-tiba lalu menormalkan usernya kembali dalam  waktu tertentu.

4. Soak Testing
Tes ketahanan aplikasi dalam mengerjakan tugas untuk waktu yang lama

Hal yang dilakukan :
    a. Cek Memori yang digunakan
    b. Cek Response Time
    c. Cek Koneksi Database
    d. Cek Kapasitas sisa hardisk

5. Scalability Testing
Tes kemampuan aplikasi dengan cara menambahkan / menurunkan (Menyesuaikan) sumber daya sehingga mendapatkan arsitektur yang optimal dan menguntungkan.


e. Performance Metric
    1. Response time 
Response Time = SUM (jumlah request * jumlah waktu) / total request

    2. Throughput : jumlah request per detik

    3. Error Rate

Error Rate : Failed request / total request * 100% 

          Error Rate harus < 0.1 %, lebih dari itu gagal.

    4. Resource Utilization

        a. CPU Usage

        b. Memori RAM

        c. Disk I/O

        d. Network Bandwidth

        e. Database 


f. Performance Testing Workflow

    1. Requirement gathering

        a. Berapa kapasitas user?

        b. Berapa event yang ada?

        c. Apa saja Acceptance Performance metricnya?

        d. Apa SLA target


    2. Environment Setup

    3. Test Script Development

    4. Baseline test ( batas test max/min)

    5. Execution test

    6. Analysis & Reporting

    7. Optimization & Retest

No comments:

Post a Comment

Pages