Aplikasi dikatakan siap untuk dipakai apabila sudah melalui tahap pengujian. Dalam
pengembangan perangkat lunak ada pendekatan untuk melalui tahap pengujian salah satunya
dengan metodologi tradisional yaitu sebuah pengujian yang dilakukan dengan cara mencoba
satu persatu menu aplikasi ketika aplikasi yang dikembangkan sudah jadi. Cara pengujian
tersebut tidak efisien dan tidak efektif apabila pengembang mengerjakan proyek aplikasi dalam
skala besar. Selain itu, cara tersebut juga tidak dapat memvalidasi logika, method dari suatu
class, dan component user interface aplikasi tersebut. Salah satu contoh aplikasi yang
menggunakan metodologi tradisional adalah aplikasi Hanif. Aplikasi Hanif dihadirkan untuk
memudahkan kaum muslimin yang ingin menghadiri majelis ilmu dan belajar Islam di mana
pun berada. Berdasarkan wawancara yang dilakukan oleh penulis kepada pengembang aplikasi
Hanif, fitur kajian Islam yang dibangun menggunakan framework React Native masih
mengutamakan desain bukan implementasi testing sehingga menyebabkan pengembang
melakukan testing secara manual. Penggunaan framework juga ingin dimigrasi menggunakan
framework Flutter karena implementasi testing menggunakan framework Flutter lebih unggul
dibandingkan dengan menggunakan framework React Native, dikarenakan Flutter menawarkan
berbagai pengujian seperti unit test, widget test, dan integration test dengan dokumentasi yang
lengkap. Sedangkan, pengujian untuk React Native harus menggunakan third-party seperti Jest,
Appium, dan Detox. Maka dari itu, Flutter bagus digunakan ketika pengembang menginginkan
kemudahan dalam melakukan pengujian aplikasi. Salah satu pendekatan software development
yang efisien dan efektif dalam hal pengujian, namun tetap mempertahankan fungsionalitasnya
adalah dengan metode Test Driven Development (TDD). Oleh karena itu, dalam penelitian ini,
penulis akan membangun ulang fitur kajian Islam yang ada pada aplikasi Hanif dengan
framework Flutter dengan metode test driven development. Hasil implementasi software
development menggunakan pendekatan test driven development menunjukkan bahwa fungsi
dan fitur dari aplikasi yang dibangun dapat berjalan dan terintegrasi dengan baik antar satu sama
lain. Selain itu, kode yang dihasilkan dari implementasi test driven development tidak
mengandung duplikasi karena adanya proses refactoring.