Pengertian Integration Testing

Kita semua pasti sudah tahu kalau segala sofware atau aplikasi yang biasa kita gunakan pastinya harus terlebih dahulu melewati yang namanya proses pengecekan supaya kita yang dan seluruh orang yang kelak akan menggunakan aplikasi tersebut tidak dibuat merasa kecewa karena kinerjanya yang tidak sesuai apa yang sudah kita ekspetasikan.

Mungkin sebagian dari kita belum mengetahui dan sedang ingin mengetahui tentang apa saja sih tahapan dari pengecekan software ini? Tepat! Topik yang akan kita bahas kali ini adalah tentang Integration Testing, salah satu tahap dalam pengecekan suatu software atau aplikasi.

Supaya lebih mengetahui apa itu Integration Testing, yuk kita langsung simak saja artikel yang sudah tersedia di bawah ini.

Pengertian Integration Testing

Pengertian Integration Testing

Integration Testing ( IT ) adalah suatu tahap dimana hasil dari pengabungan unit-unit / komponen atau aplikasi yang berinteraksi di dalam software diuji coba. Integration Testing dilakukan setelah unit testing selesai dilakukan dan sebelum system testing dilakukan.

Singkatnya, pengertian dari integration testing adalah tahap atau proses yang dilakukan untuk memverifikasi interaksi yang terjadi antarkomponen yang ada pada perangkat lunak.  

Biasanya penguji software akan menguji bagaimana cara kerja unit-unit aplikasi tersebut ketika sudah dikombinasikan, bukan lagi sebagai suatu single unit atau individual. Integration System ini dilakukan untuk menguji apakah semua komponen yang berinteraksi mampu berjalan dengan baik atau tidak sebelum nantinya akan dirilis versi terbarunya atau dirilis untuk pertama kalinya. Baca Juga: Pengertian Regression Testing

Pada proses integration testing ini, input berbentuk modul- modul yang sebelumnya sudah diuji pada tahap unit testing akan diproses ke dalam sub integration testing (interaction testing, UI testing, dll) untuk kemudian output yang dihasilkan akan diproses lebih lanjut dalam system testing Tester.

Pada tahap Integration Test ini, kita benar-benar melakukan automate testing terhadap aplikasi kita, yaitu dengan cara menjalankan aplikasi kita termasuk  dengan dependensi service dari aplikasi kita, seperti database / service third party, dan sebagainya.

Automate Testing sendiri merupakan sebuah metode pengujian software yang menggunakan suatu Software Testing yang terpisah dari sistem/aplikasi yang sedang diuji dengan tujuan untuk membandingkan antara “output yang sudah dirancang dan diprediksikan” dengan “output yang dihasilkan” oleh sistem setelah pengujian berlangsung.

Tujuan Integration Testing

Jika kita masih saja bertanya-tanya apa sebenarnya tujuan dari melakukan Integration Testing ini, maka berikut adalah tujuan dari dilakukannya 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

Teknik Integration Testing

Dalam melakukan Integration Testing sendiri, ada 3 teknik yang yang klasik  dan paling umum dimana biasanya digunakan oleh seorang Software Tester, di antaranya yaitu :

  • Bigbang Integration Testing
  • Top-down integration testing
  • Bottom-up integration testing

Saat ini, teknik dari integration strategis biasanya berbasis arsitektur, integrasi komponen perangkat lunak atau subsistem secara bertahap menjadi terlibat berdasarkan beberapa fungsi yang dapat kita kenali. 

Pengertian Integration Testing

1. Bigbang Integration Testing

Bigbang Integration Testing merupakan strategi pengujian dimana semua unit yang terkait akan diuji secara sekaligus atau bersamaan, sehingga sistem menjadi sistem yang lengkap.

Dalam Bigbang Integration Testing semua komponen atau unit yang saling terintegrasi antar komponen akan dikumpulkan, untuk kemudian semua komponen tersebut akan diuji secara keseluruhan dengan teliti.

Kelebihan Bigbang Integration Testing

  1. Cocok untuk system yang tidak terlalu besar.
  2. Pengujian dengan metode Big Bang ini memiliki keuntungan bahwa semuanya selesai sebelum pengujian integrasi dimulai.

Kelemahan Bigbang Integration Testing

  1. Sulit digunakan untuk melacak atau menemukan Bug yang ada di dalam system.
  2. Team Tester atau QA hanya akan mendapatkan sedikit waktu, karena semua modul harus sudah terpasang sepenuhnya.
  3. Sulit digunakan untuk menemukan bug pada interface GUI.

2. Top-down Integration Testing

Top-down Integration Testing merupakan metode pengujian dimana tahap-tahapnya berlangsung dari atas ke bawah. Metode ini mengikuti aliran kontrol atau struktur arsitektur (misalnya dimulai dari GUI atau menu utama). Komponen atau sistem yang diganti oleh stub.

Kelebihan Top-down Integration testing

  1. Memudahkan kita untuk melacak bug apabila terjadi kegagalan di sistem yang dirancang.
  2. Memungkinkan kita untuk mendapatkan bentuk atau contoh awal.
  3. Membuat pelacakan cacat desain utama menjadi lebih mudah

Kelemahan Top-down Integration Testing

Meskipun memiliki kelebihan yang lebih banyak dibanding dua teknik Integration Testing lainnya, teknik Top-down Integration Testing tentunya juga memiliki beberapa kekurangan, di antaranya adalah :

  1. Pengujian Fungsi dasar dilakukan pada akhir tahap integration testing
  2. Memiliki lebih banyak versi design yang dibutuhkan

3. Bottom-Up Integration Testing

Sesuai dengan arti namanya, Bottom-Up Integration Testing adalah metode pengujian Integration Testing yang titik awalnya dimulai dari bawah dan berlanjut hingga ke atas.

Kelebihan Bottom-Up Integration Testing

1. Pengujian atau testing oleh QA di dalamnya memiliki ketelitian yang lebih tinggi
2. Bug yang terjadi pada system software yang di buat dapat menjadi lebih mudah untuk ditemukan.

Kelemahan Bottom-Up Integration Testing

1. Modul atau fungsi tertinggi di test paling terakhir
2. Kerangka atau struktur aplikasi belum dapat bisa di lihat

 Bigbang Integration TestingTop-down Integration TestingBottom-Up Integration Testing
Kelebihan- Cocok untuk system yang tidak terlalu besar.
- Semuanya selesai sebelum pengujian integrasi dimulai.
- Memudahkan kita untuk melacak bug.
- Memungkinkan kita untuk mendapatkan contoh awal.
- Membuat pelacakan cacat desain utama menjadi lebih mudah
- Pengujiannya memiliki ketelitian yang lebih tinggi.
- Bug yang terjadi pada system software lebih mudah untuk ditemukan.
Kekurangan- Sulit digunakan untuk melacak atau menemukan Bug.
- Team Tester atau QA hanya akan mendapatkan sedikit waktu
- Sulit digunakan untuk menemukan bug pada interface GUI.
- Pengujian Fungsi dasar dilakukan pada akhir tahap integration testing
- Memiliki lebih banyak versi design yang dibutuhkan
- Modul atau fungsi tertinggi di test paling terakhir
- Kerangka atau struktur aplikasi belum bisa di lihat.

Pengertian Integration Testing

Manfaat Melakukan Integration Testing

  • Integration Testing perlu dilakukan agar kita dapat memverifikasi bagaimana kerja perangkat lunak modul dalam kesatuan. Karena sebuah Modul pada umumnya dirancang oleh pengembang perangkat lunak individu yang pengertian dan logika pemrogramannya bisa jadi berbeda dari programmer lain.
  • Persyaratan baru semacam perubahan persyaratan oleh klien pada saat pengembangan modul mungkin saja tidak bisa dilakukan oleh unit testing  maka sebab itulah integration testing jadi sangat diperlukan.
  • Interface dari modul software dengan database bisa saja membuat beberapa kesalahan yang perlu diperiksa ulang
  • Membuat User Interface dari aplikasi atau website yang ada dapat menjadi lebih user friendly

Kesimpulan

Setelah membaca artikel di atas, akhirnya kita tahu dengan cukup jelas bahwa Integration Testing merupakan salah satu tahap dalam melakukan software testing. Integration Testing menjadi tahap kedua dalam melakukan software testing, dilakukan setelah unit testing dan dilakukan sebelum system testing.

Selain itu kita juga jadi lebih mengetahui tiga metode yang biasa digunakan oleh software tester dalam mengecek suatu sofware, yaitu Bigbang Integration Testing, Top-down integration testing, dan Bottom-up integration testing.

Ketiga metode tersebut memiliki kekurangan dan kelebihannya masing-masing yang mana juga sudah bisa kita baca pada artikel di atas. Artikel di atas juga sudah memuat tentang apa tujuan dan manfaat yang didapat dengan melakukan Integration Testing.

Mungkin saja pengertian tentang Integration Testing yang dituliskan di atas masih memiliki kekurangannya karena mungkin pula software testing akan selalu mengalami perubahan seiring semakin majunya dunia teknologi sekarang.

Namun, semoga apa yang sudah dituliskan di atas dapat bermanfaat untuk kita yang sedang membutuhkan pengetahuan tentang Integration Testing, ya!

Add comment