Upload
independent
View
1
Download
0
Embed Size (px)
Citation preview
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