Pertanyaan & Jawaban Wawancara Junit [Untuk Pemula & Berpengalaman]

Diterbitkan: 2020-09-22

JUnit adalah solusi yang sangat baik untuk pengembang yang bekerja dengan bahasa pemrograman Java. Ini dapat digunakan untuk mengimplementasikan pengujian unit serta pengujian UI. Ini adalah salah satu kompetensi yang paling dicari untuk organisasi yang ingin meningkatkan kualitas kode dan kecepatan pemrograman mereka. Artikel ini akan membahas pertanyaan wawancara JUnit standar untuk membantu Anda mempersiapkan dan mencapai daftar pendek itu!

15 Pertanyaan & Jawaban Wawancara JUnit Teratas

1. Apa itu JUnit?

JUnit adalah kerangka kerja yang digunakan untuk melakukan pengujian unit kode Java. Ini dianggap sebagai dasar pengujian sisi pengembang pada mesin JVM. Oleh karena itu, JUnit merupakan bagian integral dari bidang pemrograman dan pengembangan yang digerakkan oleh pengujian.

2. Apa yang Anda pahami tentang pengujian dan pengujian unit?

Pengujian adalah proses memeriksa apakah aplikasi memenuhi persyaratan dan mencapai fungsionalitas yang diinginkan. Pengujian unit mengacu pada penilaian fungsionalitas individu atau unit aplikasi.

3. Bedakan antara pengujian manual dan otomatis.

Pengujian manual dijalankan tanpa skrip pengujian dan membutuhkan upaya manusia yang berdedikasi untuk berbagai langkah yang terlibat. Di sisi lain, pengujian otomatis dapat dilakukan tanpa bantuan manusia menggunakan alat teknologi dan program perangkat lunak. Mengotomatiskan pengujian lebih murah dan memakan waktu lebih sedikit daripada pengujian manual. Selain itu, pengujian manual kurang dapat diandalkan karena tidak dapat diprogram.

4. Apakah Anda harus menulis kasus uji untuk setiap logika?

Kasus uji adalah kode yang ditulis untuk menetapkan logika suatu program. Di JUnit, tidak perlu menulis kasus uji untuk setiap logika tetapi hanya untuk logika yang dapat dipatahkan secara wajar.

Kasus uji unit akan terdiri dari kumpulan data input dan output yang diharapkan. Paket org.junit berisi beberapa kelas dan antarmuka untuk membantu Anda dalam pengujian unit, seperti Assert, Test, Before, After, dll.

5. Sebutkan beberapa contoh alat yang dapat Anda gunakan untuk mengintegrasikan JUnit?

JUnit adalah kerangka kerja yang mudah digunakan untuk pengembangan Java. Itu dapat dengan mudah diperluas dan diintegrasikan dengan Eclipse IDE, Apache Ant, dan Maven.

6. Buat daftar beberapa ekstensi JUnit yang berguna dan jelaskan tujuannya.

Ada empat ekstensi JUnit utama, yaitu Cactus, JWebUnit, XMLUnit, dan MockObject. Kami telah menjelaskan kegunaannya secara rinci di bawah ini.

  • Cactus: Ini adalah kerangka kerja untuk menguji kode Java sisi server yang mengimplementasikan pengujian di dalam wadah. Ekosistem kaktus memiliki dua komponen yaitu Cactus Framework dan Cactus Integration Modules. Kerangka kerja adalah mesin yang menyediakan API untuk menulis tes, sedangkan modul integrasi menangani front-end dengan bantuan plugin.
  • JWebUnit: Kerangka kerja berbasis java ini menyediakan antarmuka pengujian terpadu dengan menggabungkan kemampuan HtmlUnit dan Selenium. JWebUnit memudahkan untuk menavigasi aplikasi web melalui tautan, validasi konten tabel, entri dan pengiriman formulir, dan fitur lainnya. Selain Java API tingkat tinggi, ini memungkinkan pembuatan tes cepat dengan pernyataan siap pakai.
  • XMLUnit: Menawarkan kelas ekstensi tunggal yang disebut XMLTestCase. XMLUnit juga menyediakan kelas pendukung yang memungkinkan pernyataan tentang validitas bagian XML (kelas Validator), perbedaan antara dua bagian XML (Diff dan DetailedDiff), hasil transformasi XML (kelas Transformer), antara lain.
  • MockObject: Ketika tidak mungkin atau tidak praktis untuk memasukkan objek nyata ke dalam unit test, objek tiruan bisa menjadi keuntungan. Anda dapat mensimulasikan perilaku objek kompleks dan menggabungkannya dengan langkah-langkah pengkodean berikut:
  1. Buat instance objek tiruan
  2. Tetapkan keadaan dan harapan
  3. Panggil kode domain menggunakan objek tiruan sebagai parameter
  4. Verifikasi konsistensi

7. Bagaimana Anda menguji metode 'dilindungi' dan 'pribadi'?

Dalam metode yang dilindungi, kelas uji dan kelas target dideklarasikan dalam paket yang sama. Namun, dalam metode pribadi, tidak ada cara pengujian langsung. Entah Anda harus mengubah metode Anda menjadi 'dilindungi' atau melakukan pengujian secara manual.

8. Apa yang terjadi di JUnit ketika tipe yang dikembalikan adalah “string”?

Dalam situasi ini, kompilasi akan berlalu, tetapi eksekusi akan gagal. Ini akan terjadi karena semua metode pengujian JUnit dirancang untuk mengembalikan "void".

9. Tentukan (i) Jadwal (ii) Test Suit (iii) Test Runner (iv) Kelas JUnit

(i) Perlengkapan digunakan sebagai dasar untuk melaksanakan tes, menetapkan pengulangan hasil. Perlengkapan uji terdiri dari keadaan tetap dari satu set objek. Metode meliputi:

  • setUp(): Ini berjalan sebelum pemanggilan tes.
  • tearDown(): Ini berjalan setelah metode pengujian.

(ii) Test Runner: Ini mengeksekusi kasus uji.

(iii) Kelas JUnit: Kelas berisi metode yang akan digunakan dalam penulisan dan pengujian JUnit.

(iv) Test Suite adalah bundel atau kumpulan kasus uji unit untuk dijalankan bersama. Anda dapat menjalankan pengujian suite di JUnit dengan anotasi @Suite atau @RunWith.

Baca: Proyek Sistem Manajemen Perpustakaan di Jawa

10. Sebutkan beberapa anotasi JUnit yang sering digunakan.

Anotasi hanyalah meta-tag yang dapat Anda tambahkan ke kode Anda. Anotasi @Test menandai metode tertentu sebagai metode pengujian. Beberapa anotasi berguna lainnya termasuk @Before, @BeforeClass, @After, dan @AfterClass, dan @Ignores. Untuk menerapkan pengujian JUnit, Anda perlu mengetahui pentingnya anotasi ini. Jadi, mari kita berkenalan dengan mereka satu per satu.

  • Test: Anotasi ini memberi tahu JUnit bahwa ia dapat menjalankan metode public void sebagai test case. Ini pada dasarnya adalah pengganti org.junit.TestCase
  • Sebelum: Jika Anda ingin mengeksekusi pernyataan apa pun (misalnya, prasyarat) sebelum kasus uji tertentu, Anda menggunakan @Before. Anotasi ini memungkinkan Anda menjalankan objek serupa sebelum metode pengujian.
  • Sebelum Kelas: Anda dapat menggunakan anotasi @BeforeClass di JUnit untuk menjalankan pernyataan sebelum semua kasus pengujian.
  • Setelah: Ini menyebabkan beberapa pernyataan berjalan setelah setiap kasus uji, seperti menghapus file sementara, mengatur ulang variabel, dll.
  • After Class: Anotasi @AfterClass memungkinkan Anda mengeksekusi pernyataan setelah semua kasus uji. Misalnya, pelepasan semua sumber daya setelah eksekusi selesai.
  • Abaikan: Digunakan untuk mengabaikan pernyataan tertentu selama eksekusi. Misalnya, menonaktifkan kasus uji.

Baca Juga : Pertanyaan Wawancara Java

11. Jelaskan berbagai jenis kelas JUnit.

Assert, TestCase, dan TestResult adalah beberapa kelas JUnit yang vital. Assert menyediakan metode untuk kasus uji. TestCase berisi kasus uji, yang menentukan perlengkapan untuk menjalankan beberapa pengujian. TestResult menyertakan metode untuk mengumpulkan hasil.

12. Kapan Anda menulis tes unit?

Dalam siklus pengembangan yang khas, tes unit ditulis sebelum kode. Praktik ini memungkinkan pengembang untuk menjaga kualitas kode mereka.

13. Mengapa Anda harus menahan diri dari menggunakan System.out.printIn() untuk debugging?

Jika Anda menggunakan System.out.printIn() untuk men-debug kode Anda, itu akan menguntungkan dalam jangka panjang. Setiap kali program dijalankan, itu akan menghasilkan pemindaian manual dari seluruh output untuk memastikan bahwa kode beroperasi dengan benar. Jadi, akan membutuhkan waktu yang relatif lebih sedikit untuk mengkodekan metode JUnit dan melakukan pengujian pada file kelas.

14. Ke mana perginya sampah uji di JUnit?

Pelari tes memegang referensi selama durasi tes. Jika pengujian diperpanjang memiliki banyak instance pengujian, sampah mungkin tidak dikumpulkan hingga akhir pengujian. Kita dapat menggunakan tearDown() untuk mengumpulkan sampah sebelum pengujian selesai. Dalam metode ini, kami secara eksplisit menetapkan objek ke nol.

15. Bagaimana Anda menginstal Junit?

Langkah pertama adalah mengunduh JUnit 5, versi terbaru JUnit (ini akan menjadi file bernama junit.zip). Kami akan diminta untuk meng-unzip file distribusi ke direktori, %JUNIT_HOME%. Kemudian, kita akan menambahkan JUnit ke classpath.

Selanjutnya, kami akan menguji instalasi. Ini akan melibatkan menjalankan tes sampel (tidak terletak di file junit.jar, tetapi direktori instalasi) yang didistribusikan dengan Junit. Terakhir, kami akan mengonfirmasi bahwa semua tes lulus dengan pesan "OK". Jika tidak, kami akan kembali dan memverifikasi apakah junit.jar ada di classpath.

Lihat: Cara Membuat Kode, Kompilasi, dan Menjalankan Proyek Java

Kesimpulan

Dengan pertanyaan wawancara JUnit di atas, Anda dapat memoles konsep Anda dalam persiapan untuk pekerjaan pengembang. Posisi seperti Test Automation Engineer dan Software Engineer juga menyertakan JUnit dalam keahlian yang diinginkan. Para perekrut ingin mengukur pengetahuan teknis dan kemampuan komunikasi Anda. Jadi, isi dari jawaban Anda dan bagaimana Anda menyajikannya akan membuat semua perbedaan.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan perangkat lunak full-stack, lihat Diploma PG Tingkat & IIIT-B dalam Pengembangan Perangkat Lunak Full-stack yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan yang ketat, 9+ proyek, dan tugas, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Dapatkan Pekerjaan Impian Anda

UPGRAD DAN DIPLOMA PG IIIT-BANGALORE DALAM PENGEMBANGAN FULL STACK
Daftar Hari Ini