Anda di halaman 1dari 17

PROGRAM STUDI S1 TEKNIK INFORMATIKA

UNIVERSITAS PAMULANG

PERTEMUAN KE-11
INTEGRASI PENGUJIAN
11.1 TUJUAN PEMBELAJARAN :
Adapun tujuan pembelajaran yang akan dicapai sebagai berikut:
❑ Memahami Integration Testing
❑ Memahami Top Down Integration
❑ Memahami Bottom Up Integration
❑ Memahami Regression Testing
❑ Memahami Smoke Testing

InfoTI_unpam informatika.unpam.ac.id
❑ Integration Testing

• Suatu teknik yang sistematis untuk • Terdapat kecenderungan untuk melakukan


pembangunan struktur program, dimana pada integrasi yang tidak secara bertahap, yaitu
saat yang bersamaan melakukan testing untuk dengan menggunakan suatu pendekatan “Big
mendapatkan errors yang diasosiasikan dengan Bang”.
antar-muka. • Pendekatan ini menggabungkan koomponen-
• Obyektifitasnya adalah untuk menindaklanjuti komponen secara bersamaan hingga
komponen- komponen yang telah melalui unit terbentuk suatu program.
testing dan membangun suatu struktur program • Testing dilakukan pada keseluruhan program
sesuai dengan disain yang telah dituliskan secara bersamaan. Dan kekacauan adalah hasil
sebelumnya. (Roger S. Pressman, 2010). yang biasa didapatkan.

InfoTI_unpam informatika.unpam.ac.id
Kesulitan utama yang muncul pada pengujian
integritas adalah: (Ian Sommerville, 2001)
▪ lokalisasi error yang ditemukan pada saat Menggunakan pendekatan “big bang” untuk integrasi merupakan
proses tersebut. strategi yang buruk yang membawa pada kegagalan. Integrasikan
sedikit demi sedikit, dan sementara itu lakukan pengujian.
▪ Terdapat interaksi yang rumit antara komponen
system dan Ketika ditemukan output yang
menyimpang, mungkin sulit untuk menemukan
sumber error tersebut.
Integrasi yang dilakukan secara bertahap
merupakan lawan dari penggunaan strategi “Big
Bang”. Program dikonstruksi dan dites dalam
secara bertahap, meningkat sedikit demi sedikit,
dimana bila terjadi errors dapat dengan mudah
untuk diisolasi dan diperbaiki, antar- muka dapat
dites secara komplit atau paling tidak mendekati
komplit, serta pendekatan tes yang sistematis
dapat digunakan. (Roger S. Pressman, 2010).

Program Studi Teknik Informatika, Universitas Pamulang


Analogi pengujian Integrasi Testing pada Aplikasi Perbankkan:
• Login sebagai pengguna P ke transaksi transfer dan mengirim jumlah
Rp. 200.000.
• Pesan konfirmasi akan ditampilkan di layar sebagai jumlah transfer
berhasil.
• Logout sebagai P dan login sebagai pengguna Q .
• Buka halaman saldo lihat jumlahnya
• Periksa saldo di akun itu = Saldo sekarang + Saldo yang Diterima. Oleh
karena itu, tes integrasi berhasil.
• Memeriksa apakah jumlah saldo berkurang Rp 200.000 di akun
pengguna P.
• Klik transaksi, di P dan Q akan muncul pesan mengenai data dan waktu
transfer jumlah.

Program Studi Teknik Informatika, Universitas Pamulang


Contoh Integrasi Testing Aplikasi Email:
Melakukan pengujian fungsional pada halaman login , yang mencakup berbagai
komponen seperti nama pengguna, kata sandi, tombol kirim, dan batal.
Kemudian hanya kita yang dapat melakukan pengujian integrasi.

Skenario integrasi yang berbeda adalah sebagai berikut:


Skenario 1:
• Login sebagai pengguna P dan klik pada surat Compose dan melakukan
pengujian fungsional untuk komponen tertentu.
• Lalu klik Send dan juga centang Save Drafts .
• Mengirim email ke Q dan memverifikasi di folder Kirim Item dari P untuk
memeriksa apakah email kirim ada di sana.
• Logout sebagai P dan login sebagai Q dan pindah ke Kotak Masuk dan
memverifikasi apakah email telah sampai.
Skenario 2:
• Melakukan pengujian integrasi pada folder Spam . Jika kontak tertentu telah
ditandai sebagai spam, maka semua email yang dikirim oleh pengguna tersebut
harus masuk ke folder spam dan bukan di kotak masuk.

Program Studi Teknik Informatika, Universitas Pamulang


Jenis Pengujian Integrasi

Pengujian integrasi dapat diklasifikasikan menjadi dua bagian:


▪ Incremental integration testing
▪ Non-incremental integration testing
• Dalam Pendekatan Incremental, modul
ditambahkan dalam urutan menaik satu per satu
atau sesuai kebutuhan.
• Modul yang dipilih harus terkait secara logis.
Umumnya, dua atau lebih dari dua modul
ditambahkan dan diuji untuk menentukan
kebenaran fungsi. Proses berlanjut hingga
pengujian semua modul berhasil.
• Dalam jenis pengujian ini, ada hubungan yang kuat
antara modul dependen. Misalkan kita mengambil
dua atau lebih modul dan memverifikasi bahwa
aliran data di antara mereka berfungsi dengan baik.
Jika ya, tambahkan lebih banyak modul dan uji lagi.

Program Studi Teknik Informatika, Universitas Pamulang


Pengujian Integrasi Inkremental (Ian Sommerville, 2001)

• Urutan uji T1, T2, dan T3 pertama dijalan kan pada


system yang terdiri dari modul A dan B (system
minimal). Jika terdapat error maka dilakukan
perbaikan.
• Selanjutnya modul C diintegrasikan dan uji T1, T2,
dan T3 diulang untuk menjamin tidak adanya
interaksi yang tidak diharapkandengan A dan B. Jika
terdapat error maka dilakukan perbaikan.
Selanjutnya urutan uji T4 dijalankan pada system.
• Akhirnya, modul D diintegrasikan dan diuji dengan
menggunakan uji yang telah ada dan yang baru yaitu
T5.
Pengujian 1 Pengujian 2 Pengujian 3

Misalkan kita memiliki aplikasi Flipkart, kita akan melakukan pengujian integrasi inkremental, dan
alur aplikasi akan seperti ini:

Flipkart→ Masuk→ Beranda → Cari→ Tambah keranjang→Pembayaran → Keluar

Program Studi Teknik Informatika, Universitas Pamulang


❑ Top Down Integration
• Pendekatan bertahap untuk menyusun struktur program.
• Modul-modul diintegrasikan dari atas ke bawah dalam suatu hirarki kendali,
dimulai dari modul kendali utama (program utama).
• Modul sub-ordinat dari modul kendali utama dihubungkan ke struktur yang
paling dalam (depth-first integration) atau yang paling luas (breadth-first
integration) dahulu.

• Dalam pendekatan top-down, akan


memastikan bahwa modul yang kita
tambahkan adalah anak dari yang
sebelumnya seperti Anak C adalah anak dari
Anak B dan seterusnya seperti yang kita lihat
pada gambar di samping ini:

Program Studi Teknik Informatika, Universitas Pamulang


• Depth-first integration, akan mengintegrasikan
semua komponen-komponen pada struktur jalur
kendali mayor. Misal dipilih sisi kiri terlebih
dahulu, maka komponen M1, M2, M5 akan
diintegrasikan dahulu, baru kemudian M8 atau
M6 akan diintegrasikan.

• Breadth-first integration, akan mengintegrasikan


semua komponen secara langsung ke tiap tingkat,
bergerak secara horisontal. Contoh komponen
M2, M3 dan M4 akan diintegrasikan dahulu,
kemudian baru M5 dan M6 dan seterusnya.

Program Studi Teknik Informatika, Universitas Pamulang


❑ Bottom Up Integration

• Sesuai namanya, integrasi ini dimulai dari modul terkecil.


• Karena komponen-komponen diintegrasikan dari bawah ke atas, sub-ordinat untuk
tingkat bersangkutan dari komponen selalu diperlukan untuk diproses, dan kebutuhan
terhadap stubs dapat dihilangkan.

Langkah-langkah strategi ini adalah:


1. Komponen level bawah dikombinasikan dalam clusters (kadang disebut builds) yang
mewakili sub-fungsi software tertentu.
2. Driver ditulis untuk koordinasi masukan dan keluaran test case.
3. Cluster dites.
4. Driver dihapus dan cluster dikombinasikan, bergerak ke atas di dalam struktur
program.

Program Studi Teknik Informatika, Universitas Pamulang


Dalam metode bottom-up, akan memastikan bahwa modul yang kami tambahkan
adalah induk dari yang sebelumnya seperti yang dapat kita lihat pada gambar di
bawah ini:

Program Studi Teknik Informatika, Universitas Pamulang


• Komponen dikombinasi untuk membentuk cluster 1, 2 dan
3. Tiap cluster dites dengan menggunakan driver.
Komponen pada cluster 1 dan 2 adalah sub ordinat Ma.
Driver D1 dan D2 dihilangkan dan cluster dihubungkan
langsung ke Ma, demikian seterusnya.
• Saat integrasi semakin bergerak ke atas, kebutuhan akan
test drivers yang terpisah juga akan semakin sedikit. Pada
kenyataannya, jika dua level atas dari struktur program
diintegrasikan dari atas ke bawah, jumlah drivers akan
banyak dikurangi, dan integrasi dari clusters akan sangat
disederhanakan.

Program Studi Teknik Informatika, Universitas Pamulang


❑ Pengujian Regresi

• Gaya pengujian yang berfokus pada pengujian ulang (retesting) setelah ada
perubahan.
• Pada pengujian regresi berorientasi risiko (risk-oriented regression testing),
daerah yang sama yang sudah diuji, akan kita uji lagi dengan pengujian yang
berbeda (semakin kompleks).
Pengujian regresi merupakan
Sederetan pengujian regresi (subset dari pengujian yang dijalankan) berisi tiga sebuah strategi penting untuk
kelas kasus yang berbeda-beda mengurangi efek samping,
✓ Contoh representative dari pengujian yang akan menjalankan semua fungsi dari adanya perubahan-
perangkat lunak. perubahan besar.

✓ Tambahan pengujian yang berfokus pada fungsi perangkat lunak yang mungkin
dipengaruhi oleh perubahan yang terjadi.
✓ Pengujian yang berfokus pada komponen-komponen perangkat lunak yang
telah diubah.

Program Studi Teknik Informatika, Universitas Pamulang


Kapan kita bisa melakukan Pengujian Regresi?

Kita dapat melakukan pengujian regresi setiap kali kode produksi dimodifikasi seperti pada:
1) Ketika fungsionalitas baru ditambahkan ke aplikasi.
Contoh: Sebuah situs web memiliki fungsi login yang memungkinkan pengguna untuk login hanya dengan Email.
Sekarang menyediakan fitur baru untuk melakukan login menggunakan Facebook.
2) Bila ada Persyaratan Perubahan.
Contoh: Ingat kata sandi dihapus dari halaman login yang berlaku sebelumnya.
3) Saat cacat diperbaiki.
Contoh: Saat tombol login tidak berfungsi di halaman login dan penguji melaporkan bug yang menyatakan bahwa
tombol login rusak. Setelah bug diperbaiki oleh pengembang, penguji mengujinya untuk memastikan Tombol Masuk
berfungsi sesuai hasil yang diharapkan. Secara bersamaan, penguji menguji fungsionalitas lain yang terkait dengan
tombol masuk.
4) Ketika ada perbaikan masalah kinerja.
Contoh: Memuat halaman beranda membutuhkan waktu 5 detik, mengurangi waktu buka menjadi 2 detik.
5) Ketika ada perubahan lingkungan.
Contoh: Saat kami memperbarui database dari MySql ke Oracle.

https://www.javatpoint.com/regression-testing

Program Studi Teknik Informatika, Universitas Pamulang


❑ Smoke Testing
• “Pengujian asap” (smoke testing) disebut juga pengujian kenormalan (sanity testing).
• Pengujian ini dilakukan untuk memeriksa apakah aplikasi telah siap untuk dilakukan
pengujian yang lebih besar dan bekerja sampai tingkat yang diharapkan.
• Pengujian asap dirancang sebagai mekanisme untuk proyek-proyek di waktu yang
kritis, yang memungkinkan tim proyek untuk menilai sesering mungkin.
Pendekatan pengujian asap meliputi kegiatan sebagai berikut:
▪ Komponen-komponen perangkat lunak yang telah diterjemahkan ke dalam kode
diintegrasikan kedalam sebuah bangunan (build).
▪ Menyingkap atau menemukan kesalahan yang membuat bangunan tersebut tidak
berfungsi dengan semestinya.
▪ Bangunan di integrasikan dengan bangunan lainnya, dan seluruh produk diuji
asap setiap hari. Pendekatan integrasi dapat dengan top-down-integration atau
bottom-up-integration.

Program Studi Teknik Informatika, Universitas Pamulang


Contoh Smoke Testing:
Misalkan, kita menggunakan situs eCommerce, dan inti kerja situs ini adalah login, pencarian spesifik, menambahkan item ke
keranjang, menambahkan item ke favorit, opsi pembayaran, dll. Di sini kita menguji fungsi untuk menempatkan memesan.
Setelah pengujian, penguji harus yakin tentang berfungsinya fungsi aplikasi.
Langkah pengujian mengacu pada test case yang dibuat sehingga memilki alur seperti dibawah ini:

Program Studi Teknik Informatika, Universitas Pamulang


TERIMA KASIH, MAHASISWA TEKNIK INFORMATIKA UNGGUL, ANDA SUDAH BELAJAR DENGAN LUAR BIASA

Program Studi Teknik Informatika, Universitas Pamulang

Anda mungkin juga menyukai