Conendiamedan.or.id – 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
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.
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, x8 Speeder apk 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.
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
- Cocok untuk system yang tidak terlalu besar.
- Pengujian dengan metode Big Bang ini memiliki keuntungan bahwa semuanya selesai sebelum pengujian integrasi dimulai.
Kelemahan Bigbang Integration Testing
- Sulit digunakan untuk melacak atau menemukan Bug yang ada di dalam system.
- Team Tester atau QA hanya akan mendapatkan sedikit waktu, karena semua modul harus sudah terpasang sepenuhnya.
- 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
- Memudahkan kita untuk melacak bug apabila terjadi kegagalan di sistem yang dirancang.
- Memungkinkan kita untuk mendapatkan bentuk atau contoh awal.
- 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 :
- Pengujian Fungsi dasar dilakukan pada akhir tahap integration testing
- 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
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 Rentist.id 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!