strategi pengujian perangkat lunak - bahan kuliah-stmik ... · kesalahan juga terlihat pada format...
Post on 28-Mar-2019
225 Views
Preview:
TRANSCRIPT
Strategi Pengujian Perangkat Lunak
(1)Pengujian Perangkat Lunak
Pendekatan Strategis ke pengujian perangkat lunak
Pengujian Unit
Pengujian Integrasi
Pengujian Validasi
Pengujian Sistem
Pengujian Unit
Berfokus pada inti terkecil dari desain perangkat lunak yaitu modul
Biasanya berorientasi pada white box
MODUL Interface
Struktur data lokal
Kondisi Batas
Jalur independen
Jalur penanganan kesalahan
Test Case
Jenis Kesalahan
Kesalahan Tampilan
Kesalahan masukan/keluaran (input /output)
Kesalahan struktur data
Kesalahan aritmatika
Kesalahan perbandingan
Kesalahana logika kendali proses
Kesalahan tampilan
Ujicoba jenis ini diaplikasikan pada bagian program dimana data dan kontrol dilemparkan dari satu modul ke modul lainnya.
Contoh yang paling umum menyertakan pemindahan kontrol proses dari modul ke subrutin atau subprogram.
Objek dari ujicoba adalah untuk menentukan bahwa argumen yang dilemparkan ke subrutin sesuai dengan parameter yang diterima.
Ujicoba diaplikasikan untuk memastikan kesesuaian jumlah field data, atribut (ukuran dan tipe) field data, dan perintah pemindahan dan penerimaan.
Kesalahan masukan dan keluaran
Ujicoba diaplikasikan pada atribut record, termasuk jumlah field, ukuran field, dan tipe data yang terdapat dalam field.
kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci.
Memeriksa kesalahan dalam flagging pada kondisi end-of-file dan proses yang sesuai jika terjadi file null atau empty.
Menghasilkan atau menampilkan output yangseharusnya.
Output ini kemudian diperiksa/disesuaikan dengan spesifikasi modul untuk memastikan bahwa proses yang akurat telah dilaksanakan dan hasil yang diharapkan telah diberikan sesuai dengan format output.
Kesalahan Struktur Data
Ujicoba ini mencari kesalahan dalam penanganan atau pembentukan elemen data yang didefinisikan dan dibangun dalam modul proses.
Contoh dapat menyertakan tabel-tabel atau record sementara yang digunakan untuk pemindahan data.
Ujicoba lainnya dapat berkenaan dengan definisi tabel, termasuk prosedur-prosedur utama danukuran tabel.
4. Pemeriksaan lainnya dilakukan untuk konsistensi pemakaian nama, untuk penginisialisasian counter dan akumulator dan untuk melengkapi spesifikasi data item.
Kesalahan Aritmatika
Hasil dari instruksi perhitungandalam modul diujicobakan untuk menemukan kesalahan termasuk kesalahan pendefinisian instruksi aritmatika.
Untuk setiap data item, ujicoba diaplikasikan untuk memastikan bahwa data sesuai dengan eksekusi instruksi dan hasil akhir yang mrncakup hasil perhitungan
contoh misalkan penggunaan nilai nol tidak dapat digunakan sebagai pembagi. Jika hal tersebut, maka program harus dapat menangani kondisi ini
Kesalahan Perbandingan
Mencari kesalahan yang meliputi presentasi data item yang berbeda tipe atau bentuknya untuk fungsi-fungsi perbandingan.
Sama seperti fungsi ujicoba kesalahan lainnya, idenya adalah untuk menyajikan kondisi-kondisisistem dan memastikan bahwa sistem dapat menangani dan me-recovernya.
Kesalahan Logika
Komputer merupakan mesin sekuensial. Karena itu tidak diperlukan ujicoba khusus untuk fungsikontrol sekuensial
Menetapkan apakah jalur eksekusi yang benar yang dilaksanakan untuk seluruh kondisi yang diujicobakan dan untuk semua nilai dari data item yang diujicoba.
Untuk struktur kontrol pengulangan, ujicoba diaplikasikan untuk memastikan bahwa indexpengulangan telah diinisialisasikan dengan benar dan bahwa nilainya akan meningkat pada setiap iterasinya
Prinsip Pengujian Unit
Ujicoba semua perintah sedikitnya satu kali
Ujicoba semua kemungkinan kombinasi ekseskusiatau jalur logika
Ujicoba seluruh pengulangan meliputi keseluruhan range dari indeks atau subscript-nya
Ujicoba semua titik masukan dan keluaran untuk setiap modul
Check List Pengujian Unit
Checklist untuk pengujian interface
Apakah jumlah parameter input sama dengan jumlah argumen?
Apakah antara atribut dan parameter argumen sudah cocok?
Apakah antara sistem satuan parameter dan argumen sudah cocok?
Apakah jumlah argumen yang ditransmisikan ke modul yang dipanggil sama dengan atribut parameter?
Check List Pengujian Unit
Apakah atribut dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan atribut parameter?
Apakah sistem unit dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan sistem satuan parameter?
Apakah jumlah atribut dan urutan argumen ke fungsi-fungsi built-in sudah benar?
Adakah referensi ke parameter yang tidak sesuai dengan poin entri yang ada?
Apakah argumen input only diubah?
Check List Pengujian Unit
Apakah definisi variabel global konsisten dengan modul ?
Apakah batasan yang dilalui merupakan argumen?
Test case harus didesain untuk mengungkap kesalahandalam kategori
pengetikan yang tidak teratur dan tidak konsisten
inisialisasi yang salah atau nilai-nilai default
Nama variabel yang tidak benar
Tipe data yang tidak konsisten
Underflow, overflow dan pengecualian pengalamatan
Dua Aspek yang dipertimbangkan:• Apakah implementasi sudah sesuai dengan spesifikasi ?
• Apakah spesifikasi sesuai dengan kebutuhan user ?
Validasi• “Apakah sistem yang dikembangkan sudah benar?”
• Pengujian dimana sistem ketika diimplementasikan sesuai dengan yang iharapkan
Verifikasi• “Apakah sistem dikembangkan dengan cara yang benar ?”
• Pengujian apakah sistem sudah sesuai dengan spesifikasi
Seberapa baik sistem yang sudah dibangun ?
Integration testing
Pengujian keseluruhan system atau sub-system yang terdiri dr komponen yg terintegrasi.
Test integrasi menggunakan black-box dengantest case ditentukan dari spesifikasi.
Integrasi program meliputi prosedur-prosedur yang disertakan untuk menghubungkan modul-modul menjadi subsistem maupun sistem lengkap
Pendekatan integration testing
Incremental testing, modul dapat ditambahkan pada modul lainnya untuk ujicoba individual, biasanya berupa penulisan modul baru.
Nonincremental testing, seluruh modul dalam program dapat dibangun terlebih dahulu, kemudiandigabungkan dan diujicobakan sebagai satu entitas, sehingga seluruh interface dalam modul diujicoba dalam satu waktu untuk keseluruhan program.
Incremental integration testing
T3
T2
T1
T4
T5
A
B
C
D
T2
T1
T3
T4
A
B
C
T1
T2
T3
A
B
Test sequence1
Test sequence2
Test sequence3
Pendekatan integration testing
Top-down testing Berawal dari level-atas system dan terintegrasi
dengan mengganti masing-masing komponensecara top-down dengan suatu stub (program pendek yg mengenerate input ke sub-system ygdiuji).
Bottom-up testing Integrasi components di level hingga sistem
lengkap sudah teruji.
Pada prakteknya, kebanyakan test integrasimenggunakan kombinasi kedua strategipengujian tsb.
Top-down testing
Level 2Level 2Level 2Level 2
Level 1 Level 1Testing
sequence
Level 2stubs
Level 3stubs
. . .
Bottom-up testing
Level NLevel NLevel NLevel NLevel N
Level N–1 Level N–1Level N–1
Testingsequence
Testdrivers
Testdrivers
Pendekatan Testing
Architectural validation
Top-down integration testing lebih baik digunakandalam menemukan error dalam sistem arsitektur.
System demonstration
Top-down integration testing hanya membatasipengujian pada awal tahap pengembangan system.
Test implementation
Seringkali lebih mudah dengan menggunakanbottom-up integration testing
Dilakukan kalau module-module dan sub-system terintegrasi dan membentuk sistemyang lebih besar
Tujuannya untuk medeteksi fault terhadapkesalahan interface atau asumsi yg tidak valid terntang interface tsb.
Sangat penting untuk pengujian terhadappengembangan sistem dgn menggunakanpendekatan object-oriented yg didefinisikanoleh object-objectnya
Interface testing
top related