Flaky test adalah analisis pada kode aplikasi web yang gagal memberikan hasil yang sama setiap kali pengujian dilakukan. Setiap kali kode baru ditulis untuk mengembangkan atau memperbarui perangkat lunak, halaman web, atau aplikasi, kode tersebut harus diuji selama proses pengembangan untuk memastikan aplikasi berfungsi sebagaimana mestinya saat dirilis untuk pengguna. Secara logis, jika diuji dengan cara yang sama berulang kali, kode tersebut seharusnya menghasilkan hasil yang sama—baik selalu lulus uji jika berjalan dengan baik atau selalu gagal jika ada kesalahan.

Namun, terkadang, secara acak, pengujian yang sama pada kode yang sama menghasilkan hasil yang berbeda. Kadang-kadang kode akan lulus pengujian dan aplikasi berfungsi seperti yang diharapkan, tetapi di lain waktu, kode gagal dalam pengujian dan aplikasi tidak berjalan dengan semestinya. Jika hasil pengujian tidak konsisten, maka pengujian tersebut dianggap flaky.

Flaky test dapat disebabkan oleh berbagai faktor:

  • Masalah pada kode yang baru ditulis
  • Masalah pada pengujian itu sendiri
  • Faktor eksternal yang memengaruhi hasil pengujian

Ketika sebuah pengujian dianggap flaky, ada beberapa cara untuk menghadapinya. Beberapa developer memilih mengabaikannya dengan asumsi bahwa masalah terletak pada pengujian dan bukan pada kode yang baru dibuat. Yang lain akan menjalankan ulang pengujian berkali-kali dan hanya menyelidikinya lebih lanjut jika pengujian gagal beberapa kali berturut-turut, yang menunjukkan adanya kegagalan nyata.

Namun, pendekatan yang paling aman—dan satu-satunya cara untuk memastikan apakah ada bug dalam kode—adalah menghentikan pengembangan aplikasi sementara, menyelidiki penyebab flaky test secara menyeluruh, dan memperbaikinya. Jika dibiarkan dan ternyata memang ada masalah dalam kode, satu kesalahan kecil dapat berkembang menjadi masalah yang lebih besar seiring bertambahnya fitur yang dibangun di atas kode yang bermasalah.

Dalam menyelidiki penyebab flaky test, developer perlu mengumpulkan data untuk menemukan pola dalam hasil yang tampaknya acak dan mengisolasi penyebab kegagalan. Kode harus diperiksa ulang, begitu juga dengan pengujiannya. Jika tidak ditemukan masalah, maka faktor eksternal harus diperiksa, misalnya apakah pengujian yang berhasil dijalankan pada waktu tertentu, sementara pengujian yang gagal dilakukan pada waktu lain, atau apakah ada program lain yang berjalan di komputer saat pengujian gagal tetapi tidak berjalan saat pengujian berhasil.

Terkadang, penyebab flaky test mudah didiagnosis dan dapat segera diperbaiki—ini adalah skenario terbaik. Namun, ada kalanya tidak ada solusi cepat, dan dalam kasus seperti itu, meskipun memakan waktu dan biaya, developer mungkin harus menghapus pengujian tersebut dan menulis ulang dari nol untuk memastikan keakuratan hasilnya.

Sayangnya, flaky test bukanlah hal yang langka—Google, misalnya, melaporkan bahwa 16% dari pengujian mereka menunjukkan tingkat flakiness tertentu. Meskipun bisa menghambat proses pengembangan sementara, flaky test dapat ditangani dan diselesaikan dengan pendekatan yang tepat.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *