Anda di halaman 1dari 27

TESTING & IMPLEMENTASI

SISTEM INFORMASI
INTEGRATION TESTING
Integration Testing
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.
Integration Testing (lanjut...)

Pada tahap Integration Testing, Tester memeriksa hasil dari


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
test case ditentukan dari spesifikasi.
Obyektif
 Mengintegrasikan dan memastikan bahwa setiap modul /
komponen mampu bekerja sebagai satu-kesatuan
 Berusaha menemukan kesalahan interface (terdiri dari
beberapa modul/komponen pendukung)
 Diperlukan suatu hirakhi interface disebut graph.

main

A B C

D E F
Fakta
 Umumnya setiap modul/komponen dibuat oleh beberapa
programmer yang 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)
Strategi
Big-bang Integration
Top-down Integration
Bottom-up Integration
Sandwich Integration
Big-bang Integration
 Non-incremental strategy
 Setiap modul dites terpisah
 diintegrasikan dan dites sebagai satu kesatuan

main test
main
A B C test
A
test
D E F B test
test main, A, B, C
C D, E, F
test
D
test
E
test
F
Big-bang Integration (lanjut...)

 Keuntungan
 cocok untuk pengembangan aplikasi kecil/tidak kompleks
 Kerugian
 Integration testing bisa dimulai ketika semua modul telah siap
 lokalisasi kesalahan sulit dilakukan
 mudah melewatkan kesalahan pada interface
Top-Down Integration
 Incremental strategy
1. Dimulai dengan modul/komponen level test
tertinggi main

2. Integrate (i.e. replace stub by real module)


modules called by called by modules in test set.
test
3. Diulangi sampai satu set modul terbawah main, A,
berhasil dites B,C

main
test
main, A, B, C
D, E, F
A B C

D E F
Top-Down Integration (lanjut...)

 Proses integrasi dapat dilakukan:


test
 Termasuk kritikal modul dilakukan pertama main

 Modul yang belum siap bisa diabaikan dahulu

test
main, A, C
main

test
A B C main, A,
C, D, E, F

D E F
test
main, A, B, C
D, E, F
Top-Down Integration (lanjut...)

 Keuntungan
 Lokalisasi kesalahan mudah dilakukan
 mampu sebagai prototype awal
 Mampu menguji modul yang telah siap terlebih dahulu
 Kesalahan major bisa ditemukan di awal (pada level
teratas)

 Kerugian
 Kemungkinan modul level rendah tidak di tes terlalu
akurat
Bottom-Up Integration
 Incremental strategy
 Modul terendah dites terlebih dahulu
 Diulangi sampai satu set modul teratas berhasil dites

main

test
A B C D test
D,E,A

D E F test test
test
E main, A, B,
B
C
D, E, F
test test
F C,F
Bottom-Up Integration (lanjut...)

Keuntungan:
 lokalisasi kesalahan lebih mudah
 Modul dites lebih teliti
 Testing dapat dilakukan dalam proses implementasi

Kerugian:
 modul tertinggi dites paling akhir
 Kerangka aplikasi belum bisa dilihat
Sandwich Integration
 Kombinasi top-down dan bottom-up
 Dibagi tiga tingkatan
 Modul teratas dites secara top-down
 Middle
 Modul terbawah dites secara buttom-up

test
D test
main D,E,A

test test
A B C E main, A, B,
C
test test D, E, F
F C,F
D E F
test
main test
main, A, B, C
Modification Sandwich Integration
 Kombinasi top-down dan buttom-up
 Dibagi tiga tingkatan
 Modul teratas dites secara top-down
 Middle
 Modul terbawah dites secara buttom-up test
A
test
D test
D,E,A
main
test test test
E C main, A, B,
A B C C
test test D, E, F
F C,F
D E F
test
main test
main,A,B,C
test
B
Contoh I&T Module
FinancialService

test
test
Transaction Account IntCollection
IntCollection,
Rate

Rate Money AcctNum

IntCollection test
Transaction,
Rate,Money,
test IntCollection
Money test
FinancialService,
Transaction,
Account,Money
AcctNum,Rate
test IntCollection
Account,Money
AcctNum

test
AcctNum
Contoh Testcase I&T (General)
Configuration Testing
 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
Aspek Konfigurasi
 PC, setiap manufaktur komputer (Dell, HP, Apple, dll) memiliki
konfigurasi hardware dan software yang 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, RJ-45,
Fireware, dll) yang menghubungkan beberapa Komponen dan
Periferal ke PC. Ada banyak kemungkinan pabrikan membuat
periferal yang sama namun dengan interface yang berbeda.
Aspek Konfigurasi
 Options and memory, banyak komponen dan periferal yang dijual
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.
 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.
Fakta Konfigurasi

 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
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
Bug Umum pada Konfigurasi
 Dapat terjadi Bug saat aplikasi diuji pada konfigurasi yang
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
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
komponen (perhatikan lingkungan aplikasi)
4. Uji apakah komponen tersebut pass/fail
Configuration testcase 1

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
………………. ………………. ………………. ……………….
………………. ………………. ………………. ……………….
………………. ………………. ………………. ……………….
Configuration testcase 2
Configuration testcase 3

Testcase ID Component Pass/Fail Remark


Type
THANK YOU

Anda mungkin juga menyukai