Teknik Pengujian Software
description
Transcript of Teknik Pengujian Software
TEKNIK PENGUJIAN TEKNIK PENGUJIAN PERANGKAT LUNAKPERANGKAT LUNAK
Software EngineeringSoftware Engineering
BertalyaBertalya
2Teknik Pengujian Per.Lunak@Berta
KENAPA HARUS DIUJI ?KENAPA HARUS DIUJI ?
Kita bukan seorang programmer yg cukup baikKita bukan seorang programmer yg cukup baik Kita mungkin tidak dapat cukup berkonsentrasi Kita mungkin tidak dapat cukup berkonsentrasi
untuk menghindari kesalahanuntuk menghindari kesalahan Kita kadang2 lupa menggunakan pemrograman Kita kadang2 lupa menggunakan pemrograman
terstruktur secara penuh, perancangan atas-bawah terstruktur secara penuh, perancangan atas-bawah utk mendapatkan solusiutk mendapatkan solusi
Kita kadang buruk dalam mengerjakan sesuatuKita kadang buruk dalam mengerjakan sesuatu Kita seharusnya dapat membedakan apa yg Kita seharusnya dapat membedakan apa yg
dikatakan programmer lain atau pelanggan dan apa dikatakan programmer lain atau pelanggan dan apa yg sebenarnya mereka pikirkan yg sebenarnya mereka pikirkan
Kita seharusnya merasa bersalah apabila seseorang Kita seharusnya merasa bersalah apabila seseorang harus menguji koding kitaharus menguji koding kita
Pengujian merupakan suatu perizinan terhadap Pengujian merupakan suatu perizinan terhadap kesalahankesalahan
3Teknik Pengujian Per.Lunak@Berta
DASAR2 PENGUJIAN PERANGKAT LUNAKDASAR2 PENGUJIAN PERANGKAT LUNAK Objektifitas PengujianObjektifitas Pengujian
Test caseTest case yg baik adalah yg mempunyai yg baik adalah yg mempunyai probabilitas yg tinggi untuk menemukan error yg probabilitas yg tinggi untuk menemukan error yg tak diketemukantak diketemukan
Pengujian merupakan suatu proses eksekusi Pengujian merupakan suatu proses eksekusi program yang ditujukan untuk menemukan errorprogram yang ditujukan untuk menemukan error
Uji yg sukses adalah yg dapat ‘membuka’ error Uji yg sukses adalah yg dapat ‘membuka’ error yang tak diketemukanyang tak diketemukan
Dua klas input yg disediakan untuk proses ujiDua klas input yg disediakan untuk proses uji1. konfigurasi software, termasuk 1. konfigurasi software, termasuk Software Software
Requirement Specification, Design Specification Requirement Specification, Design Specification dandan Source code Source code
2.2. konfigurasi uji, termasuk konfigurasi uji, termasuk Test Plan & Test Plan & ProcedureProcedure, perangkat testing yg akan digunakan, , perangkat testing yg akan digunakan, test casetest case dan hasil yg diharapkan dan hasil yg diharapkan
4Teknik Pengujian Per.Lunak@Berta
PERANCANGAN TEST CASEPERANCANGAN TEST CASE
Test caseTest case yg dirancang harus mempunyai yg dirancang harus mempunyai probabilitas yg tinggi untuk menemukan sebuah probabilitas yg tinggi untuk menemukan sebuah error dalam waktu & effort yg minimum.error dalam waktu & effort yg minimum.
Dua metode pendekatan perancangan Dua metode pendekatan perancangan test casetest case1. White Box Testing1. White Box Testing (pada sesuatu yg kecil (pada sesuatu yg kecil
(modul)) berfokus pada struktur kontrol (modul)) berfokus pada struktur kontrol program.program. Dijamin semua Dijamin semua independent pathindependent path (jalur (jalur
bebas) telah dijalankan setidaknya satu kalibebas) telah dijalankan setidaknya satu kali Menjalankan semua keputusan logis pada Menjalankan semua keputusan logis pada
sisi true & falsesisi true & false Menjalankan semua loopingMenjalankan semua looping Melakukan struktur data internal untuk Melakukan struktur data internal untuk
menjamin validitasmenjamin validitas
5Teknik Pengujian Per.Lunak@Berta
PERANCANGAN TEST CASE (lanj.)PERANCANGAN TEST CASE (lanj.)
2.2. Black Box TestingBlack Box Testing (yang besar) berfokus pada (yang besar) berfokus pada kebutuhan fungsional software, memungkinkan kebutuhan fungsional software, memungkinkan perancang untuk memperoleh kondisi2 input yg perancang untuk memperoleh kondisi2 input yg secara penuh menguji semua kebutuhan secara penuh menguji semua kebutuhan fungsional suatu programfungsional suatu program
6Teknik Pengujian Per.Lunak@Berta
WHITE BOX TESTING : Basis Path WHITE BOX TESTING : Basis Path TestingTesting
Metode pertama yg diusulkan oleh Tom McCabe Metode pertama yg diusulkan oleh Tom McCabe (1976). Metode ini memungkinkan perancangan (1976). Metode ini memungkinkan perancangan memperoleh pengukuran yang kompleksitas dari memperoleh pengukuran yang kompleksitas dari perancangan prosedural dan menggunakan perancangan prosedural dan menggunakan pengukuran ini sebagai pedoman pendefinisian pengukuran ini sebagai pedoman pendefinisian sekumpulan basis dari jalur eksekusisekumpulan basis dari jalur eksekusi
Perangkat yang digunakanPerangkat yang digunakan1. Notasi 1. Notasi Flow GraphFlow Graph atau atau Program GraphProgram Graph
Contoh :Contoh : - sequence- sequence - if- if
- until- until
7Teknik Pengujian Per.Lunak@Berta
BASIS PATH TESTINGBASIS PATH TESTING
2.2. Cyclomatic ComplexityCyclomatic Complexity, merupakan pengukuran , merupakan pengukuran per.lunak yang menyediakan pengukuran per.lunak yang menyediakan pengukuran kuantitatif dari kompleksitas logis suatu kuantitatif dari kompleksitas logis suatu program. Nilai program. Nilai cyclomatic complexitycyclomatic complexity mendefinisikan jumlah jalur bebas pada basis mendefinisikan jumlah jalur bebas pada basis program. program.
3.3. Independent pathIndependent path (jalur bebas) merupakan (jalur bebas) merupakan jalur pada program yg menunjukkan setidaknya jalur pada program yg menunjukkan setidaknya satu kumpulan pernyataan pemrosesan baru satu kumpulan pernyataan pemrosesan baru atau kondisi baru.atau kondisi baru.
Langkah2 Langkah2 Basis Path TestingBasis Path Testing-- gunakan rancangan atau kode sebagai pondasi, lalu gunakan rancangan atau kode sebagai pondasi, lalu
gambarkan gambarkan flow graphflow graph-- tentukan tentukan cyclomatic complexitycyclomatic complexity, dinyatakan V(G) dari , dinyatakan V(G) dari
flow graphflow graph-- tentukan sekumpulan basis secara linear jalur bebastentukan sekumpulan basis secara linear jalur bebas-- persiapkan persiapkan test casetest case yg akan memperkuat eksekusi yg akan memperkuat eksekusi
setiap jalur pada sekumpulan basis programsetiap jalur pada sekumpulan basis program
8Teknik Pengujian Per.Lunak@Berta
BASIS PATH TESTINGBASIS PATH TESTING
3.3. Graph MatrixGraph Matrix merupakan matriks persegi merupakan matriks persegi 4 dimana sisi2nya sama dengan jumlah node 4 dimana sisi2nya sama dengan jumlah node pada flow graphpada flow graph
9Teknik Pengujian Per.Lunak@Berta
BLACK BOX TESTINGBLACK BOX TESTING Merupakan metode pelengkap Merupakan metode pelengkap White Box TestingWhite Box Testing. .
Berfokus pada kebutuhan fungsional dari per.lunak.Berfokus pada kebutuhan fungsional dari per.lunak. Memungkinkan perancang untuk memperoleh Memungkinkan perancang untuk memperoleh
sekumpulan kondisi2 input yg secara penuh menguji sekumpulan kondisi2 input yg secara penuh menguji semua kebutuhan fungsional suatu programsemua kebutuhan fungsional suatu program
Metode ini berusaha menemukan kesalahan yg Metode ini berusaha menemukan kesalahan yg termasuk kategori di bawah initermasuk kategori di bawah ini
- - fungsi2 yg hilang atau tidak benarfungsi2 yg hilang atau tidak benar
-- kesalahan pada antarmukakesalahan pada antarmuka
-- kesalahan pada struktur data atau pengaksesan kesalahan pada struktur data atau pengaksesan database ekternaldatabase ekternal
-- kesalahan pada performancekesalahan pada performance
-- kesalahan pada inisialisasi dan terminasikesalahan pada inisialisasi dan terminasi
10Teknik Pengujian Per.Lunak@Berta
CONTOH LAINCONTOH LAIN
Contoh lain Contoh lain White Box TestingWhite Box Testing atau atau Control Control Structure TestingStructure Testing adalah adalah1.1. Condition TestingCondition Testing, menjalankan kondisi , menjalankan kondisi
logis yang terdapat pada modul programlogis yang terdapat pada modul program2.2. Data Flow TestingData Flow Testing, metode yg , metode yg
menyeleksi jalur test program menurut lokasi menyeleksi jalur test program menurut lokasi pendefinisian & menggunakan variabel2 pendefinisian & menggunakan variabel2 programprogram
3.3. Loop TestingLoop Testing, berfokus pada validitas , berfokus pada validitas dari bentuk loop (dari bentuk loop (simple loop, concatenated simple loop, concatenated loop, nested loop, unstructured looploop, nested loop, unstructured loop))
11Teknik Pengujian Per.Lunak@Berta
CONTOH LAINCONTOH LAIN
Contoh lain Contoh lain Black Box TestingBlack Box Testing adalah adalah1.1. Equivalence PartitioningEquivalence Partitioning, membagi , membagi
domain input dari program ke dalam klas2 domain input dari program ke dalam klas2 datadata
2.2. Boundary Value AnalysisBoundary Value Analysis (BVA) (BVA) melengkapi Equivalence Partitioning, dengan melengkapi Equivalence Partitioning, dengan melakukannya dari domain outputmelakukannya dari domain output
3.3. Cause-effect GraphingCause-effect Graphing, memvalidasi , memvalidasi aksi2 & kondisi yg kompleksaksi2 & kondisi yg kompleks