Apa Itu Unit Testing? Semua Yang Perlu Anda Ketahui Tentang Pengujian Unit



Artikel ini membantu Anda mempelajari apa itu unit testing dan mengapa penting menundukkan software build ke unit testing sebelum jenis pengujian lainnya.

Tujuan utama dari setiap proyek perangkat lunak adalah untuk mendapatkan hasil yang berkualitas tinggi sekaligus mengurangi biaya dan waktu yang dibutuhkan untuk menyelesaikan proyek. Untuk mencapai itu, perusahaan menerapkan produk perangkat lunak pada empat tingkat pengujian. Pengujian unit adalah pengujian tingkat pertama dalam Pengujian Perangkat Lunak. Sepanjang artikel ini, kita akan membahas apa itu unit test secara detail. Jika Anda baru mengenal pengujian perangkat lunak, pastikan juga membaca .

Mari kita lihat topik yang dibahas dalam artikel ini:





Tingkat Pengujian Perangkat Lunak

adalah fase dalam siklus pengembangan perangkat lunak di mana perangkat lunak bisnis penting diverifikasi untuk kebenaran, kualitas, dan kinerja.

Ada empat tingkat dasar dalam pengujian perangkat lunak, masing-masing memeriksa fungsionalitas perangkat lunak dari sudut pandang yang unik dalam proses pengembangan. Keempat level pengujian perangkat lunak seperti yang ditunjukkan pada gambar di bawah ini.



Tingkatan Pengujian Perangkat Lunak - Apa itu Pengujian Unit? - Edureka

Artikel ini menjelaskan pengujian unit, pengujian perangkat lunak tingkat pertama secara detail.

Apa itu Unit Testing?

Pengujian unit adalah cara menguji bagian kode terkecil yang disebut a satuan yang dapat diisolasi secara logis dalam suatu sistem. Ini terutama difokuskan pada kebenaran fungsional dari modul mandiri.



belajar informatica selangkah demi selangkah

Sebuah unit bisa menjadi apapun yang Anda inginkan - sebuah fungsionalitas tertentu, program, atau metode tertentu di dalam aplikasi. Lebih kecil unitnya, lebih baik. Tes yang lebih kecil biasanya memberi Anda gambaran yang jauh lebih terperinci tentang produksi Anda, kinerja kode. Selain itu, pengujian Anda dapat berjalan lebih cepat jika ukurannya kecil. Jadi, ini juga pengujian perangkat lunak tingkat mikro.

Bagaimana Anda Melakukan Pengujian Unit?

Tujuan pengujian unit untuk memisahkan setiap bagian dari program dan menguji apakah bagian-bagian tersebut bekerja dengan benar dan sebagaimana yang dimaksudkan. Saat melakukan pengujian unit, fungsi kode aplikasi dijalankan di lingkungan pengujian dengan input sampel. Keluaran yang diperoleh kemudian dibandingkan dengan keluaran yang diharapkan untuk masukan tersebut. Jika mereka cocok, tes lulus. Jika tidak itu gagal. Tes unit sangat bagus untuk memastikan kebenaran kode. Mari kita lihat contoh algoritme yang menggambarkan konsep tersebut.

Seperti yang Anda lihat, melakukan uji unit cukup sederhana. Anda menulis bagian dari kode dan mengujinya. Jika pengujian berhasil, Anda menambahkannya ke rangkaian pengujian dan menguji bagian kode berikutnya. Jika tidak, Anda membuat perubahan yang diperlukan dan mengujinya lagi. Ulangi proses tersebut hingga semua unit perangkat lunak diuji.Jenis pengujian dasar ini menawarkan banyak keuntungan sepertimenemukan bug perangkat lunak lebih awal, menyederhanakan integrasi, menyediakan sumber , dan banyak lagi.

Apa Manfaat Pengujian Unit?

Melakukan uji regresi, menguntungkan perusahaan dalam beberapa cara seperti:

Membuat Coding Agile

Pengujian unit mempercepat proses pengkodean. Saat Anda menambahkan fitur baru ke aplikasi Anda, terkadang Anda mungkin harus memodifikasi desain dan kode produk perangkat lunak Anda. Namun, mengubah kode yang sudah diuji menghabiskan terlalu banyak uang dan tenaga. Tetapi dengan pengujian unit, Anda hanya dapat menguji bagian kode yang baru ditambahkan alih-alih menguji seluruh program. Selain itu, pengujian unit meningkatkan kualitas kode Anda.

Membantu Menemukan Bug Perangkat Lunak Lebih Awal

Karena pengujian unit dilakukan oleh pengembang yang menguji kode individu sebelum integrasi, masalah dapat ditemukan di awal proses pengujian perangkat lunak. Mereka dapat diselesaikan saat itu juga tanpa memengaruhi bagian kode lainnya. Keuntungan mendeteksi kesalahan sejak dini adalah Anda dapat meminimalkan risiko pengembangan, dan menghindari menghabiskan terlalu banyak uang dan waktu.

Menyediakan Dokumentasi

Dalam pengujian, dokumentasi kode seringkali diabaikan karena membutuhkan banyak waktu. Namun pengujian unit membuat dokumentasi sedikit lebih mudah dengan mendorong praktik pengkodean yang lebih baik dan juga meninggalkan potongan kode yang menjelaskan apa yang dilakukan produk Anda.

Debugging Menjadi Lebih Mudah

Pengujian unit menyederhanakan proses debugging. Saat pengujian gagal, hanya perubahan terbaru yang dibuat dalam kode yang perlu di-debug. Pada tingkat pengujian yang lebih tinggi, perubahan yang dibuat selama rentang beberapa hari atau minggu atau bulan perlu dipindai.

Mengurangi Biaya Pengujian

Karena bug ditemukan lebih awal, biaya perbaikan bug adalahdikurangi sampai batas tertentu. Akan lebih mahal jika bug ditemukan selama tahap pengembangan selanjutnya. Anda harus mengubah seluruh kode proyek Anda. Kedengarannya sangat melelahkan dan membuang-buang uang. Jadi melakukan pengujian unit juga menghemat waktu dan uang yang berharga.

Ini dia! Saya harap Anda yakin mengapa pengujian unit itu penting. Lebih jauh lagi, mari kita lihat demo sederhana tentang cara menulis pengujian unit.

Demo: Menulis Uji Unit Sampel

Pengujian unit menuntut bahwa pengujian yang baik harus:

  • Mudah untuk ditulis
  • Dapat dibaca
  • Andal
  • Lebih Cepat & Efisien

Persyaratan untuk demo:

  • Java Development Kit (JDK)
  • IDE (Dalam demo ini, Eclipse digunakan)
  • Kerangka pengujian unit (Dalam demo ini TestNG digunakan)

Mari kita mulai demo. Jadi, dalam demo ini, saya punya dua file:

  • Kelas matematika dengan fungsi untuk diuji
  • Kelas Pengujian dengan metode untuk melakukan pengujian

Lihatlah kode di bawah ini untuk memahami kasus uji. Ini adalah kelas Matematika dengan dua metode: tambah, perkalian.

Kelas akhir publik Matematika {public static int add (int first, int second) {return first + second} public static int multiply (int multiplicand, int multiplier) {return multiplicand * multiplier}}

Selanjutnya kami memiliki kelas Uji dengan metode untuk menguji fungsionalitas Menambahkan() fungsi dan berkembang biak() fungsi.

impor org.testng.annotations.Test impor statis org.testng.Assert.assertEquals kelas publik MathTests {@Test public void add_TwoPlusTwo_ReturnsFour () {final int diharapkan = -4 final int aktual = Math.add (-2, -3) assertEquals (aktual, diharapkan)} @Test public void multiple_twonumbers_retursvalue () {final int diharapkan = -4 final int aktual = Math.multiply (2,2) assertEquals (aktual, diharapkan)}}

Uji Unit: Memeriksa fungsionalitas tambah fungsi

Komentari berkembang biak() berfungsi di kelas Matematika dan multiple_twonumbers_retursvalue () berfungsi di kelas Tes. Kemudian tetapkan nilai untuk diharapkan variabel dan memanggil berkembang biak() berfungsi dengan masukan sampel (pertimbangkan kasus positif & negatif). Saat Anda menjalankan pengujian, file diharapkan nilai dibandingkan dengan arus nilai. Jika tes mengembalikan hasil yang diinginkan, itu berarti Menambahkan() fungsi bekerja dengan sempurna. Saya telah melampirkan tangkapan layar hasil tes saat diharapkan nilainya -5 dan parameter yang diteruskan ke Menambahkan() fungsinya adalah -2 dan -3.

c ++ daftar sortir

Sederhana kan? Kami telah menguji satu unit atau sebagian dari keseluruhan program. Anda dapat melakukan hal yang sama dengan berkembang biak() fungsi. Tujuan dari demo ini adalah untuk membuat Anda memahami apa arti unit dalam pengujian unit. Jadi, tujuan utama di sini adalah untuk memverifikasi desain internal dan logika internal, jalur internal proyek perangkat lunak dalam potongan kecil. Kerangka pengujian unit yang saya gunakan dalam demo ini adalah TestNG. Ada berbagai kerangka pengujian unit lainnya untuk berbagai bahasa pemrograman.

Kerangka Pengujian Unit Terbaik

Beberapa framework pengujian unit yang populer adalah:

  • JUnit: Ini adalah kerangka kerja sumber terbuka untuk lingkungan pengembangan yang digerakkan oleh pengujian, yang dirancang khusus untuk .
  • NUnit: Ini adalah salah satu framework pengujian unit paling populer untuk C #.
  • TestNG: Dirancang untuk bahasa pemrograman, ini menyerupai JUnit dan NUnit tetapi menawarkan beberapa fungsi baru yang membuatnya lebih kuat dan lebih mudah digunakan.
  • HtmlUnit: Ini adalah salah satu framework paling populer untuk . Ini digunakan untuk menguji aplikasi web yang digunakan dalam kerangka kerja seperti JUnit dan TestNG.
  • Unitest: Terinspirasi oleh framework JUnit, framework ini mendukung otomatisasi pengujian dan bertindak secara independen dari pengujian dari lingkungan pelaporan. Ini adalah salah satu kerangka pengujian unit paling populer untuk .

Selain itu, ada banyak kerangka kerja lainnya. Dengan ini, kita telah sampai di ujung blog. Semoga hal-hal yang telah Anda pelajari di sini hari ini akan membantu Anda saat menjalani perjalanan pengujian perangkat lunak.

Jika Anda menemukan ini artikel relevan, lihat hidup-online oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar artikel ini dan kami akan menghubungi Anda kembali.