10
DISUSUN OLEH : AYU ALDILA SALMA “PENJELASAN MENGENAI UNIT TESTING “

PENJELASAN UNIT TESTING

Embed Size (px)

Citation preview

DISUSUN OLEH :

AYU ALDILA SALMA

“PENJELASAN MENGENAI UNIT TESTING “

Page | 1

Daftar Isi

UNIT TESTING .......................................................................................................................................... 2

1. Pengertian Unit Testing .............................................................................................................. 2

2. Tujuan Unit Testing ..................................................................................................................... 2

3. Framework Unit Testing .............................................................................................................. 2

PENGGUNAAN UNIT TESTING ................................................................................................................. 3

1. Penggunaan Annotation ............................................................................................................. 3

2. Method Pengujian Assert ............................................................................................................ 5

UNIT TESTING 1. Pengertian Unit Testing

Dalam pemrograman komputer, unit testing adalah pengujian bagian terkecil dari

sebuah code. Dalam pemrograman prosedural unit bisa menjadi modul seluruh tetapi lebih

umum fungsi individu atau prosedur. Dalam pemrograman berorientasi obyek unit sering

merupakan seluruh antarmuka, seperti kelas, tetapi bisa menjadi metode individu. Unit testing

dilakukan untuk membuktikan apakah kode yang telah ditulis berfungsi sesuai dengan

kehendak programmer. Unit testing dilakukan setelah programmer selesai menuliskan suatu

kode/fungsi/method yang ada dalam suatu class. Dapat juga dilakukan setelah menambahkan

sebuah fungsionalitas baru atau setelah melakukan refactoring.

2. Tujuan Unit Testing

- Mengisolasi setiap bagian dari program dan menunjukkan bahwa setiap bagian sudah

benar

- Mencari error di awal siklus pengembangan. Hal ini termasuk mengecek kebenaran

programmer implementasi program dan mengatur alur atau ada bagian yang terlewat dari

spesifikasi yang diperlukan

- Mengurangi tingkat keraguan dalam unit tersebut dan dapat digunakan dalam pendekatan

testing buttom-up

3. Framework Unit Testing

- Arquillian

- TestNG

- EtiUnit

- EvoSuite

- GroboUtils

- HavaRunner

- Instinct

- Hippomocks

PENGGUNAAN UNIT TESTING 1. Penggunaan Annotation

- @Category

Mengelompokkan test ke dalam suatu kategori. Misalnya cepat, lambat.

- @IncludeCategory

Hanya menjalakan kelas dan method baik yang diberi kategori dengan menggunakan

anotasi @IncludeCategory atau bagian dari tipe kategori tersebut.

- @ExcludeCategory

Hanya menjalankan kelas yang method yang tidak diberi kategori dengan menggunakan

anotasi @IncludeCategory atau bagian dari tipe kategori tersebut.

Gambar 1. Contoh penggunaan @Category

Gambar 2. Contoh penggunaan @IncludeCategory

Gambar 3. Contoh penggunaan @ExcludeCategory

- @Rule

Rules memungkinkan penambahan yang sangat fleksibel atau mendefinisikan kembali

perilaku dari masing-masing tes method dalam sebuah test class.

- @Theory

Pernyataan yang lebih fleksibel dan ekspresif, dikombinasikan dengan kemampuan untuk

menyatakan asumsi dengan jelas membuat sebuah statement tujuan yang disebut theory.

Sebuah tes menangkap perilaku yang dimaksudkan dalam sebuah scenario. Sebuah theory

menangkap beberapa aspek dari perilaku yang dimaksudkan dalam jumlah scenario yang

tak terbatas.

- @DataPoint

Menggunakan anotasi @DataPoint dalam sebuah field atau method akan menyebabkan

nilai field atau nilai yang dikembalikan oleh method tersebut digunakan sebagai

Gambar 5. Contoh program @Theory

Gambar 4. Contoh penggunaan @Rule

parameter untuk theory dalam kelas tersebut. Contoh penggunaan program dapat dilihat

pada gambar 5.

- @TestedOn

Anotasi @TestedOn digunakan untuk mengambil sebuah nilai array untuk digunakan

sebuah data point untuk parameter yang dianotasikan.

2. Method Pengujian Assert

- AssertSame()

method yang digunakan menegaskan bahwa kedua object yang digunakan dalam

parameter merujuk kepada objek yang sama

Gambar 6. Contoh penggunaan @TestedOn

Pengujian jika dua object berbeda maka tes akan gagal

Pengujian jika dua object berbeda maka tes akan berhasil

- AssertNotSame()

Method yang digunakan untuk menegaskan bahwa dua objek yang menjadi parameter

bukan merupakan objek yang sama

- AssertEqualsNoOrder()

Method yang digunakan untuk mengetes bahwa dua array mempunyai elemen yang

sama walaupun dalam urutan yang berbeda.

Pengujian jika menggunakan objek yang berbeda maka tes akan berhasil

Pengujian jika menggunakan objek yang sama maka tes akan gagal

Pengujian jika menggunakan array yang mempunyai elemen yang sama maka tes akan berhasil

Pengujian jika menggunakan array yang mempunyai elemen yang tidak sama maka tes akan gagal

- AssertEquals()

Method yang digunakan untuk mengecek bahwa dua string yang dimasukkan adalah

sama.

- Fail()

Pengujian untuk test gagal tanpa pesan.

- assertNotNull()

method yang digunakan untuk menguji bahwa objek tidak bernilai null

Pengujian jika menggunakan string yang tidak sama maka tes akan gagal

Pengujian jika menggunakan string yang benar benar sama maka tes akan sukses

Pengujian jika menggunakan objek bernilai null maka akan gagal

- AssertNull()

Method yang digunakan untuk mengecek apakah objek bernilai null

- assertTrue()

Method yang digunakan untuk mengecek suatu kondisi bernilai benar

Pengujian jika menggunakan objek tidak bernilai null maka akan sukses

Pengujian jika menggunakan objek bernilai null maka akan sukses

Pengujian jika menggunakan objek tidak bernilai null maka akan gagal

Pengujian jika memasukkan nilai true maka akan sukses

Pengujian jika memasukkan nilai false maka akan gagal

- assertThrows()

method yang digunakan untuk menjalankan sebuah pengecualian ketika dipicu.

- assertNotEquals()

method yang digunakan untuk mengecek apakah dua objek bernilai tidak sama

- assertFalse()

method yang digunakan untuk mengecek bahwa sebuah kondidi itu salah

Pengujian jika memasukkan objek yang berbeda maka tes akan sukses

Pengujian jika memasukkan objek yang sama maka tes akan gagal