Apa itu Tes Unit?
Halo semuanya, kami menulis artikel kecil tentang pengalaman kami dalam Pengujian Unit dengan rekan setim saya Fatmagul Polat . Selamat membaca :)
Pengujian unit adalah metode yang memverifikasi perilaku perangkat lunak dengan menjalankannya secara terpisah dari semua dependensi unit terkecilnya. Pengujian unit memungkinkan kami memverifikasi perilaku kode yang kami tulis dengan menulis kode, dan karena ini adalah bagian perangkat lunak terkecil yang dapat diuji, pengujian unit dikembangkan oleh pengembang.
Apa itu TDD?
Test driven Development adalah praktik yang sering kita dengar dalam beberapa tahun terakhir dan mulai menyebar. Apa yang pada dasarnya dia katakan adalah bahwa tesnya harus ditulis sebelum menulis kode aplikasi.
Mengapa kami mengembangkan pengujian dan manfaat unit?
Ada banyak manfaat untuk dapat menulis pengujian unit, kami akan mencoba membicarakannya.
Mengembangkan dengan pendekatan TDD membutuhkan tinjauan menyeluruh terhadap persyaratan atau desain sebelum kode fungsional apa pun ditulis. Kami mulai dengan menulis pengujian unit untuk pengembangan. Proses ini akan mengarahkan kita untuk berpikir lebih intensif tentang fitur yang akan kita kembangkan dan memungkinkan kita untuk fokus hanya pada persyaratan. Memulai kode secara langsung dapat mempersulit kita untuk fokus pada desain dan aliran kode saat mengembangkan . Proses ini akan membantu kita membuat lebih sedikit kesalahan dan menulis kode yang lebih sederhana dan bersih, hanya berfokus pada persyaratan.
Manfaat menulis tes unit adalah Anda dapat mengenali kesalahan yang mungkin terjadi pada tahap pengembangan dan memiliki kesempatan untuk memperbaikinya. Semakin banyak waktu yang dibutuhkan antara terjadinya kesalahan dan pendeteksiannya, semakin banyak biaya yang diperlukan untuk mengatasi kesalahan tersebut. Unit Test akan membantu kami mencegah kenaikan biaya ini.
Perangkat lunak kami terus berkembang dan berubah, jadi kami perlu melakukan perubahan pada metode yang telah kami tulis. Jika peningkatan atau perubahan menyebabkan kesalahan yang tidak terduga, kesalahan ini akan ditangkap oleh pengujian yang telah kami tulis untuk kode ini sebelumnya, dan kami dapat mengenalinya dan mengambil tindakan dalam tahap pengembangan. Saat kami menambahkan fitur baru ke kelas yang pengujiannya ditulis, kami biasanya fokus pada pengujian fitur yang ditambahkan. Bahkan jika fitur baru ini berfungsi dengan baik, hal itu dapat menyebabkan kelas ini gagal menjalankan fitur yang saat ini dapat dilakukannya. Kami tidak akan selalu dapat menguji kacang mete yang telah ditentukan sebelumnya. Dalam kasus seperti itu, melakukan pengujian pra-tertulis atas fitur yang ada akan melindungi dari kesalahan yang tidak diinginkan atau terlewatkan.
Setiap fitur yang ditambahkan menyebabkan pengujian unit kami yang ada gagal, dan jika kami perlu mengatur ulang pengujian unit ini, itu sebenarnya bertentangan dengan huruf "O" dari prinsip SOLID, yaitu metode kami tidak terbuka untuk diubah.
Menulis pengujian unit mendorong Anda untuk mengurangi kerumitan kode dan menulis kode dengan kualitas yang lebih baik. Akan sangat sulit untuk menulis pengujian metode yang kompleks dan mengandung banyak logika.
Ini akan memungkinkan kita untuk menulis kode kita ke dalam metode yang lebih kecil untuk menulis kode yang dapat diuji, dengan hanya satu tugas di setiap metode. Seiring waktu, pendekatan ini akan menciptakan budaya pengembangan perangkat lunak bagi kami.
Saat menguji kode kita, kita perlu benar-benar diisolasi dari dependensi eksternal, karena yang kita minati adalah kode di unit yang ingin kita uji. Kami tidak tertarik dengan perilaku ketergantungan eksternal. Kebutuhan untuk menguji secara mandiri dan diisolasi dari potongan-potongan kode yang bergantung pada unit yang kita tulis memungkinkan kita mengabstraksikan unit-unit ini dan mendesain kode menjadi potongan-potongan kecil yang dapat digunakan kembali. Contoh dependensi eksternal adalah metode di mana operasi dipanggil ke database, outsourcing titik akhir, dll.
Dengan menulis kode yang dapat diuji, kami sebenarnya mulai menerapkan lebih banyak prinsip SOLID.
Tes unit yang ditulis dengan baik berisi contoh yang baik tentang output apa yang akan diambil ketika fungsi atau komponen yang kita periksa diberikan input yang mana. Ini memungkinkan kita untuk melihat bagaimana kode yang sedang diuji berfungsi sebagai jalur bahagia, dengan contoh skenario akhirnya. Kami dapat dengan mudah memahami bagaimana metode kami akan bereaksi dengan memeriksa pengujian unit. Tes ini mungkin dokumen khusus untuk proyek tersebut. Dengan memeriksa tes, akan sangat membantu dalam memahami bagaimana metode bekerja.
Bagaimana cara mengembangkan Tes Unit?
Langkah-langkah dalam pendekatan TDD adalah sebagai berikut;
1.Mengembangkan pengujian unit.
2. Tes gagal.
3. Tes diberi kode agar berhasil.
4. Tes akan berhasil.
5. Kode di-refactored.
Sebelum memulai langkah-langkah ini, perlu dibuat deklarasi kelas dan metode yang pengujiannya akan kita tulis. Pertama, kita harus menulis pengujian metode dan kemudian melihat bahwa pengujian ini gagal, menyandikan metode yang relevan dan melanjutkan proses setelah pengujian berhasil.
Setelah menyelesaikan proses ini untuk metode kami yang ada, kami menjalankan semua pengujian kami dan berharap metode pengujian kami berhasil. Peningkatan yang kami buat agar satu metode pengujian berhasil dapat menyebabkan pengujian lainnya gagal. Dalam hal ini, kami akan memfaktorkan ulang kode dan menyelesaikan proses setelah pengujian berhasil lagi.
Terlepas dari pendekatan TDD, kami mulai menulis metode pengujian unit dalam proses pengembangan perangkat lunak tradisional.
Untuk menyimpulkan;
Pada akhirnya, tujuan pengujian unit tidak boleh hanya untuk mengatakan bahwa kami memiliki pengujian unit dalam proyek kami. Metode pengujian unit penulisan yang benar-benar sesuai dengan tujuan kita akan memberi kita banyak hal. Dengan cara ini, kita akan memiliki budaya pengembangan kode kualitas yang lebih baik dengan mencoba menulis kode yang dapat diuji. Ini akan membantu kita mengenali kesalahan pada tahap paling awal dengan mengantisipasi bagaimana peningkatan kode kita memengaruhi perilaku lain dan di mana kita mungkin mendapatkan kesalahan.
Dalam artikel kami berikutnya, kami akan mencoba menjelaskan bagaimana kami mengembangkan metode pengujian unit dan menjelaskan proses terkait dengan mengambil sampelnya. Sampai berjumpa lagi
Alamat email kami untuk umpan balik dan saran:
Berkin — [email protected] Fatmagül — [email protected]
Tautan ke artikel Turki:

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































