0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan29 halaman

JUnit Testing 2

junit testing learnin gautomation

Diunggah oleh

fantazqis1909
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan29 halaman

JUnit Testing 2

junit testing learnin gautomation

Diunggah oleh

fantazqis1909
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 29

JUnit Testing

Introduction to Software Testing


• Software testing memastikan bahwa setiap bagian kode pada
software berjalan sebagaimana mestinya. Pengujian tersebut
umumnya dilakukan secara otomatis dengan bantuan build system.
• Dengan menjalankan tes secara otomatis, dapat membantu
mengidentifikasi kekacauan yang mungkin terjadi ketika terdapat
perubahan pada source code.
• Ketika suatu kode memiliki test coverage yang tinggi, software
development dapat dijalankan lebih cepat karena tidak perlu
melakukan pengujian manual setiap dilakukan perubahan kode.
Introduction to Software Testing
• Secara umum terdapat tiga jenis software
testing;
• Unit test
• Integration test
• Performance test
Unit test
• Unit test adalah sekumpulan kode yang sengaja ditulis oleh developer untuk
mengeksekusi suatu fungsi/tugas spesifik pada kode yang akan diuji dan
memastikan terpenuhinya suatu kondisi.
• Persentasi kode yang diuji oleh unit test terhadap keseluruhan kode disebut
test coverage.
• Target dari sebuah unit test adalah sekumpulan kode dalam lingkup yang
kecil, misalnya sebuah method atau sebuah class
• Unit test tidak cocok untuk pengujian program dengan UI dan interaksi yang
kompleks. Untuk hal ini, integration test lebih cocok digunakan.
Integration Test
• Integration test menguji perilaku dan integrasi sekumpulan
komponen pada suatu software ketika sudah dijalankan
bersama-sama sebagai suatu sistem yang utuh.
• Disebut juga functional test.
• Tes ini dapat mencerminkan interaksi pengguna dengan aplikasi
tersebut ketika nantinya digunakan di dunia nyata.
Performance Test
• Performance test dilakukan untuk memastikan
kode/software berjalan dengan kecepatan yang
diinginkan, bahkan ketika diberi “beban” yang
berat.
• Umumnya dilakukan menggunakan program
“benchmark”
JUnit
• JUnit merupakan framework unit testing yang
paling populer untuk Java development.
• JUnit didukung oleh hampir seluruh IDE dan build
tools Java.
• Eclipse terbaru sudah mengandung JUnit sebagai
default unit testing library.
Memastikan JUnit Terinstall pada Eclipse
1. Pada Eclipse, pilih menu Window → Preferences → Java
2. Jika terdapat pilihan JUnit, berarti JUnit telah terinstall secara otomatis
ketika menginstall Eclipse
Contoh Penggunaan JUnit
Misal terdapat suatu
public class Calculator {
class bernama public int add(int a, int b) {
return a + b;
Calculator, dengan dua }

public int subtract(int a, int b) {


method yakni add dan }
return a - b;

}
subtract.
Contoh Penggunaan JUnit
Klik File → New →
JUnit Test Case
Contoh Penggunaan JUnit
• Beri nama CalculatorTest
• Pilih class Calculator sebagai
Class under test, untuk
menunjukkan bahwa unit test
yang akan dibuat ditujukan
untuk menguji class Calculator.
• Klik Next
Contoh Penggunaan JUnit
• Pilih method mana saja yang
akan diuji
• Pada class Calculator terdapat
dua method yaitu add dan
substract. Mari uji keduanya.
• Klik Finish
Contoh Penggunaan JUnit
• Klik OK, untuk
menambahkan
library JUnit ke
dalam build path
Contoh Penggunaan JUnit
• Secara otomatis, JUnit membuat suatu class
bernama CalculatorTest.

• Class tersebut berisi dua buah method


signature yaitu testAdd untuk menguji method
Add dan testSubstract untuk menguji method
Substract. Namun kita harus membuat sendiri
isi kedua method tersebut, sesuai skenario
yang diharapkan.

• Kedua method tersebut diawali dengan @Test,


untuk menandai bahwa method-method
teserbut adalah method yang digunakan untuk
menguji method lainnya (dalam hal ini Add dan
Substract).
Contoh Penggunaan JUnit
Selain dengan cara otomatis, suatu
test class dapat pula dibuat secara
manual, yakni dengan membuat
class Java seperti biasa, dengan
nama AnuTest (Anu = nama class import static
org.junit.jupiter.api.Assertions.*;
yang akan diuji), kemudian
import org.junit.jupiter.api.Test;
mengisinya seperti contoh yang
ditampilkan di sebelah kanan class AnuTest {

tulisan ini. @Test


void testGetAnu() {
// isi pengujiannya di sini
}

}
Contoh Penggunaan JUnit
Salahsatu contoh isi method testAdd:

• Menciptakan objek Calculator.


@Test
• Menjumlahkan 1234 dan 5678 public void testAdd() {
Calculator calculator = new Calculator();
menggunakan objek kalkulator, dan int a = 1234;
menyimpannya pada variabel actual. int b = 5678;
int actual = calculator.add(a, b);
• Menyimpan “kunci jawaban” yang benar, int expected = 6912;
yang telah dihitung secara manual, pada
assertEquals(expected, actual);
variabel expected }

• Membandingkan isi variabel expected dan


variabel actual dengan method assertEquals
Contoh Penggunaan JUnit
Untuk
menjalankannya,
klik kanan pada
method testAdd,
pilih Run As JUnit
Test.
Contoh Penggunaan JUnit
Warna hijau dan Failure
Trace yang kosong
menunjukkan bahwa
methdo Add berfungsi
sebagaimana mestinya.
Contoh Penggunaan JUnit
• Selanjutnya mari kita rusak method
Add pada class Calculator, agar hasil
penjumlahannya menjadi kacau. public class Calculator {
public int add(int a, int b) {
• Dengan input yang sama (1234 dan return a + (16 * b);
5678), method yang sudah rusak ini }
akan menghasilkan 92082 (yang tentu
public int subtract(int a, int b) {
saja berbeda dengan nilai pada return a - b;
variabel expected yakni 6912) }
}
• Jalankan kembali method testAdd dan
lihat hasilnya.
Contoh Penggunaan JUnit
• Muncul warna merah yang
menunjukkan bahwa method Add
tidak menghasilkan output yang
diharapkan
• Terdapat failure trace yang
menyatakan bahwa hasil dari
method Add seharusnya 6912,
namun malah menghasilkan angka
92082.
Contoh Penggunaan JUnit
• Sebagai latihan, silakan implementasikan
method testSubstract untuk menguji method
substract.
Contoh Penggunaan JUnit

@Test
public void testSubtract() {
Calculator calculator = new Calculator();
int a = 1234;
int b = 5678;
int actual = calculator.subtract(b, a);

int expected = 4444;

assertEquals(expected, actual);
}
Beberapa Method Lain dalam JUnit
Selain method yang ditandai @Test, juga terdapat beberapa method lain
yang dapat dilibatkan pada skenario pengujian JUnit.
1. @BeforeClass
Kode pada method yang ditandai @BeforeClass dieksekusi hanya
satu kali, yakni sebelum semua test method pada test class. Biasanya
digunakan untuk kode-kode yang mempersiapkan resource yang
digunakan pada pengetesan, misalnya menyiapkan koneksi dengan
database. Method yang diberi tanda ini harus berupa static method
Beberapa Method Lain dalam JUnit
2. @BeforeEach
Method dengan tanda ini dieksekusi sebelum
setiap test method pada test class. Sehingga kode
yang menggunakan tanda ini pasti dieksekusi
sebelum suatu test method dieksekusi
Beberapa Method Lain dalam JUnit
3. @AfterEach
Method dengan tanda ini dijalankan berulang-ulang setiap suatu test
method selesai dijalankan
4. @AfterClass
Method dengan tanda ini dieksekusi hanya sekali, setelah semua test
method pada test class selesai dijalankan. Misalnya untuk
membersihkan environment pengetesan, seperti untuk menutup
koneksi ke database
Beberapa Method Lain dalam JUnit
• Tanda @BeforeClass, @BeforeEach,
@AfterEach, dan @AfterClass bersifat opsional.
Hanya digunakan jika dibutuhkan.
• Sedangkan @Test wajib ada pada test class,
minimal ada 1 buah test method.
Contoh Penggunaan @BeforeEach
TAMAT
Referensi
• https://www.codejava.net/testing/junit-tutorial-for-beginner-with-
eclipse
• https://www.vogella.com/tutorials/SoftwareTesting/article.html
• https://www.guru99.com/download-installation-junit.html
• https://www.tutorialspoint.com/junit/junit_plug_with_eclipse.htm
• https://www.parasoft.com/blog/junit-tutorial-setting-up-writing-
and-running-java-unit-tests/

Anda mungkin juga menyukai