Teknik Pengujian Software

11
TEKNIK PENGUJIAN PERANGKAT TEKNIK PENGUJIAN PERANGKAT LUNAK LUNAK Software Engineering Software Engineering Bertalya Bertalya

description

Pengujian teknik software

Transcript of Teknik Pengujian Software

Page 1: Teknik Pengujian Software

TEKNIK PENGUJIAN TEKNIK PENGUJIAN PERANGKAT LUNAKPERANGKAT LUNAK

Software EngineeringSoftware Engineering

BertalyaBertalya

Page 2: Teknik Pengujian Software

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

Page 3: Teknik Pengujian Software

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

Page 4: Teknik Pengujian Software

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

Page 5: Teknik Pengujian Software

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

Page 6: Teknik Pengujian Software

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

Page 7: Teknik Pengujian Software

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

Page 8: Teknik Pengujian Software

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

Page 9: Teknik Pengujian Software

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

Page 10: Teknik Pengujian Software

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))

Page 11: Teknik Pengujian Software

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