SlideShare a Scribd company logo
1 of 39
Download to read offline
PENGUJIAN PERANGKAT LUNAK
OLEH: ADAM MUKHARIL BACHTIAR
Apa itu pengujian perangkat lunak?
Proses menelusuri dan mempelajari sebuah
program dalam rangka menemukan kesalahan
pada perangkat lunak sebelum diserahkan kepada
pengguna.
Sumber: Software Engineering, Roger S. Pressman 7th edition
errors
requirements conformance
performance
an indication
of quality
Apa saja yang diperiksa?
“Pengujian yang baik bukan untuk memastikan
tidak ada kesalahan tetapi mencari sebanyak
mungkin kesalahan”
MANUAL TESTING
Pengujian perangkat lunak dimana proses pengujian dieksekusi manual oleh QA (Quality Assurance)
Analyst. Tujuannya untuk menemukan bugs ketika perangkat lunak sedang under development.
AUTOMATED TESTING
Pengujian perangkat lunak dimana tester menuliskan kode/script pengujian untuk mengautomasi
eksekusi pengujian. Tester menggunakan alat bantu automasi untuk mendevelop script pengujian dan
memvalidasi perangkat lunak.
Pendekatan Pengujian Perangkat Lunak
“Pengujian dilakukan untuk dua hal dalam sebuah
perangkat lunak, yaitu pengujian fungsional dan
non-fungsional.”
Subsystem
Code
Functional
Integration
Unit
Tested
Subsystem
Requirements
Analysis
Document
System
Design
Document
Tested Subsystem
Test Test
Test
Unit
Test
Unit
Test
User
Manual
Requirements
Analysis
Document
Subsystem
Code
Subsystem
Code
Functioning
System
Integrated
Subsystems
Tested
Subsystem
DIUJI OLEH
DEVELOPER
Aktivitas dan strategi pengujian (1)
Aktivitas dan strategi pengujian (2)
Global
Requirements
User’s understanding
Performance Acceptance
Client’s
Understanding
of Requirements
Test Test
Installation
User
Environment
Test
System in
Use
Usable
System
Validated
System
Accepted
System
DIUJI OLEH
DEVELOPER DIUJI OLEH
PENGGUNA
DIUJI OLEH KLIEN
“Aktivitas dan strategi pengujian bisa disesuaikan
dengan kebutuhan pengujian. Functional dan
performance test mewakili uji fungsional dan
non-fungsional.”
Unit Testing
UNIT TESTING
Pengujian untuk memverifikasi apakah
suatu bagian program yang kecil dan
terisolasi itu benar.
MANUAL
UNIT TESTING
AUTOMATED
UNIT TESTING
OK, karena expected value sama
dengan hasil return value dari
tambah_bil(2,3)
Library untuk automasi testing
Modul yang mau diuji
Unit yang mau diuji
Percobaan valid
Pemanggilan unit
untuk kasus 2 + 3
Expected Value
“Pengujian harus dilakukan menggunakan test
case yang valid maupun tidak valid. Jumlah test
untuk test case tidak valid berjumlah lebih
banyak dibanding jumlah test untuk test case
valid.”
validasi_username.py
validasi_username_test.py
Uji dengan Parameter yang Valid
Uji dengan Parameter yang
Tidak Valid
“Memilih parameter uji harus dilakukan dengan jeli
agar proses pengujian makin baik hasilnya.
Diharapkan tester mampu menemukan Edge
Cases dalam memilih test case.”
EDGE CASES
Edge cases are inputs to our code that
produce unexpected results, and
are found at the extreme ends of the
ranges of input we imagine our
programs will typically work with.
Valid Data
Ilustrasi Edge Cases/Limit Testing
Integration
Testing
INTEGRATION TESTING
Pengujian terhadap koleksi unit yang
bekerja atau berinteraksi dalam sebuah
fungsional.
tambah_bil()
kurang_bil()
kali_bil()
bagi_bil()
ILUSTRASI INTEGRATION TESTING
Hitung 3 x 2 + 1 / 2 - 10 =
Pendekatan Integration Testing
top module is tested with
stubs
stubs are replaced one at
a time, "depth first"
as new modules are integrated,
some subset of tests is re-run
A
B
C
D E
F G
drivers are replaced one at a
time, "depth first"
worker modules are grouped into
builds and integrated
A
B
C
D E
F G
cluster
TOP-DOWN BOTTOM-UP
METODE
TESTING
White Box
Sering juga disebut clear-box atau transparent testing dimana pengujian ini bergantung pada
pengetahuan dari tester tentang bagaimana suatu kode program bekerja dalam sebuah program dan
juga melihat apakah kode program tersebut menghasilkan keluaran sesuai ekspektasi atau tidak.
Black Box
Pengujian dimana tester membentuk test case berdasarkan spesifikasi kebutuhan (untuk melihat
ekspektasi output dari suatu fungsi) tanpa mengetahui kode programnya.
Metode Testing
Ilustrasi White Box Testing
Ilustrasi Black Box Testing
Catatan: Selain digunakan untuk menguji kebutuhan fungsional, Black box testing bisa digunakan
untuk menguji kebutuhan non-fungsional (misal: performance testing)
Performance Testing
Salah satu bentuk pengujian non-fungsional dan berkaitan dengan Faktor Kualitas Perangkat Lunak
“Baik black box maupun white box, kedua metode
tersebut akan membandingkan hasil output dari
perangkat lunak terhadap ekpektasi output (baik
secara kode program atau spesifikasi kebutuhan)”
No. Kasus Uji
Hasil yang
Diharapkan
Hasil Sesuai Uji
Kasus
Keterangan
[ ] Diterima
[ ] Ditolak
Dokumentasi Hasil Pengujian
Jumlah kasus uji
tergantung metode Kasus uji/Test Cases sesuaikan dengan metode.
Diterima jika hasil yang diharapkan sama dengan hasil
sesuai uji kasus begitu pun sebaliknya
No. Kasus Uji Hasil yang Diharapkan Hasil Sesuai Uji Kasus Keterangan
1 Valid test:
Username = “budisetiawan”
Minlen = 3
Fungsi untuk test case ini
menghasilkan nilai True
Hasil uji menghasilkan True [ X ] Diterima
[ ] Ditolak
2 Invalid Test:
Username = “Ani”
Minlen = 5
Fungsi untuk test case ini
menghasilkan nilai True
karena username tidak
memenuhi panjang minlen
Hasil uji menghasilkan True [ X ] Diterima
[ ] Ditolak
.. .. .. .. ..
4 Invalid Test:
Username = “kikipriyana”
Minlen = 0
Fungsi untuk test case ini
harus menangkap error
berupa ValueError karena
minlen < 1
Hasil uji menangkap error berupa
Value Error dengan pesan error
“Panjang minimum username
minimum 1”
[ X ] Diterima
[ ] Ditolak
Contoh Hasil Pengujian White Box
Kasus mengacu kepada kode program validasi_username.py (lihat slide halaman 17 dan 18)
Kesimpulan pengujian: n buah test case lolos uji
Bukti Hasil Pengujian White Box
4 Test Cases bernilai OK
“Jumlah kasus uji yang harus disiapkan pada
metode white box dihitung menggunakan
Cyclomatic Complexity.”
Catatan: Metode perhitungan Cyclomatic Complexity akan dibahas pada mata kuliah “Kualitas dan
Pengujian perangkat lunak”.
Contoh Hasil Pengujian Black Box
Jika username valid maka halaman isi password
akan muncul dan apabila tidak valid maka akan
muncul pesan kesalahan sesuai kesalahannya
No. Kasus Uji Hasil yang Diharapkan Hasil Sesuai Uji Kasus Keterangan
1 Valid test:
Username = “budisetiawan”
Setelah mengisi username
maka akan muncul halaman isi
password
Halaman isi password muncul [ X ] Diterima
[ ] Ditolak
2 Invalid Test:
Username = “Ani”
Setelah klik tombol Log In
maka akan muncul pesan
kesalahan bahwa username
kurang dari 5 huruf
Muncul pesan kesalahan
“Username kurang dari 5 huruf”
[ X ] Diterima
[ ] Ditolak
.. .. .. .. ..
4 .. .. .. ..
Contoh Hasil Pengujian Black Box
Kasus mengacu kepada gambar pada slide halaman 35
Kesimpulan pengujian: n buah kasus uji lolos uji
Bukti Hasil Pengujian Black Box
Username kurang dari 5 huruf
“Dalam suatu pengujian unit, unit bisa diuji
menggunakan metode white box atau black box
(cukup salah satunya). Bisa seragam atau hybrid.”

More Related Content

What's hot

Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlineandiseprianto
 
metode-pengujian-blackbox
 metode-pengujian-blackbox metode-pengujian-blackbox
metode-pengujian-blackboxIwan Kurniarasa
 
Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)Adam Mukharil Bachtiar
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Aprioridedidarwis
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerAuliaa Oktarianii
 
Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)Adam Mukharil Bachtiar
 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4aiiniR
 
Data Management (Basis Data Berbasis Dokumen)
Data Management (Basis Data Berbasis Dokumen)Data Management (Basis Data Berbasis Dokumen)
Data Management (Basis Data Berbasis Dokumen)Adam Mukharil Bachtiar
 
RPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat LunakRPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat LunakAdam Mukharil Bachtiar
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
 
Data Mining - Naive Bayes
Data Mining - Naive BayesData Mining - Naive Bayes
Data Mining - Naive Bayesdedidarwis
 
Proses rekayasa perangkat lunak
Proses rekayasa perangkat lunakProses rekayasa perangkat lunak
Proses rekayasa perangkat lunakDavy Arya Atmaja
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Dokumen Test Plan
Dokumen Test Plan Dokumen Test Plan
Dokumen Test Plan EM Nasrul
 
Software Engineering 1 (Introduction of Software Engineering)
Software Engineering 1 (Introduction of Software Engineering)Software Engineering 1 (Introduction of Software Engineering)
Software Engineering 1 (Introduction of Software Engineering)Adam Mukharil Bachtiar
 
Tugas IMK : Ragam Dialog
Tugas IMK : Ragam DialogTugas IMK : Ragam Dialog
Tugas IMK : Ragam DialogPio
 
Materi Kecerdasan Buatan
Materi Kecerdasan BuatanMateri Kecerdasan Buatan
Materi Kecerdasan BuatanMArifKamal2
 

What's hot (20)

Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
metode-pengujian-blackbox
 metode-pengujian-blackbox metode-pengujian-blackbox
metode-pengujian-blackbox
 
Mini Google Design Sprint
Mini Google Design SprintMini Google Design Sprint
Mini Google Design Sprint
 
Laporan analisis sistem informasi
Laporan analisis sistem informasiLaporan analisis sistem informasi
Laporan analisis sistem informasi
 
Pertemuan 5 Perencanaan Testing
Pertemuan 5 Perencanaan TestingPertemuan 5 Perencanaan Testing
Pertemuan 5 Perencanaan Testing
 
Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Apriori
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)
 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4
 
Data Management (Basis Data Berbasis Dokumen)
Data Management (Basis Data Berbasis Dokumen)Data Management (Basis Data Berbasis Dokumen)
Data Management (Basis Data Berbasis Dokumen)
 
RPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat LunakRPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat Lunak
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Data Mining - Naive Bayes
Data Mining - Naive BayesData Mining - Naive Bayes
Data Mining - Naive Bayes
 
Proses rekayasa perangkat lunak
Proses rekayasa perangkat lunakProses rekayasa perangkat lunak
Proses rekayasa perangkat lunak
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Dokumen Test Plan
Dokumen Test Plan Dokumen Test Plan
Dokumen Test Plan
 
Software Engineering 1 (Introduction of Software Engineering)
Software Engineering 1 (Introduction of Software Engineering)Software Engineering 1 (Introduction of Software Engineering)
Software Engineering 1 (Introduction of Software Engineering)
 
Tugas IMK : Ragam Dialog
Tugas IMK : Ragam DialogTugas IMK : Ragam Dialog
Tugas IMK : Ragam Dialog
 
Materi Kecerdasan Buatan
Materi Kecerdasan BuatanMateri Kecerdasan Buatan
Materi Kecerdasan Buatan
 

Similar to Pengujian Perangkat Lunak

software testing (black box testing) -- irma darmayanti
software testing (black box testing) -- irma darmayantisoftware testing (black box testing) -- irma darmayanti
software testing (black box testing) -- irma darmayantiIrma Darmayanti
 
Software Testing.pptx
Software Testing.pptxSoftware Testing.pptx
Software Testing.pptxSudirman45
 
Testing&implementasi 3
Testing&implementasi 3Testing&implementasi 3
Testing&implementasi 3aiiniR
 
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptxSlide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptxYessiSofia1
 
M K P L Pertemuan5
M K P L  Pertemuan5M K P L  Pertemuan5
M K P L Pertemuan5Mrirfan
 
Mkpl Pertemuan5
Mkpl Pertemuan5Mkpl Pertemuan5
Mkpl Pertemuan5Mrirfan
 
Coding
CodingCoding
CodingDWC
 
Blackbox And Whitebox Testing
Blackbox And Whitebox TestingBlackbox And Whitebox Testing
Blackbox And Whitebox TestingAnsviaLab
 
Strategi pengujian perangkat lunak
Strategi pengujian perangkat lunakStrategi pengujian perangkat lunak
Strategi pengujian perangkat lunakArdha Herdianto
 
Paper Review - Metodologi Testing
Paper Review - Metodologi TestingPaper Review - Metodologi Testing
Paper Review - Metodologi TestingAgung Sulistyanto
 
Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1Fendi Hidayat
 
Bab 5 pengujian_perangkat_lunak
Bab 5 pengujian_perangkat_lunakBab 5 pengujian_perangkat_lunak
Bab 5 pengujian_perangkat_lunakAdie Suryadi
 
Slideshow PowerPoint Software Testing
Slideshow PowerPoint Software TestingSlideshow PowerPoint Software Testing
Slideshow PowerPoint Software TestingMoch. Nor Kholis
 
Pertemuan 04 Software Testing Techniques
Pertemuan 04     Software  Testing  TechniquesPertemuan 04     Software  Testing  Techniques
Pertemuan 04 Software Testing TechniquesMrirfan
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04    Software Testing Techniques  2Pertemuan 04    Software Testing Techniques  2
Pertemuan 04 Software Testing Techniques 2Mrirfan
 

Similar to Pengujian Perangkat Lunak (20)

Dede Rpl Kuis
Dede Rpl KuisDede Rpl Kuis
Dede Rpl Kuis
 
software testing (black box testing) -- irma darmayanti
software testing (black box testing) -- irma darmayantisoftware testing (black box testing) -- irma darmayanti
software testing (black box testing) -- irma darmayanti
 
Minggu Iv
Minggu IvMinggu Iv
Minggu Iv
 
Minggu Ii
Minggu IiMinggu Ii
Minggu Ii
 
Software Testing.pptx
Software Testing.pptxSoftware Testing.pptx
Software Testing.pptx
 
Testing&implementasi 3
Testing&implementasi 3Testing&implementasi 3
Testing&implementasi 3
 
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptxSlide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
 
M K P L Pertemuan5
M K P L  Pertemuan5M K P L  Pertemuan5
M K P L Pertemuan5
 
Mkpl Pertemuan5
Mkpl Pertemuan5Mkpl Pertemuan5
Mkpl Pertemuan5
 
Coding
CodingCoding
Coding
 
Blackbox And Whitebox Testing
Blackbox And Whitebox TestingBlackbox And Whitebox Testing
Blackbox And Whitebox Testing
 
Strategi pengujian perangkat lunak
Strategi pengujian perangkat lunakStrategi pengujian perangkat lunak
Strategi pengujian perangkat lunak
 
Pertemuan 4 Strategi Testing
Pertemuan 4  Strategi TestingPertemuan 4  Strategi Testing
Pertemuan 4 Strategi Testing
 
Paper Review - Metodologi Testing
Paper Review - Metodologi TestingPaper Review - Metodologi Testing
Paper Review - Metodologi Testing
 
Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1
 
[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak
 
Bab 5 pengujian_perangkat_lunak
Bab 5 pengujian_perangkat_lunakBab 5 pengujian_perangkat_lunak
Bab 5 pengujian_perangkat_lunak
 
Slideshow PowerPoint Software Testing
Slideshow PowerPoint Software TestingSlideshow PowerPoint Software Testing
Slideshow PowerPoint Software Testing
 
Pertemuan 04 Software Testing Techniques
Pertemuan 04     Software  Testing  TechniquesPertemuan 04     Software  Testing  Techniques
Pertemuan 04 Software Testing Techniques
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04    Software Testing Techniques  2Pertemuan 04    Software Testing Techniques  2
Pertemuan 04 Software Testing Techniques 2
 

More from Adam Mukharil Bachtiar

Materi 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfMateri 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfAdam Mukharil Bachtiar
 
Clean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesClean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesAdam Mukharil Bachtiar
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAdam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAnalisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAdam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma GreedyAnalisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma GreedyAdam Mukharil Bachtiar
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAnalisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAdam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAdam Mukharil Bachtiar
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAdam Mukharil Bachtiar
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAdam Mukharil Bachtiar
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAdam Mukharil Bachtiar
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAdam Mukharil Bachtiar
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAdam Mukharil Bachtiar
 

More from Adam Mukharil Bachtiar (20)

Materi 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfMateri 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdf
 
Clean Code - Formatting Code
Clean Code - Formatting CodeClean Code - Formatting Code
Clean Code - Formatting Code
 
Clean Code - Clean Comments
Clean Code - Clean CommentsClean Code - Clean Comments
Clean Code - Clean Comments
 
Clean Method
Clean MethodClean Method
Clean Method
 
Clean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesClean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful Names
 
Model Driven Software Development
Model Driven Software DevelopmentModel Driven Software Development
Model Driven Software Development
 
Data Mining Clustering
Data Mining ClusteringData Mining Clustering
Data Mining Clustering
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAnalisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and Conquer
 
Analisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma GreedyAnalisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma Greedy
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAnalisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute Force
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi Asimptotik
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 
UML dan Use Case View
UML dan Use Case ViewUML dan Use Case View
UML dan Use Case View
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain Algoritma
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas Algoritma
 

Pengujian Perangkat Lunak

  • 1. PENGUJIAN PERANGKAT LUNAK OLEH: ADAM MUKHARIL BACHTIAR
  • 2. Apa itu pengujian perangkat lunak? Proses menelusuri dan mempelajari sebuah program dalam rangka menemukan kesalahan pada perangkat lunak sebelum diserahkan kepada pengguna. Sumber: Software Engineering, Roger S. Pressman 7th edition
  • 4. “Pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi mencari sebanyak mungkin kesalahan”
  • 5. MANUAL TESTING Pengujian perangkat lunak dimana proses pengujian dieksekusi manual oleh QA (Quality Assurance) Analyst. Tujuannya untuk menemukan bugs ketika perangkat lunak sedang under development. AUTOMATED TESTING Pengujian perangkat lunak dimana tester menuliskan kode/script pengujian untuk mengautomasi eksekusi pengujian. Tester menggunakan alat bantu automasi untuk mendevelop script pengujian dan memvalidasi perangkat lunak. Pendekatan Pengujian Perangkat Lunak
  • 6. “Pengujian dilakukan untuk dua hal dalam sebuah perangkat lunak, yaitu pengujian fungsional dan non-fungsional.”
  • 8. Aktivitas dan strategi pengujian (2) Global Requirements User’s understanding Performance Acceptance Client’s Understanding of Requirements Test Test Installation User Environment Test System in Use Usable System Validated System Accepted System DIUJI OLEH DEVELOPER DIUJI OLEH PENGGUNA DIUJI OLEH KLIEN
  • 9. “Aktivitas dan strategi pengujian bisa disesuaikan dengan kebutuhan pengujian. Functional dan performance test mewakili uji fungsional dan non-fungsional.”
  • 11. UNIT TESTING Pengujian untuk memverifikasi apakah suatu bagian program yang kecil dan terisolasi itu benar.
  • 12.
  • 14. AUTOMATED UNIT TESTING OK, karena expected value sama dengan hasil return value dari tambah_bil(2,3)
  • 15. Library untuk automasi testing Modul yang mau diuji Unit yang mau diuji Percobaan valid Pemanggilan unit untuk kasus 2 + 3 Expected Value
  • 16. “Pengujian harus dilakukan menggunakan test case yang valid maupun tidak valid. Jumlah test untuk test case tidak valid berjumlah lebih banyak dibanding jumlah test untuk test case valid.”
  • 18. validasi_username_test.py Uji dengan Parameter yang Valid Uji dengan Parameter yang Tidak Valid
  • 19. “Memilih parameter uji harus dilakukan dengan jeli agar proses pengujian makin baik hasilnya. Diharapkan tester mampu menemukan Edge Cases dalam memilih test case.”
  • 20. EDGE CASES Edge cases are inputs to our code that produce unexpected results, and are found at the extreme ends of the ranges of input we imagine our programs will typically work with.
  • 21. Valid Data Ilustrasi Edge Cases/Limit Testing
  • 23. INTEGRATION TESTING Pengujian terhadap koleksi unit yang bekerja atau berinteraksi dalam sebuah fungsional.
  • 25. Pendekatan Integration Testing top module is tested with stubs stubs are replaced one at a time, "depth first" as new modules are integrated, some subset of tests is re-run A B C D E F G drivers are replaced one at a time, "depth first" worker modules are grouped into builds and integrated A B C D E F G cluster TOP-DOWN BOTTOM-UP
  • 27. White Box Sering juga disebut clear-box atau transparent testing dimana pengujian ini bergantung pada pengetahuan dari tester tentang bagaimana suatu kode program bekerja dalam sebuah program dan juga melihat apakah kode program tersebut menghasilkan keluaran sesuai ekspektasi atau tidak. Black Box Pengujian dimana tester membentuk test case berdasarkan spesifikasi kebutuhan (untuk melihat ekspektasi output dari suatu fungsi) tanpa mengetahui kode programnya. Metode Testing
  • 29. Ilustrasi Black Box Testing Catatan: Selain digunakan untuk menguji kebutuhan fungsional, Black box testing bisa digunakan untuk menguji kebutuhan non-fungsional (misal: performance testing)
  • 30. Performance Testing Salah satu bentuk pengujian non-fungsional dan berkaitan dengan Faktor Kualitas Perangkat Lunak
  • 31. “Baik black box maupun white box, kedua metode tersebut akan membandingkan hasil output dari perangkat lunak terhadap ekpektasi output (baik secara kode program atau spesifikasi kebutuhan)”
  • 32. No. Kasus Uji Hasil yang Diharapkan Hasil Sesuai Uji Kasus Keterangan [ ] Diterima [ ] Ditolak Dokumentasi Hasil Pengujian Jumlah kasus uji tergantung metode Kasus uji/Test Cases sesuaikan dengan metode. Diterima jika hasil yang diharapkan sama dengan hasil sesuai uji kasus begitu pun sebaliknya
  • 33. No. Kasus Uji Hasil yang Diharapkan Hasil Sesuai Uji Kasus Keterangan 1 Valid test: Username = “budisetiawan” Minlen = 3 Fungsi untuk test case ini menghasilkan nilai True Hasil uji menghasilkan True [ X ] Diterima [ ] Ditolak 2 Invalid Test: Username = “Ani” Minlen = 5 Fungsi untuk test case ini menghasilkan nilai True karena username tidak memenuhi panjang minlen Hasil uji menghasilkan True [ X ] Diterima [ ] Ditolak .. .. .. .. .. 4 Invalid Test: Username = “kikipriyana” Minlen = 0 Fungsi untuk test case ini harus menangkap error berupa ValueError karena minlen < 1 Hasil uji menangkap error berupa Value Error dengan pesan error “Panjang minimum username minimum 1” [ X ] Diterima [ ] Ditolak Contoh Hasil Pengujian White Box Kasus mengacu kepada kode program validasi_username.py (lihat slide halaman 17 dan 18) Kesimpulan pengujian: n buah test case lolos uji
  • 34. Bukti Hasil Pengujian White Box 4 Test Cases bernilai OK
  • 35. “Jumlah kasus uji yang harus disiapkan pada metode white box dihitung menggunakan Cyclomatic Complexity.” Catatan: Metode perhitungan Cyclomatic Complexity akan dibahas pada mata kuliah “Kualitas dan Pengujian perangkat lunak”.
  • 36. Contoh Hasil Pengujian Black Box Jika username valid maka halaman isi password akan muncul dan apabila tidak valid maka akan muncul pesan kesalahan sesuai kesalahannya
  • 37. No. Kasus Uji Hasil yang Diharapkan Hasil Sesuai Uji Kasus Keterangan 1 Valid test: Username = “budisetiawan” Setelah mengisi username maka akan muncul halaman isi password Halaman isi password muncul [ X ] Diterima [ ] Ditolak 2 Invalid Test: Username = “Ani” Setelah klik tombol Log In maka akan muncul pesan kesalahan bahwa username kurang dari 5 huruf Muncul pesan kesalahan “Username kurang dari 5 huruf” [ X ] Diterima [ ] Ditolak .. .. .. .. .. 4 .. .. .. .. Contoh Hasil Pengujian Black Box Kasus mengacu kepada gambar pada slide halaman 35 Kesimpulan pengujian: n buah kasus uji lolos uji
  • 38. Bukti Hasil Pengujian Black Box Username kurang dari 5 huruf
  • 39. “Dalam suatu pengujian unit, unit bisa diuji menggunakan metode white box atau black box (cukup salah satunya). Bisa seragam atau hybrid.”