TestNG - Ikhtisar
Pengujian adalah proses memeriksa fungsionalitas aplikasi untuk memastikannya berfungsi sesuai kebutuhan. Pengujian unit menjadi gambaran di tingkat pengembang di mana langkah-langkah yang memadai diambil untuk menguji setiap entitas (kelas atau metode) untuk memastikan produk akhir memenuhi persyaratan.
JUnit telah mendorong pengembang untuk memahami kegunaan pengujian, terutama pengujian unit, jika dibandingkan dengan framework pengujian lainnya. Memanfaatkan arsitektur yang agak sederhana, pragmatis, dan ketat, JUnit telah mampu "menginfeksi" sejumlah besar pengembang. Lihatlah tutorial kami di JUnit untuk mendapatkan pemahaman yang baik tentang fitur-fiturnya. JUnit, pada saat yang sama, juga memiliki beberapa kekurangan, yang tercantum di bawah ini -
Awalnya dirancang untuk mengaktifkan pengujian unit saja, sekarang digunakan untuk semua jenis pengujian.
Tidak dapat melakukan pengujian ketergantungan.
Kontrol konfigurasi yang buruk (setUp / tearDown).
Intrusive (memaksa Anda untuk memperluas kelas dan memberi nama metode Anda dengan cara tertentu).
Model pemrograman statis (memaksa Anda untuk mengkompilasi ulang jika tidak perlu).
Pengelolaan rangkaian pengujian yang berbeda dalam proyek yang kompleks bisa sangat rumit.
Apa itu TestNG?
Definisi TestNG sesuai dokumentasinya adalah sebagai berikut -
TestNG adalah framework pengujian yang terinspirasi dari JUnit dan NUnit, tetapi memperkenalkan beberapa fungsi baru yang membuatnya lebih kuat dan lebih mudah digunakan.
TestNG adalah kerangka pengujian otomatis open source; dimanaNG cara NextGenerasi. TestNG mirip dengan JUnit (terutama JUnit 4), tetapi ini bukan ekstensi JUnit. Ini terinspirasi oleh JUnit. Ini dirancang untuk lebih baik daripada JUnit, terutama saat menguji kelas terintegrasi. Pencipta TestNG adalah Cedric Beust .
Menghilangkan sebagian besar batasan kerangka lama, TestNG memberi pengembang kemampuan untuk menulis pengujian yang lebih fleksibel dan kuat. Karena banyak meminjam dari Anotasi Java (diperkenalkan dengan JDK 5.0) untuk menentukan pengujian, ia juga dapat menunjukkan kepada Anda bagaimana menggunakan fitur baru bahasa Java ini dalam lingkungan produksi yang sebenarnya.
Fitur TestNG
Mendukung anotasi.
TestNG menggunakan lebih banyak fitur Java dan OO.
Mendukung pengujian kelas terintegrasi (misalnya, secara default, tidak perlu membuat instance kelas pengujian baru untuk setiap metode pengujian).
Memisahkan kode uji waktu kompilasi dari konfigurasi / info data run-time.
Konfigurasi runtime yang fleksibel.
Memperkenalkan 'kelompok uji'. Setelah Anda menyusun pengujian, Anda dapat meminta TestNG untuk menjalankan semua pengujian "front-end", atau pengujian "cepat", "lambat", "database", dll.
Mendukung metode pengujian dependen, pengujian paralel, pengujian beban, dan kegagalan parsial.
API plug-in yang fleksibel.
Dukungan untuk pengujian multi-thread.