Thursday, March 30, 2017

Pengertian Integration Testing

Integration Testing adalah pengujian hasil dari pengabungan unit-unit / komponen yang berinteraksi di dalam software. Biasanya software tester menguji bagaimana unit-unit tersebut bekerja
sebagai suatu kombinasi, bukan lagi sebagai suatu unit yang individual.

Contoh nya di dalam test case dibawah:

ID OBjective Description Expected Result
1 Check Login Input Username dan Password yang benar lalu klik button login Masuk ke dalam home
2 Check Logout Klik Button Logout Kembali ke halaman login dan Sesion Terputus

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.

Baca Juga: Jenis-Jenis Testing Software QA

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:
  • Bigbang Integration Testing
  • Top-down integration testing
  • 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: 
  • Cocok untuk sistem yang kecil
Kerugian:
  • 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:
  • Lebih mudah melacak bug apabila terjadi kegagalan di sistem.
  • Kemungkinan untuk mendapatkan prototipe awal.
  • Lebih mudah melacak Cacat desain utama 
Kerugian:
  • 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:
  • Pengujian bisa lebih teliti
  • Lebih mudah melacak bug apabila terjadi kegagalan di sistem
Kerugian:
  • 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 


EmoticonEmoticon