Top Banner
Testing dan Implementasi Sistem Teknik Pengujian Perangkat Lunak Pertemuan ke-4
55

Testing&implementasi 4 5

Aug 15, 2015

Download

Technology

aiiniR
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  1. 1. Teknik Pengujian Perangkat Lunak Pertemuan ke-4
  2. 2. Rencana Pengujian (Test Plan) Proses testing Deskripsi fase-fase utama dalam pengujian Pelacakan Kebutuhan Semua kebutuhan user diuji secara individu Item yang diuji Menspesifikasi komponen sistem yang diuji Jadwal Testing Prosedur Pencatatan Hasil dan Prosedur Kebutuhan akan Hardware dan Software Kendala-kendala Mis: kekurangan staff, alat, waktu dll. 2
  3. 3. Proses Defect Testing 3
  4. 4. Test Data dan Test Cases Test data: Input yang yang direncanakan digunakan oleh sistem. Test cases: Input yang digunakan untuk menguji sistem dan memprediksi output dari input jika sistem beroperasi sesuai dengan spesifikasi. 4
  5. 5. Teknik Perangkat Lunak - Pengujian white box - Pengujian black box - Pengujian pada aplikasi berbasis objek
  6. 6. White Box Testing
  7. 7. White Box Testing 7
  8. 8. White Box Testing White Box Testing adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan maka baris baris program, variabel dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki kemudian di-compile ulang. 8
  9. 9. Metode White Box Testing Pengujian Basis Path Pengujian Kondisi Pengujian Loop 9
  10. 10. Pengujian Basis Path Merupakan teknik white box testing yang dikenalkan oleh Tom McCabe [MC76]. Metode identifikasi yang berdasarkan pada jalur, struktur atau koneksi yang ada dari suatu sistem ini biasa disebut juga sebagai branch testing, karena cabang-cabang dari kode atau fungsi logika diidentifikasi dan dites, atau disebut juga sebagai control-flow testing .
  11. 11. Pengujian Basis Path Basis path hadir dalam 2 bentuk, yaitu: Zero Path: Jalur penghubung yang tidak penting atau jalur pintas yang ada pada suatu sistem. One Path: Jalur penghubung yang penting atau berupa proses pada suatu sistem. Konsep utama basis path: Tiap basis path harus diidentifikasi, tidak boleh ada yang terabaikan (setidaknya dites 1 kali). Kombinasi dan permutasi dari suatu basis path tidak perlu dites.
  12. 12. Basis Path Testing Notasi Flow Graph
  13. 13. Perhitungan Cyclomatic Complexity Adalah pengukuran software yang memberikan pengukuran kuantitatif dari kompleksitas logika program. Pada konteks metode pengujian basis path, nilai yang dihitung bagi cyclomatic complexity menentukan jumlah jalur-jalur yang independen dalam kumpulan basis suatu program dan memberikan jumlah tes minimal yang harus dilakukan untuk memastikan bahwa semua pernyataan telah dieksekusi sekurangnya satu kali. Jalur independen adalah tiap jalur pada program yang memperlihatkan 1 kelompok baru dari pernyataan proses atau kondisi baru.
  14. 14. Rumus Cyclomatic Complexity [Region / Complexity] V(G) = E (edges) N (nodes) + 2 V(G) = P (predicate node) + 1
  15. 15. Tahapan Cyclomatic Complexity Tahapan dalam membuat test cases dengan menggunakan cyclomatic complexity: Gunakan disain atau kode sebagai dasar, gambarlah flow graph Berdasarkan flow graph, tentukan cyclomatic complexity Tentukan kelompok basis dari jalur independen secara linier Siapkan test cases yang akan melakukan eksekusi dari tiap jalur dalam kelompok basis
  16. 16. Cyclomatic Complexity Catatan : Beberapa jalur mungkin hanya dapat dieksekusi sebagai bagian dari tes yang lain. Direkomendasikan agar jangan sampai kompleksitas tiap unit / komponen terkecil sistem melebihi nilai 10 [V(G)]. Beberapa praktisi menggunakan nilai rata-rata V(G) dari tiap unit / komponenn terkecil untuk memberikan penilaian kompleksitas
  17. 17. Contoh 1 Do while records remain read record; 2 Calculate proses; 3 If record field 1 = 0 4 Then process record; 5 Store in buffer; Increment counter; 6 Else If record field 2 = 0 7Then reset counter; 8 Else process record; Store in file; 9Endif 10 Endif 11 Enddo End
  18. 18. Hitung V V(G) = E (edges) N (nodes) + 2 = 11 9 + 2 = 4 V(G) = P (predicate node) + 1 Lihat Flow Graph (Contoh) V(G) = 3 + 1 = 4
  19. 19. Jalur Tes Jalur 1 : 111 Jalur 2 : 1-2-3-4-5-10-1-11 Jalur 3 : 1-2-3-6-7-9-10-1-11 Jalur 4 : 1-2-3-6-8-9-10-1-11 Test case jalur (Path) 1 Nilai(record.eof) = input valid, dimana record.eof = true Hasil yang diharapkan : Sistem keluar dari loop dan sub program. Test case jalur (Path) 2 Nilai(field 1) = input valid, dimana field 1 = 0 Nilai(record.eof) = input valid, dimana record.eof = false Nilai(counter) = Nilai(counter) + 1 Hasil yang diharapkan : Sistem melakukan [process record], [store in buffer] dan [increment counter].
  20. 20. Test case jalur (Path) 3 Nilai(field 2) = input valid, dimana field 2 = 0 Nilai(record.eof) = input valid, dimana record.eof = false Nilai(counter) = 0 Hasil yang diharapkan : Sistem melakukan [reset counter]. Test case jalur (Path) 4 Nilai(field 2) = input valid, dimana field 2 0 Nilai(record.eof) = input valid, dimana record.eof = false Hasil yang diharapkan : Sistem melakukan [process record] dan [store in file].
  21. 21. Pengujian Kondisi Merupakan pelengkap dari pengujian Basis Path. Pengujian Kondisi Adalah sebuah metode desain test case yang menggunakan kondisi logis yang ada pada suatu program
  22. 22. Pengujian Kondisi a. Kondisi Sederhana Variabel Boolean atau suatu persamaan hubungan (relasional) IF A = 0 THEN IF A = 1 THEN . IF A = B THEN IF A < B THEN IF A > B THEN IF A = B THEN IF A B THEN
  23. 23. Pengujian Kondisi Persamaan relasional pada Kondisi Sederhana mengambil bentuk : E1 (Operator-relasional) E2 Dimana : - E1 dan E2 merupakan persamaan aritmatika, dan - (Operator-relasional) adalah salah satu dari operator-operator berikut: - , ,
  24. 24. Pengujian Kondisi b. Kondisi Gabungan adalah kondisi yang terdiri dari 2 atau lebih kondisi sederhana, operator boolean, dan tanda kurung Contoh: IF (A > B AND A > C) THEN IF (A > B AND A < C) THEN IF (A > B AND A B OR A > C) THEN IF (A> B OR A < C) THEN IF (A > B OR A