Anda di halaman 1dari 19

PENGUJIAN PERANGKAT LUNAK

PENGANTAR REKAYASA PERANGKAT LUNAK


PENGUJIAN PERANGKAT LUNAK

● Pengujian adalah proses menjalankan program dengan maksud khusus


untuk menemukan kesalahan sebelum dikirim ke pengguna akhir.
● “Pengujian merupakan proses dari eksekusi sebuah program dengan tujuan
untuk menemukan kesalahan” Myers
● “Pengujian dapat menunjukkan adanya bugs bukan ketiadannya” -Djikstra

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
BUGS

● Defect • Failure
● Fault • Inconsistency
● Problem • Product Anomaly
● Error
• Product Incidence
● Incident
• Feature
● Anomaly
● Variance

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
ASPEK YANG DIUJI

● Operabilitas (kemampuan pengoperasian)


● Observabilitas (kemampuan untuk mengamati/meneliti)
● Controllability (Kemampuan untuk mengawasi)
● Dekomposabilitas (Kemampuan untuk menyelesaikan)
● Kesederhanaan
● Stabilitas
● Kemudahan untuk dimengerti

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
PELAKU PENGUJIAN PL

● Programmer/ Developer
○ Memahami program yang dibuat
○ Subjektif
○ Waktu terbatas

● Tester Independen
○ Tidak memahami program yang dibuat
○ Objektif
○ Pengetahuan luas dan kreatif mencari kesalahan

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
PENGUJIAN PL YANG BAIK (1)

● Kasus pengujian yang baik adalah yang memiliki probabilitas tinggi untuk
mendeteksi cacat yang belum ditemukan, bukan yang menunjukkan
bahwa program bekerja dengan benar
● Tidak mungkin menguji program yang dibuat sendiri (kecuali skala kecil)
● Tulis kasus uji untuk kondisi input yang valid dan tidak valid.
● Bagian penting dari setiap test case adalah deskripsi dari hasil yang
diharapkan
● Berkaitan dengan verifikasi dan validasi

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
PENGUJIAN PL YANG BAIK (2)

● Periksa hasil setiap tes dengan seksama


● Ketika jumlah cacat yang terdeteksi dalam suatu perangkat lunak meningkat,
kemungkinan keberadaan cacat yang tidak terdeteksi juga meningkat
● Pastikan testabilitas adalah tujuan utama dalam desain perangkat lunak Anda
● Jangan pernah mengubah program untuk membuat pengujian lebih mudah
● Pengujian, seperti hampir setiap kegiatan lainnya, harus dimulai dengan
tujuan

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
LEVEL PENGUJIAN PL

Unit Testing
Integration Testing
Komponen
individual Validation Testing
Komponen
yang bekerja Pengujian System Testing
bersamaan aplikasi Pengujian
berdasarkan secara
kebutuhan menyeluruh
user

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
UNIT TESTING

● Algoritma dan Logika


● Struktur data (global dan local)
● Interface
● Independent paths
● Boundary conditions
● Error handling

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
UNIT TESTING

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
INTEGRATION TESTING (1)

● Satu modul dapat memiliki efek buruk pada modul lainnya


● Subfungsi, ketika digabungkan, mungkin tidak menghasilkan fungsi
utama yang diinginkan
● Ketidaktepatan yang dapat diterima secara individu dalam
perhitungan dapat diperbesar ke tingkat yang tidak dapat diterima

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
INTEGRATION TESTING (2)

● Kesalahan interfacing yang tidak terdeteksi dalam pengujian unit


mungkin muncul
● Masalah waktu (dalam sistem real time) tidak dapat dideteksi oleh
pengujian unit
● Masalah pertentangan sumber daya tidak terdeteksi oleh
pengujian unit

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
PENDEKATAN INTEGRATION TESTING

A A
top module is tested with
stubs

B F G B F G

stubs are replaced one at drivers are replaced one at a


a time, "depth first" time, "depth first"
C C
as new modules are integrated,
some subset of tests is re-run worker modules are grouped into
builds and integrated
D E D E

cluster BOTTOM-UP
TOP-DOWN

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
VALIDATION TESTING

● Pengujian validasi merupakan pengujian kesesuaian dengan requirement


● Menentukan apakah perangkat lunak memenuhi semua persyaratan yang
ditentukan dalam SKPL
● Regression testing dilakukan untuk menentukan apakah perangkat lunak
masih memenuhi semua persyaratannya sehubungan dengan perubahan dan
modifikasi perangkat lunak
● Regression testing melibatkan pengulangan tes validasi yang ada, tidak
mengembangkan tes baru

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
VALIDATION TESTING

Selected path

loop < 20 X

Exhausting Testing SelectiveTesting

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
SYSTEM TESTING

System testing dilakukan pada keseluruhan sistem dalam konteks spesifikasi


kebutuhan sistem atau spesifikasi kebutuhan fungsional atau dalam konteks
keduanya. Pengujian sistem menguji desain dan perilaku sistem dan juga
harapan pelanggan. Ini dilakukan untuk menguji sistem di luar batas yang
disebutkan dalam spesifikasi kebutuhan perangkat lunak (SKPL).

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
STRATEGI SYSTEM TESTING

● Menggunakan strategi alpha dan beta testing


● Mendayagunakan pengguna yang secara aktif terlibat dengan
komitmen untuk memperbaiki cacat yang mereka temukan.

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
ALPHA TESTING VS BETA TESTING

Alpha Testing Beta Testing


• Berada di lingkungan • Perangkat lunak sudah
pengembang perangkat dilepas ke user
lunak • Pengujian secara live di
• Pengguna didampingi oleh lingkungan user
developer • User menguji tanpa
• Developer mencatat hasil pendampingan
pengujian • Hasil pengujian diambil
secara online

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK
FUNGSI ALPHA TESTING BETA TESTING

● Programmer/developer tidak mungkin memperkirakan bagaimana pengguna

akan menggunakan perangkat lunak secara keseluruhan

● Terdapat kemungkinan adanya kesalahpahaman mengartikan instruksi pada

perangkat lunak

● Pengguna mungkin memasukkan input di luar perkiraan programmer

UNIVERSITAS PENDIDIKAN INDONESIA


REKAYASA PERANGKAT LUNAK

Anda mungkin juga menyukai