TipTech #3: Miliki Sistem Berisiko Tinggi, Begini Cara Tim Pengembang Kredivo Melakukan Pengujian Aplikasi
Berdiskusi dengan Co-Founder & CTO Kredivo Alie Tan
TipTech adalah rubrik baru DailySocial yang membahas berbagai kiat dalam pengembangan produk atau aplikasi startup. Setelah sebelumnya membahas tentang arsitektur aplikasi yang scalable, kali ini kami berkesempatan untuk berbincang dengan Co-Founder & CTO Kredivo Alie Tan mengupas mengenai pengujian produk aplikasi secara terukur.
Seperti diketahui, Kredivo adalah perusahaan teknologi yang memberikan kemudahan masyarakat untuk melakukan kredit dalam pembelian barang di e-commerce. Sebagai platform finansial yang tergolong dalam sistem berisiko tinggi, tim pengembang harus memperhatikan banyak aspek, termasuk terpenting mengenai standar keamanan dan kepatuhan. Maka di setiap fitur atau layanan yang digulirkan harus melalui tahapan pengujian yang ketat.
Tan bercerita, untuk melakukan pengujian perangkat lunak (software testing) ada 8 langkah yang harus dilakukan:
- Test Planning; mengidentifikasi kegiatan pengujian dan sumber daya yang dibutuhkan, termasuk menemukan metode serta metrik pengukuran yang tepat.
- Test Design and Specification; pembuatan dokumen yang berisi informasi dan parameter yang diperlukan sebagai panduan prosedur pengujian perangkat lunak agar lebih efektif.
- Test Setup; sebuah metode untuk membuat data pengujian secara terstruktur. Penerapannya di tingkat pemrograman, dengan menambahkan kelas-kelas tertentu untuk dimanfaatkan ke dalam proses pengujian.
- Test Operation and Execution; pengujian untuk memastikan kepatuhan sistem dan penggunaan komponen yang sesuai dengan standar.
- Test Result Analysis and Bug Reporting; menganalisis temuan-temuan yang didapat pada proses pengujian dan membuat pelaporan hasil celah yang terdeteksi.
- Test Management and Measurement; penggunaan perangkat lunak baik otomatis maupun manual untuk mengelola proses pengujian. Tujuan lainnya agar prosesnya dapat terukur dengan jelas, baik dari indikasi kuantitatif, kapasitas, dimensi, jumlah dan sebagainya.
- Test Automation; penggunaan perangkat lunak terpisah untuk mengontrol pelaksanaan pengujian dan membandingkan hasilnya secara aktual. Perangkat pengujian tersebut dapat mengautomasi beberapa tugas berulang dan melakukan pengujian tambahan yang sulit dilakukan secara manual.
- Test Configuration Management; proses menentukan dengan jelas item yang membentuk perangkat lunak atau sistem, termasuk kode, skrip pengujian, perangkat lunak pihak ketiga, perangkat keras, data dan dokumentasi pengembangan dan pengujian. Juga tentang memastikan bahwa item tersebut dikelola dengan hati-hati, teliti, dan penuh perhatian selama seluruh proyek dan siklus hidup produk.
Project Manager, Developer, dan Tester idealnya terlibat dalam prosesnya. Project Manager terlibat untuk memahami tujuan utama dari sebuah fitur, juga memastikan setiap pihak yang terlibat dapat saling berkolaborasi untuk mencapai hasil yang diharapkan.
Kredivo adopsi pendekatan agile
Dengan kondisi yang ada, Tan mengatakan bahwa timnya saat ini mengadopsi agile testing. Metodologi itu menurutnya memungkinkan terjadinya sirkulasi yang lebih cepat -- dalam artian workflow dalam pengembangan. Sehingga proses pengujian tidak harus menunggu semua fitur rampung dikerjakan oleh developer. Yang tak kalah penting, pendekatan ini memungkinkan timnya untuk mengidentifikasi bug secara lebih cepat.
Guna mendukung kegiatan pengujian, Kredivo menggunakan berbagai macam alat. Tan menyebutkan, "Tools yang sering digunakan untuk membantu kegiatan pengujian produk digital yaitu Appium, Selenium, Postman, Testng, Jmeter, Gradle, Cucumber, Restassured, Burp suite, Zap proxy, dan ChromeDev tools."
Tim Kredivo juga miliki standardisasi yang ketat untuk seorang software tester atau quality assurance engineer. Beberapa karakteristik yang diperhatikan adalah selalu memperhatikan hal detail; berorientasi pada klien, bisnis, dan kualitas; memiliki pengalaman produk yang kuat; mampu bekerja secara paralel (multitasiking); memiliki kemampuan identifikasi dan observasi yang baik; hingga kualitas komunikasi yang mumpuni.
Yang sering luput saat pengujian produk
Dengan pengalamannya lebih dari 4 tahun menjadi CTO, Tan mencatat ada beberapa hal yang sering luput saat proses pengujian produk teknologi. Poin pertama non-functional case, yakni terkait kinerja dan keamanan sistem. Kedua terkait negative test, yang berdampak pada buruknya pengalaman pengguna aplikasi.
Namun Tan turut menjelaskan, bahwa hal tersebut dapat diantisipasi. Pasalnya celah keamanan seperti non-functional dalam diprediksi dan ditemukan dengan pengujian berulang. Kemudian terkait negative test, penguji dapat menulis dan menguji semua fungsional, lalu membuat laporan untuk perbaikan pengalaman pengguna.
Rekomendasi bacaan
Terkait proses pengujian, Tan punya beberapa rekomendasi bacaan, sebagai berikut:
Buku:
- “The Art of Software Testing”, oleh Glenford Myers
- “Agile Testing : A Practical Guide for Testers and Agile Teams”, oleh Lisa Crispin dan Janet Gregory
Blog:
Kursus Online :
Sign up for our
newsletter