Tag Archives: Software testing

Tips Pengujian Produk Startup

TipTech #3: Miliki Sistem Berisiko Tinggi, Begini Cara Tim Pengembang Kredivo Melakukan Pengujian Aplikasi

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.

Co-Founder & CTO Kredivo Alie Tan
Co-Founder & CTO Kredivo Alie Tan / Kredivo

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 :

Antara Scrum, Kanban, dan Pendekatan Terbaik dalam Pengembangan Produk Teknologi

Agile Indonesia Conference 2017 akan segera dilaksanakan, menghadirkan banyak ahli perencanaan pengembangan perangkat lunak “Agile” baik dari Indonesia ataupun luar negeri. Salah satu pemateri yang akan hadir adalah Renee Troughton, Founder Unbound DNA dan Enterprise Agile Coach.

Dalam sebuah kesempatan, Renee memberikan pandangannya tentang ragam metodologi dan pendekatan yang ia sering ajarkan dalam pengembangan produk perangkat lunak.

“Saya adalah seorang polymath yang penuh gairah. Saya ingin membuat dunia lebih baik melalui menemukan cara kerja baru dan membagikannya kepada orang lain. Saya tidak akan mengatakan bahwa saya hanya seorang pelatih Agile, saya menggunakan banyak metodologi dan pendekatan yang berbeda, mencoba untuk fokus pada sains dan apa yang terbukti bekerja dalam kenyataan,” ujar Renee memperkenalkan dirinya.

Dalam konferensi mendatang, scaling adalah salah satu tema pembahasan yang akan dibawakan Renee. Akan cukup menantang, pasalnya dalam konsep pengembangan masalah skalabilitas belum populer di Indonesia. Dalam blog tentang Agile yang sering ditulis, Renee membahas secara mendetail “Scaling Agile Tricks”.

Dari tulisan tersebut disimpulkan empat prinsip utama dalam scaling, yaitu: (1) mengurangi handoff dan dependensi, (2) memperbaiki arus proses, (3) memvalidasi dan memperbaiki hingga menjadi sesuatu yang benar, dan (4) terakhir mengintegrasikan Agile, Lean dan Desain Thinking. Namun demikian, Renee menggarisbawahi, empat prinsip dasar tersebut harus mampu berjalan beriringan untuk terciptanya sebuah hasil proses yang utuh.

Antara Scrum dan Kanban

Di Indonesia, khususnya di kalangan korporasi, Scrum menjadi pendekatan primadona. Di sisi lain, Kanban adalah salah satu pendekatan yang didalami oleh Renee. Ia menjelaskan karakteristik dan perbedaan di antara keduanya.

“Mungkin perbedaan utama antara Scrum dan Kanban akan berada pada pendekatan dasarnya. Di Scrum, tim merasa bahwa proses tersebut menggantikan proses pengembangan yang ada. Di Kanban, adopsi dimulai dengan apa yang dilakukan sekarang dan menambahkan beberapa praktik dan prinsip ekstra,” jelas Renee.

Ia juga menambahkan, selain dari sudut pandang adopsi dalam memulai, perbedaan inti kedua adalah dalam timeboxing. Scrum memiliki timeline yang jelas dan teratur, sedangkan Kanban lebih berfokus pada arus yang terus menerus dan terkelola. Scrum cenderung memiliki manajemen visual yang sangat sederhana dengan pekerjaan dipecah menjadi “To Do”, “Doing”, dan “Done”. Di Kanban, pekerjaan tidak dipecah menjadi beberapa tugas, namun  sebaliknya, pengelolaan visual merupakan representasi arus kerja menurut kelas pelayanan.

Lalu lebih baik yang mana untuk diterapkan di korporasi? Selengkapnya akan dibahas dan didemokan oleh Renee Troughton pada sesi Agile Indonesia Conference 2017. Selain membahas tentang Scrum dan Kanban, konsep Holacracy dari Brian Robertson turut akan disampaikan Renee.

Para profesional IT, manajer proyek perangkat lunak, manajer produk, programmer, tester dan komponen lainnya yang tertarik untuk mengikuti konferensi ini dapat segera mendaftarkan diri melalui laman resmi Konferensi Agile Indonesia http://2017.agileindonesia.org.


Disclosure: DailySocial merupakan media partner Konferensi Agile Indonesia.

OLX Luncurkan Platform Automation Testing Athena

Sama seperti produk lainnya, perangkat lunak juga membutuhkan pengujian untuk tetap menjaga kualitas sistem. Terlebih yang dikembangkan sebuah fitur, jika terdapat kegagalan kemungkinan besar akan berpengaruh pada sistem secara keseluruhan, untuk itu penting diadakannya pengujian. Baru-baru ini OLX meluncurkan sebuah platform untuk memudahkan pengujian, tepatnya platform untuk pengujian otomatis. Platform ini diberi nama Athena.

Athena diklaim menjadi platform automation testing pertama di Indonesia. Athena diperkenalkan ke publik melalui sebuah acara yang juga dihadiri oleh Indonesian Software Quality Assurance (ISQA), para pengembang web dan dibuka oleh Software Engineering Evangelist Nasper Limited (perusahaan yang membawahi OLX) Rafael Pinto melalui video call.

Dijelaskan Pinto, automation testing merupakan teknik pengujian sebuah produk. Sama halnya dengan produk lain seperti elektronik, produk perangkat lunak juga membutuhkan proses pengujian agar kualitasnya sesuai dengan standar yang ditentukan. Sayangnya melakukan pengujian bukan hal yang mudah, selain prosesnya yang cukup rumit, automation testing juga memakan waktu yang lama.

Para pembicara (Rendra - Ferga - Suci - Tegar - Buddy)
Para pembicara (Rendra – Ferga – Suci – Tegar – Buddy)

OLX melihat kebutuhan automation testing ini begitu tinggi namun ketersediaan software engineer belum mencukupi, khususnya di Indonesia. Untuk itu dengan peluncuran Athena ini OLX berharap dapat melakukan proses pengujian dengan lebih mudah dan cepat.

Chief Technology Officer OLX Indonesia Ben Hoskins mengatakan:

 “Dengan menggunakan Athena, proses automation testing dapat dilakukan dengan lebih mudah dan cepat. Semua proses automation testing yang awalnya memakan waktu dua hingga tiga bulan, kini dapat dilakukan dalam satu atau dua minggu menggunakan Athena.”

Athena sendiri berawal dari riset tentang automation di Jerman, kemudian dikembangkan dengan melibatkan para software engineer OLX secara global, termasuk Indonesia. Seiring berkembangnya Athena, OLX akhirnya memutuskan untuk menjadikan platform ini sebagai platform open source untuk bisa dimanfaatkan para software engineer dan developer di luar OLX.

“Jika Anda senang menghabiskan waktu untuk menyelesaikan masalah selama berjam-jam, mungkin Athena bukan untuk Anda. Namun, jika Anda ingin hasil kerja yang elegan dengan proses yang lebih cepat, Anda pasti akan menyukai Athena,” tutup Ben.