Pengujian integrasi adalah proses pengujian perangkat lunak tingkat kedua setelah pengujian unit. Dalam pengujian ini, unit atau komponen individu perangkat lunak diuji secara berkelompok. Fokus dari tingkat pengujian integrasi adalah untuk mengungkap defects pada saat interaksi antara komponen atau unit yang terintegrasi.
Pengujian unit menggunakan modul untuk tujuan pengujian, dan modul-modul ini digabungkan dan diuji dalam pengujian integrasi. Perangkat Lunak ini dikembangkan dengan sejumlah modul perangkat lunak yang dikodekan oleh programmers yang berbeda. Tujuan pengujian integrasi adalah untuk memeriksa kebenaran komunikasi antar semua modul.
Setelah semua komponen atau modul bekerja secara independen, maka kita perlu memeriksa aliran data antar modul dependen yang disebut pengujian integrasi. Mari kita lihat salah satu contoh aplikasi perbankan, seperti yang bisa kita lihat pada gambar jumlah transfer di bawah ini.
- Pertama, kita akan login sebagai pengguna P untuk mentransfer jumlah dan mengirim jumlah Rp. 200.000, pesan konfirmasi akan ditampilkan di layar sebagai jumlah yang berhasil ditransfer. Sekarang logout sebagai P dan login sebagai pengguna Q dan buka halaman jumlah saldo dan periksa saldo di akun itu = Saldo saat ini + Saldo Diterima. Oleh karena itu, uji integrasi berhasil.
- Kami juga memeriksa apakah jumlah saldo telah berkurang sebesar Rp. 200.000 di akun pengguna P.
- Klik transaksi, di P dan Q akan muncul pesan mengenai data dan waktu transfer jumlah.
Pedoman Pengujian Integrasi
- Kami melakukan pengujian integrasi hanya setelah pengujian fungsional selesai pada setiap modul aplikasi.
- Kami selalu melakukan pengujian integrasi dengan memilih modul demi modul sehingga diikuti urutan yang tepat, dan kami juga tidak melewatkan skenario integrasi apa pun.
- Pertama, tentukan strategi kasus uji yang dapat digunakan untuk menyiapkan kasus uji yang dapat dieksekusi berdasarkan data pengujian.
- Periksa struktur dan arsitektur aplikasi dan identifikasi modul penting untuk mengujinya terlebih dahulu dan juga identifikasi semua skenario yang mungkin.
- Rancang kasus uji untuk memverifikasi setiap antarmuka secara detail.
- Pilih data masukan untuk eksekusi kasus uji. Data masukan memainkan peran penting dalam pengujian.
- Jika kami menemukan bug, komunikasikan laporan bug tersebut kepada pengembang dan perbaiki cacat serta pengujian ulang.
- Lakukan pengujian integrasi positif dan negatif.
- Ada beberapa fitur, kami mungkin hanya melakukan pengujian fungsional, dan ada beberapa fitur di mana kami melakukan pengujian fungsional dan integrasi berdasarkan persyaratan fitur tersebut.
- Memprioritaskan itu penting, dan kita harus melakukannya di semua tahapan, yang berarti kita akan membuka aplikasi dan memilih fitur mana yang perlu diuji terlebih dahulu. Lalu masuk ke fitur tersebut dan pilih komponen mana yang harus diuji terlebih dahulu. Buka komponen tersebut dan tentukan nilai apa yang akan dimasukkan terlebih dahulu.
- Dan jangan menerapkan aturan yang sama di mana pun karena logika pengujian bervariasi dari satu fitur ke fitur lainnya.
- Saat melakukan pengujian, kita harus menguji satu fitur secara keseluruhan dan kemudian melanjutkan ke fungsi lainnya.
- Di antara kedua fitur tersebut, kita harus melakukan hanya pengujian integrasi positif atau pengujian integrasi positif dan negatif, dan ini juga bergantung pada kebutuhan fitur.
Alasan Dibalik Pengujian Integrasi
- Setiap modul dirancang oleh pengembang perangkat lunak individual yang logika pemrogramannya mungkin berbeda dari pengembang modul lain; pengujian integrasi menjadi penting untuk menentukan kerja modul perangkat lunak.
- Untuk memeriksa interaksi modul perangkat lunak dengan database apakah salah atau tidak.
- Persyaratan dapat diubah atau ditingkatkan pada saat pengembangan modul. Persyaratan baru ini mungkin tidak diuji pada tingkat pengujian unit sehingga pengujian integrasi menjadi wajib.
- Ketidakcocokan antar modul perangkat lunak dapat menimbulkan kesalahan.
- Untuk menguji kompatibilitas perangkat keras dengan perangkat lunak.
- Jika penanganan pengecualian antar modul tidak memadai, hal ini dapat menimbulkan bug.