23
Strategi Pengujian Perangkat Lunak (1) Pengujian Perangkat Lunak

Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

  • Upload
    hakhue

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

Strategi Pengujian Perangkat Lunak

(1)Pengujian Perangkat Lunak

Page 2: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

Pendekatan Strategis ke pengujian perangkat lunak

Pengujian Unit

Pengujian Integrasi

Pengujian Validasi

Pengujian Sistem

Page 3: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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

Page 4: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

Jenis Kesalahan

Kesalahan Tampilan

Kesalahan masukan/keluaran (input /output)

Kesalahan struktur data

Kesalahan aritmatika

Kesalahan perbandingan

Kesalahana logika kendali proses

Page 5: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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.

Page 6: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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.

Page 7: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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.

Page 8: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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

Page 9: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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.

Page 10: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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

Page 11: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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

Page 12: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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?

Page 13: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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?

Page 14: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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

Page 15: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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 ?

Page 16: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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

Page 17: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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.

Page 18: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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

Page 19: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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.

Page 20: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

Top-down testing

Level 2Level 2Level 2Level 2

Level 1 Level 1Testing

sequence

Level 2stubs

Level 3stubs

. . .

Page 21: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

Bottom-up testing

Level NLevel NLevel NLevel NLevel N

Level N–1 Level N–1Level N–1

Testingsequence

Testdrivers

Testdrivers

Page 22: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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

Page 23: Strategi Pengujian Perangkat Lunak - Bahan Kuliah-STMIK ... · kesalahan juga terlihat pada format record, organisasi file, dan penggunaan kunci. Memeriksa kesalahan dalam flagging

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