---
# System prepended metadata

title: Performance Testing

---

# Performance Testing

## Pengertian *Performance Testing*

*Performance Testing* adalah teknik pengujian non-fungsional yang dilakukan untuk menentukan parameter sistem dalam hal respon dan stabilitas beban aplikasi/*website*. Contohnya, tim *performance testing* memeriksa berapa banyak orang yang bisa melakukan login kedalam sistem secara bersamaan. 
Pengujian yang dilakukan tim *performance testing* adalah mengukur atribut kualitas sistem, seperti kecepatan akses sistem, skalabilitas, stabilitas sistem, dan reabilitas.

## Tujuan *Performance Testing*

Berikut adalah 4 hal tujuan dari dilakukan proses *performance testing*: 

1. ***Speed***
    Digunakan untuk menentukan respon aplikasi yang sedang diuji cepat atau lambat.
    
2. ***Scalability***
    Digunakan untuk menentukan beban pengguna maksimum aplikasi.
    
3. ***Stability***
    Digunakan untuk menentukan apakah aplikasi tersebut stabil dibawah beban yang bervariasi.
    
4. ***Reability***
    Digunakan untuk menentukan cara menangani aplikasi apabila ada beban yang berat.

Tujuan utama dilakukan *performance testing* untuk menghilangkan hambatan-hambatan yang membuat aplikasi tidak dapat diakses/*load* yang terlalu lama sehingga *user* malas mengaksesnya, bukan untuk menemukan *bug*.

## Kualifikasi Environment untuk Performance Test

Tim Pertest akan menanyakan status pengembangan sistem dalam  proses *performance testing*.
Jika sistem belum masuk ke *production*, *requestor* akan melakukan pengetesan di *environment staging*. Sementara itu, jika sudah di *production*, *requestor* akan meminta tim Infra untuk melakukan *clone environment* dengan spesifikasi yang mirip seperti *production* agar tim pertest dapat melakukan tes. 

Catatan: proses pengambilan keputusan testing ini bisa disesuaikan lagi dengan kebutuhan *requestor* saat *meeting follow up request performance testing*.

## Cara Melakukan *Performance Testing*

Untuk langkah - langkah pengerjaan *performance testing* bisa dilihat di SOP *Performance Testing*
[SOP *Performance Testing*]()

## Tim *Performance Testing*

Untuk melakukan *performance testing* dapat menghubungi tim berikut:
1. Mutiara Nugrahani (mutiara@alterra.id)
2. Iim Nur Diansyah (iim@alterra.id)
3. Apulina Priska (apulina@alterra.id)

## Metode Testing dalam *Performance Testing*

1. ***Load Test***
    Digunakan untuk memeriksa kemampuan dari aplikasi dalam melakukan *load* aplikasi/*website*, agar mengatahui beban dari aplikasi/*website* ke database/server sehingga *resource* yang digunakan tidak terlalu berat.

2. ***TPM (Transacsation Per Minute)***
    Digunakan untuk mengetahui jumlah transaksi aplikasi dalam satuan menit.
    Contoh : Dilakukan pengetesan pada sistem A selama satu menit, diketahui bisa menjalankan 30 transaksi.

3. ***Stress Test***
    Digunakan untuk memeriksa kemampuan aplikasi dalam menerima *traffic* dari luar, agar aplikasi/*website* tidak *down* saat banyak *user* yang mengakses.

4. ***FE (Front End) Performance*** 
    Digunakan untuk mengetahui *performance* sebuah aplikasi/*website* dari sisi *frontend*.
    Contoh : Menghitung berapa *load time* halaman, 
    
    Untuk mengetahui *resource* apa yang lambat, dsb.

5. ***RPM (Request Per Minute)***
    Digunakan untuk mengetahui jumlah *request* dala satuan waktu.
    Untuk saat ini, metode RPM digunakan jika *test plan* hanya terdiri dari satu *end point*

## Informasi yang dibutuhkan tim Pertest untuk melakukan *Performance Testing*

1. Informasi tentang aplikasi/*website* yang akan di tes (seperti *environment*, *credentials*, dan lain-lain)
2. *Documents support* (seperti *swagger, github, postman collection,* dll)
3. Kesediaan waktu *requester* untuk di *follow up* terkait *request-*nya



