Tuesday, 1 July 2025
QA

Integration Testing

Integrasi testing

Apa itu Integration Testing?

Integration Testing adalah jenis testing yang menguji modul perangkat lunak secara logis saat mereka diintegrasikan menjadi satu kesatuan. Dalam proyek perangkat lunak, berbagai modul dikembangkan oleh programmer yang berbeda, sehingga perlu dilakukan Integration Testing untuk memastikan bahwa modul-modul ini dapat berinteraksi dengan benar.

Integration Testing sering disebut sebagai “I&T” (Integration & Testing), “String Testing”, atau “Thread Testing” karena fokusnya pada pengujian aliran data antara modul.


Mengapa Integration Testing Diperlukan?

Meskipun masing-masing modul telah diuji dalam Unit Testing, tetap saja bisa muncul berbagai masalah karena beberapa alasan:

  • Setiap modul dikembangkan oleh programmer yang berbeda dengan pemahaman dan logika yang berbeda pula.
  • Perubahan kebutuhan oleh klien selama pengembangan dapat menyebabkan celah dalam pengujian unit.
  • Kesalahan dapat terjadi dalam interaksi modul dengan database.
  • Modul yang berinteraksi dengan hardware eksternal mungkin memiliki masalah kompatibilitas.
  • Penanganan kesalahan (exception handling) yang kurang memadai dapat menyebabkan bug yang tidak terdeteksi pada tahap sebelumnya.

Contoh Kasus Integration Testing

Misalkan kita memiliki tiga modul dalam sebuah aplikasi:

  1. Halaman Login
  2. Mailbox
  3. Fitur Hapus Email

Modul-modul ini diuji dalam Unit Testing secara terpisah, tetapi sekarang kita perlu memastikan bahwa mereka dapat bekerja bersama dengan baik.

Test Case IDTujuanDeskripsiHasil yang Diharapkan
TC-01Pengujian integrasi antara Login dan MailboxMasukkan kredensial login dan tekan tombol LoginPengguna diarahkan ke Mailbox
TC-02Pengujian integrasi antara Mailbox dan Hapus EmailPilih email dan klik tombol HapusEmail berpindah ke folder Trash

Jenis Integration Testing

Ada beberapa strategi dalam Integration Testing, yaitu:

1. Big Bang Approach

Dalam metode ini, semua modul digabungkan sekaligus dan diuji sebagai satu kesatuan.

Kelebihan:

  • Cocok untuk proyek kecil dengan sedikit modul.

Kekurangan:

  • Sulit menemukan sumber kesalahan karena semua modul diuji bersamaan.
  • Jika ada modul yang belum siap, pengujian tertunda.
  • Modul penting tidak bisa diuji lebih awal.

2. Incremental Approach

Dalam metode ini, modul diuji secara bertahap dengan dua pendekatan utama:

a) Bottom-Up Approach

Dimulai dari pengujian modul yang paling bawah dalam hierarki (low-level modules), lalu diintegrasikan ke modul di atasnya.

Kelebihan:

  • Memudahkan pelacakan kesalahan.
  • Tidak perlu menunggu semua modul selesai.

Kekurangan:

  • Modul kritis yang berada di atas diuji paling akhir.

b) Top-Down Approach

Dimulai dari modul tertinggi dalam hierarki, lalu diuji dengan menghubungkannya ke modul yang lebih rendah.

Kelebihan:

  • Modul penting diuji lebih awal.
  • Memungkinkan pembuatan prototype lebih awal.

Kekurangan:

  • Membutuhkan banyak stubs (dummy module untuk menggantikan modul yang belum siap).

3. Sandwich Testing (Hybrid Approach)

Metode ini mengombinasikan pendekatan Top-Down dan Bottom-Up, di mana modul diuji dari kedua arah secara bersamaan.


Stubs dan Drivers dalam Integration Testing

  • Stub → Pengganti modul yang belum dikembangkan, dipanggil oleh modul yang diuji.
  • Driver → Program sementara yang memanggil modul yang diuji.

Misalnya, jika kita menguji Modul A yang bergantung pada Modul B (belum dikembangkan), maka kita membuat stub untuk mensimulasikan Modul B.


Langkah-langkah Melakukan Integration Testing

  1. Mempersiapkan Rencana Pengujian (Test Plan)
  2. Membuat Test Case & Test Data
  3. Menjalankan Test Case & Melaporkan Bug
  4. Memperbaiki dan Menguji Ulang Bug
  5. Mengulang hingga semua modul berhasil diuji

Entry & Exit Criteria dalam Integration Testing

Entry Criteria:

  • Semua modul telah melewati Unit Testing.
  • Semua bug prioritas tinggi telah diperbaiki.
  • Test case dan skenario telah ditandatangani.

Exit Criteria:

  • Semua modul berhasil diuji.
  • Semua bug prioritas tinggi telah diperbaiki.
  • Dokumentasi teknis telah disiapkan.

Best Practices dalam Integration Testing

  • Gunakan strategi yang tepat sesuai dengan kompleksitas proyek.
  • Prioritaskan pengujian pada modul yang kritis terlebih dahulu.
  • Uji setiap antarmuka dengan cermat, termasuk interaksi dengan database dan sistem eksternal.
  • Persiapkan data uji sebelum eksekusi, jangan memilih data secara acak saat testing berjalan.
  • Pastikan bug diperbaiki sebelum masuk ke tahap berikutnya dalam SDLC.

Kesimpulan

  • Integration Testing memastikan bahwa modul perangkat lunak yang telah diuji secara individual dapat bekerja sama dengan benar.
  • Ada berbagai strategi seperti Big Bang, Incremental (Bottom-Up & Top-Down), dan Sandwich Testing.
  • Stubs dan Drivers sering digunakan untuk menggantikan modul yang belum tersedia.
  • Integration Testing yang baik akan mengurangi risiko bug besar saat System Testing dan User Acceptance Testing (UAT).
Fredy Siswanto

Fredy Siswanto

About Author

Leave a Reply

Your email address will not be published. Required fields are marked *

You may also like