Agility and Testing

Gilang Gumilar
Scrum.ai
Published in
2 min readApr 19, 2018

--

Kali ini saya akan membahas mengenai agile software development dan pentingnya testing dalam pengembangan perangkat lunak. Kedua hal tersebut dapat berkaitan dalam proses pengembangan perangkat lunak. Pada tulisan ini saya akan mencoba menjelaskan keduanya.

Agile Software Development

Agile itu sendiri bermakna dapat berubah dan beradaptasi terhadap perubahan lingkungan dengan cepat. Pada proses pengembangan perangkat lunak, agile merupakan istilah yang digunakan untuk metode proses pengembangan yang berdasarkan nilai dan prinsip yang terdapat dalam Agile Manifesto. Agile Manifesto merupakan dokumen yang terbentuk dari banyak metode dan prinsip para praktisi pengembangan perangkat lunak.

Terdapat beberapa metodologi pengembangan perangkat lunak yang bersifat agile. Kelompok kami menggunakan metodologi scrum untuk proses pengembangan perangkat lunaknya. Scrum sendiri adalah metodologi yang cukup populer untuk perusahaan yang baru berkembang (startup) agar dapat beradaptasi dengan perubahan pasar.

Scrum Board of Scrum.ai

Test-Driven Development

Dalam sebuah proses pengembangan perangkat lunak diperlukan suatu metode untuk memeriksa apakah produk yang dibuat sesuai dengan spesifikasi atau tidak. Salah satu metode yang digunakan kelompok kami adalah TDD. TDD sendiri metodologi testing yang cukup populer.

TDD circle of life (http://www.agilenutshell.com/assets/test-driven-development/tdd-circle-of-life.png)

Test-Driven Development merupakan proses pengintegrasian testing sebelum proses implementasi. Pada TDD, developer diwajibkan membuat test (red) yang memuat spesifikasi fungsionalitas yang aka diimplementasikan terlebih dahulu. Kemudian developer mengimplementasikan (green) fungsionalitas yang sesuai dengan spesifikasi. Setelah itu baru developer dapat memperbaiki (refactor) implementasi.

Pipeline Status and Code Coverage (100%) (https://gitlab.com/PPL2018csui/Kelas-C/PPL2018-C1/merge_requests/19)
Agile Software Development Life Cycle (https://www.onlinebooksreview.com/uploads/blog_images/2018/03/21_agile.png)

Pada siklus hidup agile sendiri, terdapat fase test. Tahap ini memastikan agar produk yang dihasilkan harus sesuai dengan desain (spesifikasi) yang telah dibuat pada tahap design. Dengan adanya tahap ini, produk yang dihasilkan akan lebih terjaga kualitasnya.

Referensi:
https://www.agilealliance.org/agile101/
https://en.wikipedia.org/wiki/Test-driven_development

--

--