Subtopik  1.1.3 Studi Kasus Peran QA dalam Aplikasi: Validasi proses checkout e-commerce dan transaksi digital di fintech  

Dalam pengembangan aplikasi digital modern seperti e-commerce dan fintech, fitur checkout dan transaksi digital merupakan proses inti yang sangat krusial. Kegagalan pada fitur ini dapat berdampak langsung terhadap pendapatan, kepercayaan pengguna, bahkan aspek kepatuhan hukum.

Di sinilah peran QA sangat dibutuhkan karena alasan berikut:

      Berdampak langsung pada uang dan reputasi
Bug pada fitur transaksi dapat menyebabkan kerugian dana, pesanan yang hilang, atau duplikasi pembayaran.

      Melibatkan banyak sistem
Proses checkout dan transaksi berhubungan dengan berbagai integrasi, seperti payment gateway, sistem pengiriman, inventaris, hingga sistem perbankan.

      Proses kompleks dan beragam
Banyak skenario yang perlu diuji, mulai dari diskon, cashback, pengiriman instan, hingga beragam metode pembayaran seperti e-wallet, virtual account, kartu kredit, dan lain-lain.

      Terkait regulasi dan keamanan data
Terutama dalam aplikasi fintech, QA perlu memastikan perlindungan terhadap data sensitif (seperti OTP, PIN, dan saldo), serta memastikan sistem mengikuti standar keamanan yang berlaku.

Peran QA dalam Proses Checkout dan Transaksi

1. Memastikan Alur Fungsional Bekerja Sesuai Harapan
   
QA bertanggung jawab untuk memverifikasi bahwa seluruh tahapan dalam proses checkout atau transaksi dapat dijalankan oleh pengguna tanpa terjadi kesalahan. Beberapa hal yang perlu dipastikan antara lain:

      Pengguna dapat memilih produk atau layanan

      Harga dan biaya tambahan dihitung dengan akurat

      Metode pembayaran muncul sesuai dengan ketentuan

      Sistem memberikan konfirmasi yang jelas, baik berhasil maupun gagal

      Bukti transaksi tersedia, seperti invoice, receipt, atau notifikasi

2. Mengembangkan Test Case Berdasarkan Alur Bisnis
   
QA tidak hanya menguji apakah sebuah tombol dapat diklik, tetapi juga menyusun test case yang mencerminkan alur bisnis secara realistis, dengan mempertimbangkan:

      Berbagai variasi dan kondisi khusus (edge case)

      Uji batas (boundary testing)

      Validasi terhadap input yang dimasukkan pengguna

3. Mengelola Integrasi API dan Validasi Respons
   
Fitur checkout dan transaksi digital hampir selalu melibatkan integrasi API, seperti:

      API untuk sistem pembayaran

      API untuk inventaris (untuk memeriksa ketersediaan stok)

      API untuk kurir (untuk mengecek estimasi dan biaya pengiriman)

      API untuk verifikasi OTP atau two-factor authentication (2FA)

    QA harus memahami cara kerja API tersebut serta mengetahui bagaimana sistem bereaksi saat API berjalan lambat, gagal, atau mengembalikan respons kesalahan.

4. Regression Testing dan Negative Testing
   
Setiap perubahan kecil pada fitur pembayaran bisa membawa dampak besar. Oleh karena itu, QA perlu:

      Melakukan regression testing secara berkala untuk memastikan fitur lama tetap berjalan dengan baik

      Menyiapkan negative test case, misalnya:

      Apa yang terjadi jika saldo pengguna tidak mencukupi?

      Bagaimana jika koneksi terputus saat proses pembayaran sedang berlangsung?

Validasi dalam Proses Checkout dan Transaksi Fintech

Dalam pengujian sistem checkout dan transaksi digital, QA tidak hanya memastikan alur berjalan mulus, tetapi juga memverifikasi berbagai komponen penting yang rentan terhadap kesalahan. Validasi dilakukan secara menyeluruh pada berbagai lapisan aplikasi untuk menjamin keandalan sistem.

1. Validasi Checkout
    
Proses checkout dalam aplikasi e-commerce mencakup sejumlah perhitungan dan logika yang harus diuji secara teliti. QA perlu memastikan bahwa:

      Harga produk dihitung dengan benar, termasuk total keseluruhan setelah dikurangi atau ditambah biaya lain

      Diskon atau voucher diterapkan sesuai ketentuan yang berlaku

      Biaya pengiriman (ongkir) muncul sesuai lokasi dan metode kirim yang dipilih

      Ketersediaan stok produk diperiksa secara real-time

      Metode pembayaran ditampilkan sesuai preferensi dan kondisi pengguna

2. Validasi Transaksi pada Aplikasi Fintech
    
Transaksi digital dalam aplikasi fintech menuntut validasi yang lebih ketat dan berlapis. QA perlu menguji hal-hal berikut:

      Proses autentikasi berjalan aman dan sesuai standar (OTP, PIN, two-factor authentication)

      Saldo pengguna diperiksa secara akurat sebelum transaksi diproses

      Riwayat transaksi tercatat dan ditampilkan dengan benar di antarmuka pengguna

      Sistem backend menjalankan proses rekonsiliasi, yaitu pencocokan data antara transaksi aktual dan catatan sistem untuk menghindari inkonsistensi

3. Pengujian Skenario Kegagalan (Negative Scenario)
    
QA juga perlu menyusun dan menjalankan skenario kegagalan yang mungkin terjadi dalam kondisi nyata, seperti:

      Pembayaran gagal akibat saldo tidak mencukupi

      Permintaan OTP yang terlambat atau tidak diterima (timeout)

      Gangguan jaringan saat proses pembayaran berlangsung

      Respons lambat atau kesalahan dari sistem pihak ketiga seperti payment gateway

Dengan menguji berbagai kemungkinan ini, QA dapat memastikan sistem tetap tangguh dan memberikan umpan balik yang jelas kepada pengguna ketika terjadi masalah.

Studi Kasus 1  Gagal Validasi Checkout Mengakibatkan Kerugian Finansial

Pada awal tahun 2023, terjadi insiden pada sebuah platform e-commerce di mana dua kode voucher diskon bernilai besar secara tidak sengaja tersebar ke publik. Padahal, voucher tersebut semestinya bersifat eksklusif hanya untuk segmen pengguna tertentu, seperti pemilik kartu kredit dari mitra bank tertentu.

Karena tidak ada pembatasan yang efektif di sistem checkout, kode tersebut digunakan secara luas oleh pengguna umum yang sebenarnya tidak memenuhi syarat program. Selama beberapa jam, ribuan transaksi dilakukan menggunakan kode tersebut dan tetap dianggap valid oleh sistem. Pesanan diproses dan beberapa bahkan sudah dalam tahap pengemasan sebelum akhirnya dilakukan pembatalan massal oleh sistem. Kerugian yang ditimbulkan mencapai miliaran rupiah.

Analisis QA

Masalah utama terletak pada lemahnya validasi di proses checkout, khususnya dalam memverifikasi kelayakan pengguna terhadap syarat voucher. Dalam sistem promosi yang kompleks, seharusnya:

      Sistem memverifikasi jenis pengguna berdasarkan segmentasi yang telah ditentukan

      Sistem menolak transaksi jika voucher tidak sesuai dengan ketentuan

      Terdapat mekanisme penolakan otomatis jika voucher sudah kadaluarsa atau tersebar di luar jalur distribusi resmi

Namun dalam kasus ini, kegagalan terjadi karena:

      Tidak ada validasi segmentasi pengguna di sisi server

      Sistem checkout tidak melakukan pengecekan syarat secara menyeluruh

      Baik sisi front-end maupun back-end menerima voucher sebagai valid tanpa pengecekan tambahan

Rekomendasi QA dan Solusi Sistem

      Validasi bisnis harus dilakukan secara ketat di sisi back-end, bukan hanya di user interface atau pengaturan kampanye

      QA perlu menyusun skenario pengujian untuk kasus kegagalan (failure scenario) pada voucher promosi, termasuk pengujian akses oleh pengguna yang tidak berhak

      Tambahkan pengujian segmentasi pengguna, termasuk simulasi penyalahgunaan kode promosi

      Sistem harus memiliki fallback mechanism yang secara otomatis menolak atau memberi peringatan saat terjadi anomali penggunaan promo

Studi Kasus 2 Transaksi Dinyatakan Berhasil, Namun Dana Tidak Diterima oleh Penerima

Seorang pengguna melakukan transfer dana antar bank melalui aplikasi keuangan digital. Setelah menyelesaikan proses autentikasi dan OTP, sistem menampilkan status "Transfer Berhasil", lengkap dengan bukti transaksi. Namun, penerima menyatakan tidak menerima dana tersebut, meskipun saldo pengirim telah berkurang.

Kasus ini menjadi perbincangan karena menimbulkan kebingungan dan ketidakpercayaan terhadap sistem. Setelah ditelusuri, diketahui bahwa sistem menampilkan status sukses berdasarkan notifikasi awal dari mitra penyedia layanan pembayaran. Notifikasi tersebut hanya menunjukkan bahwa permintaan transfer telah dikirim ke sistem switching, tetapi tidak menjamin dana telah masuk ke rekening tujuan.

Di sisi lain, ternyata terjadi gangguan pada sistem bank penerima, dan karena tidak ada callback atau reconfirmation yang ditunggu dari sisi penerima, sistem tetap menganggap transaksi berhasil.

Analisis QA

Kelemahan sistem terjadi karena:

      Status "berhasil" hanya berdasarkan permintaan awal, tanpa konfirmasi akhir dari bank penerima

      Tidak ada mekanisme pengecekan ulang atau retry jika respons dari sistem bank bersifat ambigu

      Pengujian QA tidak mencakup kemungkinan false positive, yaitu transaksi yang tampak sukses tetapi belum selesai di sisi penerima

Pengujian hanya mencakup:

      Respons sukses dari permintaan transfer

      Pemotongan saldo dari akun pengirim

      Penampilan notifikasi dan bukti transfer

Namun belum mencakup:

      Validasi bahwa dana benar-benar diterima

      Penanganan timeout atau keterlambatan respons

      Simulasi kegagalan jaringan antar bank

Rekomendasi QA dan Solusi Sistem

      QA perlu menambahkan skenario uji false positive, yaitu kondisi ketika transaksi dinyatakan sukses meskipun belum selesai

      Sistem harus menunggu konfirmasi akhir dari sistem bank penerima sebelum menampilkan status final kepada pengguna

      Saldo pengguna sebaiknya hanya dipotong setelah sistem menerima konfirmasi bahwa dana telah diterima

      Tim pengembang menerapkan sistem rekonsiliasi tambahan dan penggunaan webhook sebagai notifikasi balik dari sistem switching

      QA juga menambahkan:

      Uji negative case untuk simulasi keterlambatan atau kegagalan respons

      Validasi terhadap status settlement, bukan hanya pengiriman permintaan awal

      Notifikasi "pending" bagi pengguna jika status transaksi belum dapat dipastikan dalam waktu tertentu

Refleksi

Bayangkan Digiers adalah seorang QA dalam sebuah aplikasi fintech. Suatu hari, muncul laporan dari pengguna bahwa proses top up melalui transfer bank gagal, padahal saldo mereka sudah terpotong dari rekening.

Pertanyaan refleksi:

      Bagaimana Digiers akan menyusun skenario pengujian untuk mencoba mereproduksi masalah tersebut?

      Komponen sistem apa saja yang perlu diperiksa terlebih dahulu? Apakah tampilan antarmuka (frontend), jalur komunikasi data seperti API, atau justru sistem inti di sisi server (backend)?

Dengan pertanyaan ini, Digiers diajak untuk menghubungkan pengetahuan teknis tentang alur data dan arsitektur sistem web ke dalam praktik pengujian yang sistematis dan kontekstual.

Last modified: Wednesday, 20 August 2025, 10:56 AM