INTEGRATION TESTING
INTEGRATION TESTING
eMail Addr : [email protected] : [email protected] Contact No : 081318170013
Integration testing (kadang disingkat I&T) adalah suatu
tahapan proses pengujian aplikasi setelah fase unit testing
tahapan proses pengujian aplikasi setelah fase unit testing
dan sebelum system testing.
Pada tahapan integration testing, 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
lanjut dalam system testing
Tester memeriksa bagaimana unit-unit tersebut bekerja
sebagai suatu kombinasi, bukan lagi sebagai suatu unit yang
individual. Misalnya sebuah proses yang dikerjakan oleh dua
function, di mana satu function menggunakan hasil output
dari function yang lainnya.
Pada tahap Integration Testing, Tester memeriksa hasil dari
interaksi kedua function tersebut apakah bekerja sesuai
interaksi kedua function tersebut, apakah bekerja sesuai
dengan hasil yang diharapkan
Tester juga harus memastikan bahwa seluruh kondisi yang
mungkin terjadi dari hasil interaksi antar unit tersebut
menghasilkan output yang diharapkan.
Integration testing menggunakan black-box testing dengan
g
g
gg
g
g
test case ditentukan dari spesifikasi.
`
Mengintegrasikan dan memastikan bahwa setiap modul /
komponen mamp bekerja sebagai sat kesat an
komponen mampu bekerja sebagai satu-kesatuan
`
Berusaha menemukan kesalahan interface (terdiri dari
beberapa modul/komponen pendukung)
`
Di
l k
hi khi i
f
di b
h
`
Diperlukan suatu hirakhi interface disebut graph.
main
main
A
B
C
Umumnya setiap modul/komponen dibuat oleh beberapa
programmer yang berbeda
p g
y g
Umumnya banyak ditemukan kesalahan pada saat integrasi
modul/komponen
Pada beberapa kasus banyak usaha yang dilakukan oleh
tester pada tahapan ini (memakan waktu dan usaha yang
lebih)
Big-bang Integration
Top-down Integration
Bottom-up Integration
Bottom-up Integration
Sandwich Integration
Non-incremental strategy
Setiap modul dites terpisah
diintegrasikan dan dites sebagai satu kesatuan
main test main t t A B C D E F test A test test B test test test C test D main, A, B, C D, E, F test E test F
Keuntungan
cocok untuk pengembangan aplikasi kecil/tidak kompleks
Kerugian
b d l k k d l l h
Integration testing bisa dimulai ketika semua modul telah siap lokalisasi kesalahan sulit dilakukan
Incremental strategy
1. Dimulai dengan modul/komponen level tertinggi
2. Integrate (i.e. replace stub by real module)
test main
g ( p y )
modules called by called by modules in test set.
3. Diulangi sampai satu set modul terbawah berhasil dites test main, A, B C main t t B,C a A B C test main, A, B, C D, E, F D E F
Proses integrasi dapat dilakukan:
test
Termasuk kritikal modul dilakukan pertama Modul yang belum siap bisa diabaikan dahulu
main main test main, A, C A B C test main, A, C, D, E, F D E F test main A B C main, A, B, C D, E, F
Keuntungan
Lokalisasi kesalahan mudah dilakukan
mampu sebagai prototype awal
Mampu menguji modul yang telah siap terlebih dahulu
p
g j
y g
p
Kesalahan major bisa ditemukan di awal (pada level
teratas)
Kerugian
Kemungkinan modul level rendah tidak di tes terlalu
k
Incremental strategy
Modul terendah dites terlebih dahulu
Diulangi sampai satu set modul teratas berhasil dites
main test A B C D E F D test test D,E,A test D E F test main, A, B, C D, E, F test E test test test B test F test C,F
Keuntungan:
lokalisasi kesalahan lebih mudah
Modul dites lebih teliti
Testing dapat dilakukan dalam proses implementasi
g
p
p
p
Kerugian:
d l t ti
i dit
li
khi
modul tertinggi dites paling akhir
Kerangka aplikasi belum bisa dilihat
Kombinasi top-down dan buttom-up
Dibagi tiga tingkatan
Modul teratas dites secara top-down Middle
Modul terbawah dites secara buttom-up
test D test main A B C test main, A, B, D,E,A test E D E F , , , C D, E, F test F testC,F test main test main, A, B, C
Kombinasi top-down dan buttom-up
Dibagi tiga tingkatan
g g
g
Modul teratas dites secara top-down Middle
Modul terbawah dites secara buttom-up test test D test D,E,A A main A B C test main, A, B, C test E test C D E F D, E, F test F testC,F test main test B test main,A,B,C
FinancialService
Transaction Account
test
IntCollection IntCollection,test Rate Rate Money AcctNum
IntCollection test Transaction, test Money Rate,Money, IntCollection test FinancialService, Transaction, Account,Money test Account,Money AcctNum AcctNum,Rate IntCollection test AcctNum
Configuration testing adalah proses pengujian operasi software
apakah mampu berjalan/bekerja secara “normal” terhadap berbagai macam tipe hardware
Normal maksudnya adalah semua fungsi/fitur yang ada pada
software tersebut tidak ada masalah
Konfigurasi tiap hardware berbeda tergantung dari pabrikannya,
PC, setiap manufaktur komputer (Dell, HP, Apple, dll) memiliki
konfigurasi hardware dan software yang berbeda-beda.g y g
Components, banyak PC dibangun oleh komponen-komponen
(motherboard, card device, CD-ROM/DVD, dll) yang berbeda sesuai standar pabrikan (built up) maupun standar individu (rakitan).
Peripherals, adalah peralatan eksternal (keyboard, monitor, mouse,
printer, camera, dll) yang terhubung ke PC
Interfaces, konektor (ISA, PCI, USB, PS/2, RS/232, RJ-11, RJ-45,, ( , , , / , / , J , J ,
Fireware, dll) yang menghubungkan beberapa Komponen dan Periferal ke PC. Ada banyak kemungkinan pabrikan membuat periferal yang sama namun dengan interface yang berbeda.
Options and memory, banyak komponen dan periferal yang dijual
d ilih h d d k i b b d
dengan pilihan hardware dan ukuran memori yang berbeda. Misalnya: Printer bisa diupgrade agar bisa mengenali jenis font tambahan, atau kartu grafis dengan memori yang lebih besar memiliki resolusi warna yang lebih kaya, dan lain sebagainya.y g y , g y
Device Drivers, semua komponen dan periferal berkomunikasi
dengan OS dan aplikasi lain melalui suatu driver. Driver ini umumnya disertakan dengan hardware oleh pabrikan dan akan diinstal saat hardware tersebut diinstal/diset. Meskipun driver secara teknikal termasuk dalam software namun dalam koridor testingmerupakan bagian dari konfigurasi hardware.
Kegiatan pengujian konfigurasi suatu aplikasi
adalah suatu pekerjaan yang besar
Jika ada 100 jenis vga card, 100 jenis sound card, 100 jenis
modem dan 100 jenis printer maka kombinasi pengujian yang j p p g j y g dilakukan adalah 100 x 100 x100 x 100
Jika setiap kombinasi memerlukan waktu pengujian selama 30
menit maka berapa waktu yang dibutuhkan untuk menguji semua kombinasi yang ada ?
Solusinya adalah dengan membuat testcase
menggunakan prinsip
Equivalence Partitioning
Dapat terjadi Bug saat aplikasi diuji pada konfigurasi yang
l i
lain
Dapat terjadi Bug saat aplikasi diuji pada konfigurasi yang
lebih spesifik/level lebih tinggi
Dapat terjadi Bug saat aplikasi akan diubah (update/upgrade)
Dapat terjadi Bug saat spesifikasi (mode/option) device
diubah
diubah
Dapat terjadi Bug karena kondisi tertentu dari device
Langkah membuat testcase dalam configuration Testing:
1. Identifikasi komponen Input dan Output yang akan digunakan dalam suatu aplikasi
2. Definisikan fungsi, model, spesifikasi, mode, option, standar yang berlaku, dan lain sebagainya yang diperlukan dari komponen tersebut
3. Gunakan prinsip equivalence partitioning dalam pemilihan
k ( h ik li k lik i)
komponen (perhatikan lingkungan aplikasi)
Component Test Input/Output
Function ID
Remarks
Printer Output 001, 002, 105
Scanner Output 003, 104
Keyboard Input 103
Touch Screen Input 001, 002, 003
………. ………. ………. ……….
………. ………. ………. ……….