Kesiapan aplikasi atau website menjadi tanggung jawab seorang developer untuk memastikannya. Sehingga muncul istilah Test Driven Development (TDD) yang berguna untuk memastikan bahwa aplikasi/website kamu bebas dari yang namanya error atau Bug Free. Test Driven Development (TDD) adalah pengembangan yang mengacu pada testing sebelum melakukan proses coding.
TDD menggabungkan keutamaan coding dan testing dalam implementasinya, proses ini juga dilakukan untuk memastikan aplikasi kita sudah berjalan sesuai dengan requirement dan mampu menangani berbagai kasus atau situasi.
Kategori Pengujian dan Jenis Testing
Ketika kamu selesai mengerjakan suatu fitur, pertanyaan yang sering muncul adalah “apa tolak ukurnya fitur ini udah selesai atau belum?” jawabannya jika lolos testing dari dua kategori pengujian ini:
- Apakah software memenuhi requirement yang ditentukan?
- Apakah software tetap berjalan dalam berbagai kasus yang di luar dugaan?
Kedua kategori pengujian tadi hanya melibatkan seluruh komponen aja, masih ada jenis testing yang lebih diperuntukan menguji komponen code dalam berbagai ruang lingkup. Secara umum jenis testing berdasarkan ruang lingkupnya terbagi menjadi tiga yaitu:
- Unit testing: menguji apakah fungsi atau class dalam code berjalan dengan baik
- Integration testing: menguji suatu fitur apakah berjalan dengan baik jika digabungkan dengan bagian lain dari aplikasi / website
- Acceptance testing: menguji apakah aplikasi / website dapat dipakai user tanpa mengalami bug atau error
Idealnya suatu aplikasi / website perlu diuji berdasarkan tiga ruang lingkup di atas, setiap lingkupnya juga terdapat uji fungsional dan non-fungsional.
Perbedaan Test-Driven Development (TDD) dengan Development Biasa
Pada umumnya testing dilakukan setelah fitur selesai dibuat, proses ini terjadi pada development biasa. Sedangkan pada proses TDD, testing dilakukan lebih dulu sebelum membuat fitur. Perhatikan gambar di bawah ini
Perbedaan kedua proses ini akan terlihat pada dampak yang dihasilkan, yakni pada flow dalam pembuatan software.
Kelebihan Test-driven Development
Tentunya TDD punya kelebihan dibanding proses development biasa, diantaranya:
- Target output lebih objektif
- Membuat kerja developer lebih efektif karena target developer hanya menulis code yang lolos tes, daripada menulis code yang memenuhi fitur A, B, C, dan seterusnya
- Kinerja developer lebih terpantau dan baik untuk mengukur kinerja tim
- Ruang untuk pengembangan atau refactor code lebih terlihat
Tetapi perlu diingat TDD tidak menjanjikan aplikasi / website dapat lebih cepat terselesaikan yaa, karena TDD hanya menjanjikan proses development lebih objektif dan transparan.
Ingin tahu lebih lanjut tentang implementasi dan bagaimana langkah-langkah praktis unit testing dan integration testing? Yuk pelajari selengkapnya di bootcamp full stack web development!
Kesiapan aplikasi atau website menjadi tanggung jawab seorang developer untuk memastikannya. Sehingga muncul istilah Test Driven Development (TDD) yang berguna untuk memastikan bahwa aplikasi/website kamu bebas dari yang namanya error atau Bug Free. Test Driven Development (TDD) adalah pengembangan yang mengacu pada testing sebelum melakukan proses coding.
TDD menggabungkan keutamaan coding dan testing dalam implementasinya, proses ini juga dilakukan untuk memastikan aplikasi kita sudah berjalan sesuai dengan requirement dan mampu menangani berbagai kasus atau situasi.
Kategori Pengujian dan Jenis Testing
Ketika kamu selesai mengerjakan suatu fitur, pertanyaan yang sering muncul adalah “apa tolak ukurnya fitur ini udah selesai atau belum?” jawabannya jika lolos testing dari dua kategori pengujian ini:
- Apakah software memenuhi requirement yang ditentukan?
- Apakah software tetap berjalan dalam berbagai kasus yang di luar dugaan?
Kedua kategori pengujian tadi hanya melibatkan seluruh komponen aja, masih ada jenis testing yang lebih diperuntukan menguji komponen code dalam berbagai ruang lingkup. Secara umum jenis testing berdasarkan ruang lingkupnya terbagi menjadi tiga yaitu:
- Unit testing: menguji apakah fungsi atau class dalam code berjalan dengan baik
- Integration testing: menguji suatu fitur apakah berjalan dengan baik jika digabungkan dengan bagian lain dari aplikasi / website
- Acceptance testing: menguji apakah aplikasi / website dapat dipakai user tanpa mengalami bug atau error
Idealnya suatu aplikasi / website perlu diuji berdasarkan tiga ruang lingkup di atas, setiap lingkupnya juga terdapat uji fungsional dan non-fungsional.
Perbedaan Test-Driven Development (TDD) dengan Development Biasa
Pada umumnya testing dilakukan setelah fitur selesai dibuat, proses ini terjadi pada development biasa. Sedangkan pada proses TDD, testing dilakukan lebih dulu sebelum membuat fitur. Perhatikan gambar di bawah ini
Perbedaan kedua proses ini akan terlihat pada dampak yang dihasilkan, yakni pada flow dalam pembuatan software.
Kelebihan Test-driven Development
Tentunya TDD punya kelebihan dibanding proses development biasa, diantaranya:
- Target output lebih objektif
- Membuat kerja developer lebih efektif karena target developer hanya menulis code yang lolos tes, daripada menulis code yang memenuhi fitur A, B, C, dan seterusnya
- Kinerja developer lebih terpantau dan baik untuk mengukur kinerja tim
- Ruang untuk pengembangan atau refactor code lebih terlihat
Tetapi perlu diingat TDD tidak menjanjikan aplikasi / website dapat lebih cepat terselesaikan yaa, karena TDD hanya menjanjikan proses development lebih objektif dan transparan.
Ingin tahu lebih lanjut tentang implementasi dan bagaimana langkah-langkah praktis unit testing dan integration testing? Yuk pelajari selengkapnya di bootcamp full stack web development!