INTEGRATION TESTING
eMail Addr Contact No
:
[email protected] :
[email protected] : 081318170013
Integration testing (kadang disingkat I&T) adalah suatu 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 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, 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 g testing g menggunakan gg black-box testing g dengan g test case ditentukan dari spesifikasi.
` Mengintegrasikan dan memastikan bahwa setiap modul / komponen mamp mampu bekerja sebagai sat satu-kesatuan kesat an ` Berusaha menemukan kesalahan interface (terdiri dari beberapa modul/komponen pendukung) ` Diperlukan Di l k suatu hirakhi hi khi iinterface f di disebut b graph. h main A D
B
E
C
F
Umumnya setiap modul/komponen dibuat oleh beberapa programmer p g yang y g berbeda 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 Sandwich Integration
Non-incremental strategy Setiap modul dites terpisah diintegrasikan dan dites sebagai satu kesatuan main
A
D
B
E
test main ttestt A
C
F
test C
test B test D
test E
test F
test main, A, B, C D, E, F
Keuntungan cocok untuk pengembangan aplikasi kecil/tidak kompleks
Kerugian Integration testing bisa b d dimulai l k ketika k semua modul d l telah l h siap lokalisasi kesalahan sulit dilakukan mudah melewatkan kesalahan pada interface
Incremental strategy 1. Dimulai dengan modul/komponen level tertinggi
test main
g (i.e. ( replace p stub by y real module)) 2. Integrate modules called by called by modules in test set. 3. Diulangi sampai satu set modul terbawah berhasil dites
main a
A
D
B
E
test main, A, BC B,C
t t test main, A, B, C D, E, F C
F
Proses integrasi dapat dilakukan: Termasuk kritikal modul dilakukan pertama
test main
Modul yang belum siap bisa diabaikan dahulu test main, A, C main
A
D
B
E
test main, A, C, D, E, F
C
F
test main A main, A, B B, C D, E, F
Keuntungan Lokalisasi kesalahan mudah dilakukan mampu sebagai prototype awal
Mampu p menguji g j modul y yang g telah siap p terlebih dahulu Kesalahan major bisa ditemukan di awal (pada level teratas) Kerugian
Kemungkinan modul level rendah tidak di tes terlalu k akurat
Incremental strategy Modul terendah dites terlebih dahulu
Diulangi sampai satu set modul teratas berhasil dites main
A
D
B
E
test D
C
F
test E
test F
test D,E,A test B test C,F
test main, A, B, C D, E, F
Keuntungan: lokalisasi kesalahan lebih mudah Modul dites lebih teliti
Testing g dapat p dilakukan dalam proses p implementasi p Kerugian:
modul d l ttertinggi ti i dit dites paling li akhir khi
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 main
A
B
test E
C
test F D
E
test D,E,A
F
test main
test C,F test main, A, B, C
test main,, A,, B,, C D, E, F
Kombinasi top-down dan buttom-up Dibagi g tiga g tingkatan g
Modul teratas dites secara top-down Middle Modul terbawah dites secara buttom-up test D
test A test D,E,A
main
test E A
D
B
E
C
test F F
test main
test C test C,F
test main,A,B,C
test main, A, B, C D, E, F
test B
FinancialService
Transaction
Rate
test IntCollection
Account
Money
test IntCollection, Rate
AcctNum
IntCollection test Money
test Transaction, Rate,Money, IntCollection
test Account,Money AcctNum
test AcctNum
test FinancialService, Transaction, Account,Money AcctNum,Rate IntCollection
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, perhatikan standar minimal hardware tersebut
PC, setiap manufaktur komputer (Dell, HP, Apple, dll) memiliki konfigurasi g hardware dan software y yang g berbeda-beda. 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, J , RJ-45, 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 dengan pilihan ilih h d hardware d dan ukuran k memorii yang berbeda. b b d Misalnya: Printer bisa diupgrade agar bisa mengenali jenis font tambahan, atau kartu grafis dengan memori yang lebih besar memiliki resolusi warna y yang g lebih kaya, y , dan lain sebagainya. 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 printer maka kombinasi p pengujian g j y yang g modem dan 100 jjenis p 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 Dapat terjadi Bug karena kondisi tertentu dari device manufacture (waktu pakai, dll)
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 k komponen ( (perhatikan h ik lingkungan li k aplikasi) lik i) 4. Uji apakah komponen tersebut pass/fail
dalam
pemilihan
Component Test Printer Scanner Keyboard Touch Screen ………………. ………………. ……………….
Input/Output Output Output Input Input ………………. ………………. ……………….
Function ID
001, 002, 105 003, 104 103 001, 002, 003 ………………. ………………. ……………….
Remarks
………………. ………………. ……………….
Testcase ID
Component Type
Pass/Fail
Remark