Integrasi Pengujian
Integration testing adalah suatu teknik yang sistematis untuk pembangunan struktur program, dimana pada saat yang bersamaan melakukan testing untuk mendapatkan errors yang diasosiasikan dengan antar-muka. Obyektifitasnya adalah untuk menindaklanjuti komponen- komponen yang telah melalui unit testing dan membangun suatu struktur program sesuai dengan disain yang telah dituliskan sebelumnya.
Terdapat kecenderungan untuk melakukan integrasi yang tidak secara bertahap, yaitu dengan menggunakan suatu pendekatan “Big Bang”. Pendekatan ini menggabungkan koomponen-komponen secara bersamaan hingga terbentuk suatu program. Testing dilakukan pada keseluruhan program secara bersamaan. Dan kekacauan adalah hasil yang biasa didapatkan. Sekumpulan errors akan diperoleh, dan perbaikan sulit dilakukan, karena terjadi komplikasi saat melakukan isolasi terhadap penyebab masalah. Ditambah lagi dengan munculnya errors baru saat errors sebelumnya dibenahi, sehingga menciptakan
suatu siklus yang tak ada hentinya.
Tujuan Integration testing
Memeriksa apakah aplikasi berfungsi sesuai yang dengan apa diharapkan. Memeriksa kinerja dari aplikasi yang dihasilkan. Mengetes kehandalan dari struktur program yang sudah dirancang sebelumnya.
Contoh Test Case :
Pada tahapan integration testing seperti test case di atas, input berupa modul-modul yang telah diuji pada tahapan unit testing, diproses kedalam sub integration testing (interaction testing, UI testing, dll), dan kemudian output yang dihasilkan akan diproses lebih lanjut dalam system testing.
Dalam Integration Testing, Software Tester harus memastikan hasil dari beberapa fungsi tersebut berjalan sesuai yang di harapkan, dan juga Software Tester harus memastikan bahwa output yang di hasil sesuai dengan hasil yang di harapkan.
Teknik Integration Testing
Dalam melakukan Integration Testing terdapat 3 teknik yang sering digunakan oleh SOftware Tester, antara lain:
1. Bigbang Integration Testing
2. Top-down integration testing
3. Bottom-up integration testing
Bigbang Integration Testing
Dalam Bigbang Integration Testing semua komponen atau modul yang terintegrasi secara bersamaan, setelah itu semuanya diuji secara keseluruhan. Sesuai gambar di bawah ini semua modul dari 'Modul 1' ke 'Modul 6' terintegrasi secara bersamaan selanjutnya pengujian akan bisa dilakukan.
Keuntungan Bigbang Integration Testing:
- Cocok untuk sistem yang kecil
Kerugian Bigbang Integration Testing:
- Sulit Melacak Bug apabila terjadi kegagalan di sistem.
- Karena pengujian integrasi dapat dimulai hanya setelah "semua" modul dirancang, tim pengujian akan memiliki sedikit waktu untuk eksekusi dalam tahap uji coba.
- Sulit melacak bug pada interface
Top-down integration testing
Pengujian berlangsung dari atas ke bawah, mengikuti aliran kontrol atau struktur arsitektur (mis mulai dari GUI atau menu utama). Komponen atau sistem yang diganti oleh stub. Berikut adalah diagram dari 'Pendekatan Top down Integration Testing':
Kelebihan Top-down integration testing:
- Lebih mudah melacak bug apabila terjadi kegagalan di sistem.
- Kemungkinan untuk mendapatkan prototipe awal.
- Lebih mudah melacak Cacat desain utama
Kerugian Top-down integration testing:
- Pengujian Fungsi dasar dilakukan di akhir integration testing
- Membutuhkan banyak versi design
Bottom-up integration testing
Pengujian berlangsung dari bawah kontrol mengalir ke atas. Komponen atau sistem yang diganti oleh driver. Berikut adalah gambar dari 'pendekatan Bottom-up integration testing':
Kelebihan Bottom-up integration testing:
- Pengujian bisa lebih teliti
- Lebih mudah melacak bug apabila terjadi kegagalan di sistem
Kerugian Bottom-up integration testing:
- modul tertinggi dites paling akhir
- Kerangka aplikasi belum bisa dilihat
Mengapa Harus melakukan Integration Testing?
- Sebuah Modul pada umumnya dirancang oleh pengembang perangkat lunak individu yang pengertian dan logika pemrograman mungkin berbeda dari programmer lain. Integration Testing menjadi perlu untuk memverifikasi perangkat lunak modul bekerja dalam kesatuan
- Pada saat pengembangan modul, ada kemungkinan macam perubahan persyaratan oleh klien. Persyaratan baru mungkin tidak bisa dilakukan unit testing dan karenanya integration testing sangat diperlukan
- Interface dari modul software dengan database bisa terjadi kesalahan
- Supaya User Interface dari aplikasi atau website user friendly