SlideShare una empresa de Scribd logo
1 de 66
Pengkodean dan Strategi Pengujian Perangkat Lunak
Pertemuan ke-3
PENGKODEAN PERANGKAT LUNAK
Perbedaan bahasa generasi ke-4
dengan bahasa generasi ke3
4GL
 Jalur kode yang lebih sedikit
 Memberikan potensi dilakukannya pemrograman oleh
end user untuk aplikasi mereka sendiri
 Metodologi pengembangan
 Produktivitas yang meningkat
 Layanan yang meningkat
 Partisipasi pemakai
Perbedaan bahasa generasi ke-4
dengan bahasa generasi ke3
3GL
 Kepadatan
 Efisiensi mesin
 Fungsionalitas
 Kompatibilitas
 Produktivitas pengkodean
 Pengujian dan pemeliharaan
Bahasa pemrograman berorientasi objek
Jenis bahasa OOP
 Murni
 Smalltalk
 Hybrid
 w C++
 C
 Cobol
Perangkat bahasa penggunaan
khusus
 Alat bahasa berorientasi pemakai interaktif
 DBMS
 Alat bahasa hypertext dan multimedia
Memilih bahasa yang tepat
 Mencocokan bahasa dengan aplikasi rancangan
perangkat lunak
 Tingkat penggunaan dalam dunia bisnis
 Keekspresifan
 Kemudahan
 Maintainability
DASAR –DASAR PENGUJIAN
PERANGKAT LUNAK
(IEEE – Institute of Electrical and Electronics Engineering, ANSI – American
National Standards Institute)
Menurut standar ANSI/IEEE 1059
Testing adalah proses menganalisa
suatu entitas software untuk
mendeteksi perbedaan antara kondisi
yang ada dengan kondisi yang
diinginkan (defect/errors/bugs) dan
mengevaluasi fitur-fitur dari entitas
software
Definisi Sederhana Kualitas
 Menurut CROSBY:
Kualitas adalah pemenuhan terhadap kebutuhan.
 Menurut ISO-8402:
Kualitas adalah keseluruhan dari fitur yang menjadikan
produk dapat memuaskan atau dipakai sesuai kebutuhan
dengan harga yang terjangkau.
 Menurut W.E. Perry:
Kualitas adalah pemenuhan terhadap standar.
 Menurut R. Glass:
Kualitas adalah tingkat kesempurnaan.
 Menurut J. Juran:
Kualitas adalah tepat guna.
Hubungan testing dan kualitas
 Software yang berkualitas adalah software
yang bebas error dan bug secara objektif,
tepat waktu dan dana, sesuai dengan
kebutuhan atau keinginan dan dapat dirawat
(maintainable)
 Definisi objektif :
Suatu proses pembuktian yang
terstruktur,terencana dan
terdokumentasi dengan baik
Hubungan Testing Dan Kualitas
 Testing tidak dapat memastikan kualitas
software, namun dapat memberikan jaminan
terhadap software pada suatu tingkat tertentu
 Jaminan kualitas (Quality Assurance – QA)
mengukur kualitas proses yang digunakan untuk
membuat produk berkualitas
Testing merupakan bagian dari aktifitas
QA
Hubungan Testing Dengan Kualitas
 Proyek pengembangan software memiliki
kecenderungan untuk mengalami kegagalan
Proyek yang gagal ???
 Salah satu usaha menurunkan tingkat resiko terjadinya
kegagalan adalah dengan berorientasi pada kualitas
Tujuan testing
 Adalah menemukan sebanyak mungkin
masalah (error)
 Tujuan dari menemukan masalah adalah
memperbaikinya
Tangani masalah yang bersifat penting,
karena tidak semua permasalahan dapat.
Misi tim testing
 Tidak hanya untuk melakukan testing, tetapi juga
membantu meminimalkan resiko kegagalan proyek
 Mencari masalah dari produk
 Mencari masalah potensial
 Mencari kehadiran masalah
Intinya adalah mencari dan melaporkan sehingga tim lain
dapat membuat keputusan terhadap pengembangan
produk
Cont'd
Perlu diingat, tester hanya menginformasikan
Tidak melakukan pembenahan kode
Tester adalah individu yang memberikan hasil
pengukuran dari kualitas produk
Psikologi testing
 Jika pengembangan dilakukan secara konstruktif, maka
testing dilakukan secara destruktif
 Tester harus mempunyai keinginan yang mendasar untuk
membuktikan kode gagal dan akan melakukan apa saja
untuk membuatnya gagal
 Bila seorang tester hanya ingin membuktikan bahwa kode
beraksi sesuai dengan fungsi bisnisnya, maka tester
tersebut telah gagal dalam menjalankan tugasnya sebagai
tester
Prinsip-prinsip testing
prinsip pertama
 Testing yang komplit (dilakukan secara
menyeluruh) tidak memungkinkan
dilakukan.
Kemungkinan jumlah kombinasi testcase
yang amat besar
 Pertimbangan domain masukan yang mungkin
sangat besar jumlahnya (masukan yang valid,
tdk valid, masukan yg diedit dll)
 Kompleksitas user interface dan desain.
Cont'd
 Jalur program yang mungkin dapat
dilewati sangat banyak
 Harus dilakukan test ulang, setiap ada
perbaikan pada masing-masing bug
Prinsip kedua
Testing merupakan pekerjaan yang
kreatif dan sulit
mitos-mitos yang salah tentang testing :
 Testing itu mudah
 Tiap orang akan dapat melakukan testing
dengan sendirinya
padahal
Cont'd
Testing bukanlah hal yang sederhana,
karena
 Untuk dapat melakukan testing yang
efektif harus mengetahui keseluruhan
sistem
 Sistem sendiri tidak sederhana (mudah
dipahami)
Prinsip ketiga
 Testing berbasis pada resiko
walaupun testing secara keseluruhan tidak dapat
dilakukan,
tidak berarti bahwa testing yang efektif tidak dapat
dilakukan
testing merupakan hasil pertimbangan dari resiko dan
ekonomi
Cont'd
 Secara ringkas, testing dipengaruhi oleh pertimbangan :
 Sumber daya dan biaya yang dibutuhkan untuk
melakukan testing menurut skala prioritas, kompleksitas
dan kesulitan testing
 Biaya dari keterlambatan pengiriman produk
(kemungkinan besar disebabkan testing)
 Kemungkinan adanya suatu defect
 Biaya yang disebabkan oleh defect, bilamana defect tsb
menyebabkan error yang membawa kerugian langsung
maupun tak langsung bagi customer
Prinsip keempat
 Testing harus direncanakan
butuh pemikiran dengan pendekatan secara keseluruhan,
desain tes dan penetapan hasil yang diinginkan untuk
setiap kasus tes (test case) yang dipilih
test plan : dokumen yang mencakup keseluruh tujuan
testing dan pendekatan testing
test design : dokumen yang mendefinisikan apa yang
telah dipilih untuk dites dan
hasil yang diharapkan
“test direncanakan dan didesain sebelum kode dibuat”
Cont'd
Perencanaan tes sangat penting, yaitu :
 Untuk dapat menjaga arah pelaksanaan tes agar tidak
menyimpang dari tujuan tes itu sendiri (mengukur
kualitas SW)
 Menjaga kesesuaian penggunaan sumber daya dan jadwal
proyek dengan menetapkan apa yang akan dites dan
kapan berhenti
 Membantu tester fokus terhadap apa yang akan dites
(membuat test case)
Prinsip kelima
 Testing butuh independensi
testing yang paling efektif adalah yang dilakukan oleh
pihak ketiga (tidak bias)
Dasar-dasar testing
 Testing dikatakan baik, jika :
 Kemungkinan mendapatkan error tinggi
 Tidak redundan --> resource terbatas,
tiap tes yang dilakukan HARUS memiliki
tujuan yang berbeda
 Tidak terlalu simpel atau kompleks
Cont'd
 Kode untuk kondisi khusus mendapatkan
porsi tes yang sama dengan kode yang
umum
 Kode untuk kondisi khusus --> peluang
mempunyai bug tinggi
 Testing untuk kode yang dijalankan
dalam kondisi normal tidak
mengeksekusi error handling code
 Testing yang sukses adalah testing yang
berhasil menemukan error yang tidak
diketahui
“ STRATEGI PENGUJIAN/TESTING PERANGKAT
LUNAK ”
 Strategi uji coba PL memudahkan para perancang untuk
menentukan keberhasilan system yang telah dikerjakan.
Hal yang harus diperhatikan adalah langkah-langkah
perencanaan dan pelaksanaan harus direncanakan dengan
baik dan berapa lama waktu, upaya dan sumber daya yang
diperlukan.
 Strategi uji coba mempunyai karakteristik sebagai berikut :
 Pengujian mulai pada tingkat modul yg paling bawah,
dilanjutkan dengan modul di atasnya kemudian hasilnya
dipadukan.
 Teknik pengujian yang berbeda mungkin menghasilkan
sedikit perbedaan (dalam hal waktu)
 Pengujian dilakukan oleh pengembang perangkat lunak dan (untuk
proyek yang besar) suatu kelompok pengujian yang independen.
 Pengujian dan debugging merupakan aktivitas yang berbeda, tetapi
debugging termasuk dalam strategi pengujian.
 Pengujian PL adalah satu elemen dari topik yang lebih luas yang
sering diacu sebagai verifikasi dan validasi (V& V).
 Verifikasi : Kumpulan aktifitas yg menjamin penerapan PL benar-
benar sesuai dengan fungsinya.
 Validasi : Kumpulan aktivitas yang berbeda yang memastikan
bahwa PL yang dibangun dapat memenuhi keperluan pelanggan.
 Dengan kata lain :
 Verifikasi : “ Apakah kita membuat produk dgn benar?”
 Validasi : “ Apakah kita membuat benar-benar suatu produk?”
Pendekatan Strategis ke pengujian
perangkat lunak
1. Pengujian Unit
2. Pengujian Integrasi
3. Pengujian Validasi
4. Pengujian Sistem
1. Pengujian Unit
 Berfokus pada inti terkecil dari desain perangkat lunak
yaitu modul
 Biasanya berorientasi pada white box
Pengujian Unit
Checklist untuk pengujian interface (Myers)
 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?
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?
 Apakah definisi variabel global konsisten dengan modul ?
 Apakah batasan yang dilalui merupakan argumen?
Pengujian Unit
 Test case harus didesain untuk mengungkap kesalahan
dalam 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
Seberapa baik sistem yang sudah dibangun ?
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 diharapkan
Verifikasi
 “Apakah sistem dikembangkan dengan cara yang benar ?”
 Pengujian apakah sistem sudah sesuai dengan spesifikasi
2. Integration testing
 Menjelaskan kecacatan dalam antarmuka dan
interaksi antar komponen terpadu (modul).
 Semakin besar kelompok komponen perangkat lunak
yang diuji terkait dengan elemen-elemen dari desain
arsitekturnya akan dipadukan dan diuji sampai
perangkat lunak bekerja sebagai sistem.
3. Pengujian Validasi
 Setelah semua kesalahan diperbaiki maka langkah
selanjutnya adalah validasi testing.
 Pengujian validasi dikatakan berhasil bila fungsi yang ada
pada PL sesuai dengan yg diharapkan pemakai.
 Validasi PL merupakan kumpulan seri uji coba black box
yang menunjukkan sesuai dengan yg diperlukan.
 Kemungkinan kondisi setelah pengujian:
1. Karakteristik performansi fungsi sesuai dengan spesifikasi
dan dapat diterima.
2. Penyimpangan dari spesifikasi ditemukan dan dibuatkan
daftar penyimpangan.
Pengujian Alpha dan Beta
 Apabila PL dibuat untuk pelanggan maka dapat
dilakukan aceeptance test sehingga memungkinkan
pelanggan untuk memvalidasi seluruh keperluan.
 Test ini dilakukan karena memungkinkan pelanggan
menemukan kesalahan yang lebih rinci dan
membiasakan pelanggan memahami PL yg telah
dibuat.
 Pengujian Alpha
Dilakukan pada sisi pengembang oleh seorang pelanggan.
PL digunakan pada setting yang natural dengan
pengembang “yang memandang” melalui bahu pemakai
dan merekam semua kesalahan dan masalah pemakaian.
 Pengujian Beta
Dilakukan pada satu atau lebih pelanggan oleh pemakai
akhir PL dalam lingkungan yang sebenarnya, pengembang
biasanya tidak ada pada pengujian ini. Pelanggan merekam
semua masalah (real atau imajiner) yang ditemui selama
pengujian dan melaporkan pada pengembang pada
interval waktu tertentu.
4. Pengujian Sistem
 Pada akhirnya PL digabungkan dengan elemen system
lainnya dan rentetan perpaduan system dan validasi
tes dilakukan. Jika uji coba gagal atau diluar batasan
dari proses daur siklus pengembangan system,
langkah yang diambil selama perancangan dan
pengujian dapat diperbaiki. Keberhasilan perpaduan
PL dan system yang besar merupakan kuncinya.
 Sistem testing merupakan rentetan pengujian yang
berbeda-beda dengan tujuan utama mengerjakan
keseluruhan elemen system yang dikembangkan.
Proses Pengujian Software
Unit test
Integration
test
test
Validation
System
test
System engineering
Requirements
Software Design
Code & Implementation
V&V Targets
Pengujian Sistem (lanjutan)
 Recovery/perbaikan Testing
Adalah system testing yang memaksa PL mengalami kegagalan dalam
bermacam-macam cara dan memeriksa apakah perbaikan dilakukan
dengan tepat.
 Security Testing
Adalah pengujian yang akan melalukan verifikasi dari mekanisme
perlindungan yang akan dibuat oleh system, melindungi dari hal-hal
yang mungkin terjadi.
 Strees Testing
Dirancang untuk menghadapi situasi yang tidak normal pada saat
program diuji. Testing ini dilakukan oleh system untuk kondisi seperti
volume data yang tidak normal (melebihi atau kurang dari batasan)
atau frekuensi.
Menjalankan test
1. Testing aplikasi desktop
2. Testing aplikasi server
3. Testing aplikasi web
1.Testing aplikasi desktop
 Jenis :
 Functionality :
 Aplikasi harus terlihat dan berfungsi sebagaimana mestinya terhadap end-user
atau pengguna akhir. Testing dilakukan dengan menggunakan data yang
menggambarkan data yang digunakan oleh pengguna sesungguhnya.
 Data yang dimasukkan tersimpan dengan benar pada database.
 Pengujian dilakukan sekelompok pengguna dengan kemampuan yang berbeda.
 Configuration
 Jika aplikasi Anda di-develop untuk lingkungan yang besar, testing harus
dilakukan pada komputer khusus. Komputer yang digunakan sebagai komputer
testing harus terlebih dahulu dikonfigurasi hanya dengan:
a. Operating system yang dibutuhkan. b. Software pendukung/add on untuk
aplikasi Driver yang diperlukan oleh aplikasi, jika ada. c. Aplikasi yang dites.
Compatibility
 Hardware
 OS
 Diimplementasikan pada konfigurasi yang berbeda diuji
compatibilitasnya. Misalnya jika membuat di IE, coba di
Firefox, Opera, Safari
 HTML validation
2. Pengujian Aplikasi Server
 Volume Testing
 Stress Testing
 Performance Testing
 Data Recovery Testing
 Data Backup and Restore Testing
 Data Security Testing
Volume Testing
 Menemukan kelemahan sistem selama melakukan
pemrosesan data dalam jumlah yang besar dalam
periode waktu yang singkat.
 Tujuan: meyakinkan bahwa sistem tetap melakukan
pemrosesan data antara batasan fisik dan batasan
logik.
 Contoh:
 Mengujikan proses antar server dan antar partisi hardisk
pada satu server.
Stress Testing
 Tujuan: mengetahui kemampuan sistem dalam
melakukan transaksi selama periode waktu puncak
proses. Contoh periode puncak: ketika penolakan
proses login on-line setelah sistem down atau pada
kasus batch, pengiriman batch proses dalam jumlah yg
besar dilakukan setelah sistem down.
 Contoh: Melakukan login ke server ketika
sejumlah besar workstation melakukan proses
menjalankan perintah sql database.
Performance Testing
 Dilakukan secara paralel dengan Volume dan Stress testing
untuk mengetahui unjuk kerja sistem (waktu respon,
throughput rate) pada beberapa kondisi proses dan
konfigurasi.
 Dilakukan pada semua konfigurasi sistem perangkat keras
dan lunak.
 Mis.: pd aplikasi Client-Server diujikan pd kondisi korporate
ataupun lingkungan sendiri (LAN vs. WAN, Laptop vs.
Desktop)
 Menguji sistem dengan hubungannya sistem ke lain pada
server yg sama.
 Load Balancing Monitor
 Network Monitor
Data Recovery Testing
 Investigasi dampak kehilangan data melalui proses
recovery ketika terjadi kegagalan proses.
 Penting dilakukan karena data yang disimpan di server
dapat dikonfigurasi dengan berbagai cara.
 Kehilangan Data terjadi akibat kegagalan sistem,
hardisk rusak, peghapusan yang tidak sengaja,
kecelakaan, virus dan pencuri.
Data Backup and Restore Testing
 Dilakukan untuk melihat prosedur back-up dan recovery.
 Diakukan dengan mensimulasikan beberapa kesalahan
untuk menguji proses backup dan recovery.
 Pengujian dilakukan terhadap strategi backup:
frekuensi, medium, waktu, mekanisme backup (manual/
otomatis), personal, ? Berapa lama backup akan disimpan.
 Switching antara live dan backup server ketika terjadi
kerusakan (load log transaction pada back-up kemudian
melaku recovery).
Data Security Testing
 Privilege access terhadap database diujikan pada
beberapa user yang tidak memiliki privilege access ke
database.
 Shutdown database engine melalui operating system
(dengan beberapa perintah OS) yg dapat mematikan
aplikasi database.
Testing aplikasi web
 Testing untuk aplikasi web memiliki banyak kesamaan
dengan testing untuk aplikasi client server, tetapi
aplikasi web lebih sulit karena tingkat
kompleksitasnya lebih tinggi  interaksi komponen
(teknologi) yang dipergunakan tidak terbatas
 Browser
 OS
 Aplikasi plugin, dll
 Idealnya semua komponen dan fungsi yang ada pada
sisi client dan server harus dites (tapi sangat jarang
bisa dilakukan)  pendekatan terbaik agar tetap
sesuai dengan batasan waktu dan budget :
 Mengecek requirement project/kebutuhan proyek
 Mensetting prioritas sesuai hasil risk analysis
 Tentukan fokus testing yang dilakukan
Risk analysis
 Risk analysis yang dilakukan harus mempertimbangkan :
 seberapa mirip lingkungan test dengan
lingkungan produksi (idealnya akan mirip)
 fungsionalitas mana yang sangat kritikal
terhadap tujuan pembuatan website
 area mana yang memerlukan interaksi DB
yang lebih banyak
 tipe permasalahan seperti apa yang akan
lebih sering dikomplain
 area mana dari suatu situs yang akan lebih
sering dibuka
 aspek mana yang memiliki resiko keamanan
lebih tinggi
faktor faktor seperti project
requirement, risk analysis, budget dan
schedule menentukan kategori testing
yang mana yang sesuai dengan project
web yang dilaksanakan
Kategori testing web
 Load testing
 Security testing
 Link testing
 HTML validation
 dll
Penjelasan
 Load testing
 Testing dengan load yang sudah diatur rangenya untuk
menentukan pada poin mana respons time sistem turun atau
bahkan gagal sama skali.
 Server yang dipakai, seting konfigurasi yang dipergunakan,
script CGI, desain database dan faktor-faktor lain bisa juga
memberikan pengaruh
 Testing bisa dilakukan dengan 2 cara
 Testing keseluruhan komponen dibawah kondisi yang
bermacam-macam
 Testing masing-masing komponen
 Security testing
 Untuk aplikasi web base mengharuskan tingkat keamanan yang
tinggi, testing aplikasi harus mempertimbangkan pengujian
keamanan aplikasi tersebut.
 Menguji semua fungsi yang berhubungan dengan firewall, enkripsi,
autentikasi, transaksi, akses database.
 Selain permasalahan kontrol akses di sisi client (password dan
enkripsi) juga ada permasalahan di sisi server seperti siapa yang
berhak mempublish dan memodifikasi file html, siapa yang
memiliki wewenang untuk melakukan publikasi final, yang meng-
approve suatu file graphics, file sound dan halaman layout
 Sebagai contoh adalah sebuah aplikasi e-commerce yang
mengizinkan transaksi melalui kartu kredit. Cukup banyak terjadi
kasus pencurian PIN/Password credit card dengan memanfaatkan
kelemahan aplikasi e-commerce.
 Link testing
 Untuk menentukan apakah link dari suatu situs baik itu ke
internal dan external web pages bekerja
 Web yang memiliki banyak link ke situs luar perlu link testing
yang dijadwal secara teratur
 HTML validation
 Ditentukan oleh audience yg dituju, jenis browser yang
kemungkinan akan dipakai dan seberapa sesuai dengan
standar html, microsoft atau ekstensi lainnya
Tool yang dipergunakan
 Load testing
Curl-Loader, StressTester, Proxy Sniffer, Funkload,
Loadea, LoadManager, webStress, WAPT,
FORECAST, dll
 Security testing
Hailstorm, OWASP Security testing tools, GamaSec,
Wikto, add-ons di firefox  SQL Inject Me 0.4.0
Cont’d
 Link testing
WebLight, HTML PowerTools, Broken Link
Preventer, W3C Link Checker
 HTML validation
WebLight, HTML PowerTools, W3C CSS Validation
Service, W3C HTML Validation Service
Terima kasih

Más contenido relacionado

La actualidad más candente

Studi kelayakan Aplikasi FedEx
Studi kelayakan Aplikasi FedExStudi kelayakan Aplikasi FedEx
Studi kelayakan Aplikasi FedExSariWahyuningsih4
 
Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)Fitria Hati
 
Proposal Pernacangan Sistem Informasi Perusahaan
Proposal Pernacangan Sistem Informasi PerusahaanProposal Pernacangan Sistem Informasi Perusahaan
Proposal Pernacangan Sistem Informasi PerusahaanM.Hafizhul afiq
 
Interaksi Manusia Dan Komputer 4
Interaksi Manusia Dan Komputer 4Interaksi Manusia Dan Komputer 4
Interaksi Manusia Dan Komputer 4Hide Maru
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlineandiseprianto
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristikBaguss Chandrass
 
Rpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakRpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakf' yagami
 
Testing dan implementasi_sistem_-_romeo
Testing dan implementasi_sistem_-_romeoTesting dan implementasi_sistem_-_romeo
Testing dan implementasi_sistem_-_romeoAbrianto Nugraha
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputerMiftahul Khair N
 
Metode Melakukan Analisis Kebutuhan Dalam Penelitian Pengembangan
Metode Melakukan Analisis Kebutuhan Dalam Penelitian PengembanganMetode Melakukan Analisis Kebutuhan Dalam Penelitian Pengembangan
Metode Melakukan Analisis Kebutuhan Dalam Penelitian PengembanganAwal Akbar Jamaluddin
 
Strategi pengujian perangkat lunak
Strategi pengujian perangkat lunakStrategi pengujian perangkat lunak
Strategi pengujian perangkat lunakArdha Herdianto
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAri Septiawan
 

La actualidad más candente (20)

Studi kelayakan Aplikasi FedEx
Studi kelayakan Aplikasi FedExStudi kelayakan Aplikasi FedEx
Studi kelayakan Aplikasi FedEx
 
Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)
 
10. evaluasi imk
10. evaluasi imk10. evaluasi imk
10. evaluasi imk
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Proposal Pernacangan Sistem Informasi Perusahaan
Proposal Pernacangan Sistem Informasi PerusahaanProposal Pernacangan Sistem Informasi Perusahaan
Proposal Pernacangan Sistem Informasi Perusahaan
 
Interaksi Manusia Dan Komputer 4
Interaksi Manusia Dan Komputer 4Interaksi Manusia Dan Komputer 4
Interaksi Manusia Dan Komputer 4
 
PKM KC Mevici Dianresti
PKM KC Mevici Dianresti PKM KC Mevici Dianresti
PKM KC Mevici Dianresti
 
Pertemuan 5 Perencanaan Testing
Pertemuan 5 Perencanaan TestingPertemuan 5 Perencanaan Testing
Pertemuan 5 Perencanaan Testing
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
 
Feasibility analysis
Feasibility analysisFeasibility analysis
Feasibility analysis
 
Rpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakRpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunak
 
Testing dan implementasi_sistem_-_romeo
Testing dan implementasi_sistem_-_romeoTesting dan implementasi_sistem_-_romeo
Testing dan implementasi_sistem_-_romeo
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputer
 
Metode Melakukan Analisis Kebutuhan Dalam Penelitian Pengembangan
Metode Melakukan Analisis Kebutuhan Dalam Penelitian PengembanganMetode Melakukan Analisis Kebutuhan Dalam Penelitian Pengembangan
Metode Melakukan Analisis Kebutuhan Dalam Penelitian Pengembangan
 
Sistem Pakar Certainty factor
Sistem Pakar Certainty factor Sistem Pakar Certainty factor
Sistem Pakar Certainty factor
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
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
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 

Destacado

Testing&implementasi 4 5
Testing&implementasi 4 5Testing&implementasi 4 5
Testing&implementasi 4 5aiiniR
 
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 LanjStrategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 LanjMrirfan
 
Testing&implementasi 2
Testing&implementasi 2Testing&implementasi 2
Testing&implementasi 2aiiniR
 
Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...
Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...
Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...Yuliani Astuti
 
Testing&implementasi 1 pendahuluan
Testing&implementasi 1   pendahuluanTesting&implementasi 1   pendahuluan
Testing&implementasi 1 pendahuluanaiiniR
 
Testing&implementasi 1
Testing&implementasi 1Testing&implementasi 1
Testing&implementasi 1aiiniR
 
Generasi bhs pemrograman.ppt
Generasi bhs pemrograman.pptGenerasi bhs pemrograman.ppt
Generasi bhs pemrograman.pptgea prima
 
Property based Testing - generative data & executable domain rules
Property based Testing - generative data & executable domain rulesProperty based Testing - generative data & executable domain rules
Property based Testing - generative data & executable domain rulesDebasish Ghosh
 
Teknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cTeknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cadhifatra agussalim
 
Aplikasi penjualan busana fashion berbasis dekstop
Aplikasi penjualan busana fashion berbasis dekstopAplikasi penjualan busana fashion berbasis dekstop
Aplikasi penjualan busana fashion berbasis dekstopalfian_nasir
 
Tugas makalah modul pariwisata
Tugas makalah modul pariwisataTugas makalah modul pariwisata
Tugas makalah modul pariwisataMDSmerry
 
Perancangan dan Analisa Sistem
Perancangan dan Analisa SistemPerancangan dan Analisa Sistem
Perancangan dan Analisa Sistemguestb7aaaf1e
 

Destacado (20)

Testing&implementasi 4 5
Testing&implementasi 4 5Testing&implementasi 4 5
Testing&implementasi 4 5
 
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 LanjStrategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
 
Testing&implementasi 2
Testing&implementasi 2Testing&implementasi 2
Testing&implementasi 2
 
Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...
Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...
Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...
 
Testing&implementasi 1 pendahuluan
Testing&implementasi 1   pendahuluanTesting&implementasi 1   pendahuluan
Testing&implementasi 1 pendahuluan
 
Testing&implementasi 1
Testing&implementasi 1Testing&implementasi 1
Testing&implementasi 1
 
Kisi2 generasi ke 4
Kisi2 generasi ke 4Kisi2 generasi ke 4
Kisi2 generasi ke 4
 
10. bahasa rakitan
10. bahasa rakitan10. bahasa rakitan
10. bahasa rakitan
 
Generasi bhs pemrograman.ppt
Generasi bhs pemrograman.pptGenerasi bhs pemrograman.ppt
Generasi bhs pemrograman.ppt
 
Property based Testing - generative data & executable domain rules
Property based Testing - generative data & executable domain rulesProperty based Testing - generative data & executable domain rules
Property based Testing - generative data & executable domain rules
 
Teknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cTeknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman c
 
Encapsulation C++
Encapsulation C++Encapsulation C++
Encapsulation C++
 
encapsulation
encapsulationencapsulation
encapsulation
 
Aplikasi penjualan busana fashion berbasis dekstop
Aplikasi penjualan busana fashion berbasis dekstopAplikasi penjualan busana fashion berbasis dekstop
Aplikasi penjualan busana fashion berbasis dekstop
 
Pengaturcaraan c
Pengaturcaraan cPengaturcaraan c
Pengaturcaraan c
 
Encapsulation
EncapsulationEncapsulation
Encapsulation
 
Tugas makalah modul pariwisata
Tugas makalah modul pariwisataTugas makalah modul pariwisata
Tugas makalah modul pariwisata
 
Perancangan dan Analisa Sistem
Perancangan dan Analisa SistemPerancangan dan Analisa Sistem
Perancangan dan Analisa Sistem
 
Leipers model
Leipers modelLeipers model
Leipers model
 
Encapsulation
EncapsulationEncapsulation
Encapsulation
 

Similar a Testing&implementasi 3

Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1Fendi Hidayat
 
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
 
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...TheodoraTerdunGintin
 
Paper Review - Metodologi Testing
Paper Review - Metodologi TestingPaper Review - Metodologi Testing
Paper Review - Metodologi TestingAgung Sulistyanto
 
Software testing
Software testingSoftware testing
Software testingjullejulle
 
Pengujian perangkat lunak.ppt
Pengujian perangkat lunak.pptPengujian perangkat lunak.ppt
Pengujian perangkat lunak.pptRizkiaNay1
 
Testing dan implemetasi sistem 3
Testing dan implemetasi sistem 3Testing dan implemetasi sistem 3
Testing dan implemetasi sistem 3Fendi Hidayat
 
Strategi Pengujian Perangkat Lunak.ppt
Strategi Pengujian Perangkat Lunak.pptStrategi Pengujian Perangkat Lunak.ppt
Strategi Pengujian Perangkat Lunak.pptsmk methodist-8
 
BAB_1_PENGUJIAN_PERANGKAT_LUNAK.ppt
BAB_1_PENGUJIAN_PERANGKAT_LUNAK.pptBAB_1_PENGUJIAN_PERANGKAT_LUNAK.ppt
BAB_1_PENGUJIAN_PERANGKAT_LUNAK.pptMunawirBahnget
 
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
 
Testing dan implementasi
Testing dan implementasiTesting dan implementasi
Testing dan implementasiDWC
 
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
 
Software quality-assurance
Software quality-assuranceSoftware quality-assurance
Software quality-assuranceTri Sugihartono
 
Review TA : software quality factors
Review TA : software quality factorsReview TA : software quality factors
Review TA : software quality factorsseyfert130
 
Slide-TIF407-Pengujian-perangkat-lunak.ppt
Slide-TIF407-Pengujian-perangkat-lunak.pptSlide-TIF407-Pengujian-perangkat-lunak.ppt
Slide-TIF407-Pengujian-perangkat-lunak.pptritanovitasari3
 
Pengujian-perangkat-lunak
Pengujian-perangkat-lunakPengujian-perangkat-lunak
Pengujian-perangkat-lunaktaufiq agung
 
Ringkasan Bab 19 – 22 Buku Software Engineering.pptx
Ringkasan Bab 19 – 22 Buku Software Engineering.pptxRingkasan Bab 19 – 22 Buku Software Engineering.pptx
Ringkasan Bab 19 – 22 Buku Software Engineering.pptxSaifAlfarizi1
 

Similar a Testing&implementasi 3 (20)

Minggu Ii
Minggu IiMinggu Ii
Minggu Ii
 
Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1
 
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
 
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
 
Paper Review - Metodologi Testing
Paper Review - Metodologi TestingPaper Review - Metodologi Testing
Paper Review - Metodologi Testing
 
Dede Rpl Kuis
Dede Rpl KuisDede Rpl Kuis
Dede Rpl Kuis
 
Software testing
Software testingSoftware testing
Software testing
 
Pengujian perangkat lunak.ppt
Pengujian perangkat lunak.pptPengujian perangkat lunak.ppt
Pengujian perangkat lunak.ppt
 
Testing dan implemetasi sistem 3
Testing dan implemetasi sistem 3Testing dan implemetasi sistem 3
Testing dan implemetasi sistem 3
 
Strategi Pengujian Perangkat Lunak.ppt
Strategi Pengujian Perangkat Lunak.pptStrategi Pengujian Perangkat Lunak.ppt
Strategi Pengujian Perangkat Lunak.ppt
 
BAB_1_PENGUJIAN_PERANGKAT_LUNAK.ppt
BAB_1_PENGUJIAN_PERANGKAT_LUNAK.pptBAB_1_PENGUJIAN_PERANGKAT_LUNAK.ppt
BAB_1_PENGUJIAN_PERANGKAT_LUNAK.ppt
 
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
 
Testing dan implementasi
Testing dan implementasiTesting dan implementasi
Testing dan implementasi
 
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
 
Software quality-assurance
Software quality-assuranceSoftware quality-assurance
Software quality-assurance
 
Review TA : software quality factors
Review TA : software quality factorsReview TA : software quality factors
Review TA : software quality factors
 
Slide-TIF407-Pengujian-perangkat-lunak.ppt
Slide-TIF407-Pengujian-perangkat-lunak.pptSlide-TIF407-Pengujian-perangkat-lunak.ppt
Slide-TIF407-Pengujian-perangkat-lunak.ppt
 
Pengujian-perangkat-lunak
Pengujian-perangkat-lunakPengujian-perangkat-lunak
Pengujian-perangkat-lunak
 
Ringkasan Bab 19 – 22 Buku Software Engineering.pptx
Ringkasan Bab 19 – 22 Buku Software Engineering.pptxRingkasan Bab 19 – 22 Buku Software Engineering.pptx
Ringkasan Bab 19 – 22 Buku Software Engineering.pptx
 

Más de aiiniR

Crm 8 strategi crm
Crm 8 strategi crmCrm 8 strategi crm
Crm 8 strategi crmaiiniR
 
Crm 7 mempertahankan pelanggan
Crm 7 mempertahankan pelangganCrm 7 mempertahankan pelanggan
Crm 7 mempertahankan pelangganaiiniR
 
Crm 6 tipe pelanggan
Crm 6 tipe pelangganCrm 6 tipe pelanggan
Crm 6 tipe pelangganaiiniR
 
Crm 5 nilai pelanggan
Crm 5 nilai pelangganCrm 5 nilai pelanggan
Crm 5 nilai pelangganaiiniR
 
Crm 4 analisis portofolio pelanggan
Crm 4 analisis portofolio pelangganCrm 4 analisis portofolio pelanggan
Crm 4 analisis portofolio pelangganaiiniR
 
Crm 3 rantai nilai crm
Crm 3 rantai nilai crmCrm 3 rantai nilai crm
Crm 3 rantai nilai crmaiiniR
 
Crm 2 konsep crm
Crm 2 konsep crmCrm 2 konsep crm
Crm 2 konsep crmaiiniR
 
Crm 1 kontrak kuliah
Crm 1 kontrak kuliahCrm 1 kontrak kuliah
Crm 1 kontrak kuliahaiiniR
 
Pert 06 association rules
Pert 06 association rulesPert 06 association rules
Pert 06 association rulesaiiniR
 
Pert 05 aplikasi clustering
Pert 05 aplikasi clusteringPert 05 aplikasi clustering
Pert 05 aplikasi clusteringaiiniR
 
Pert 04 clustering data mining
Pert 04 clustering   data miningPert 04 clustering   data mining
Pert 04 clustering data miningaiiniR
 
Pert 03 introduction dm 2012
Pert 03 introduction dm 2012Pert 03 introduction dm 2012
Pert 03 introduction dm 2012aiiniR
 
Pert 02 statistik deskriptif 2013
Pert 02 statistik deskriptif 2013Pert 02 statistik deskriptif 2013
Pert 02 statistik deskriptif 2013aiiniR
 
3 basis data
3 basis data3 basis data
3 basis dataaiiniR
 
2 pengenalan peta
2 pengenalan peta2 pengenalan peta
2 pengenalan petaaiiniR
 
1 konsep dasar_sig
1 konsep dasar_sig1 konsep dasar_sig
1 konsep dasar_sigaiiniR
 

Más de aiiniR (16)

Crm 8 strategi crm
Crm 8 strategi crmCrm 8 strategi crm
Crm 8 strategi crm
 
Crm 7 mempertahankan pelanggan
Crm 7 mempertahankan pelangganCrm 7 mempertahankan pelanggan
Crm 7 mempertahankan pelanggan
 
Crm 6 tipe pelanggan
Crm 6 tipe pelangganCrm 6 tipe pelanggan
Crm 6 tipe pelanggan
 
Crm 5 nilai pelanggan
Crm 5 nilai pelangganCrm 5 nilai pelanggan
Crm 5 nilai pelanggan
 
Crm 4 analisis portofolio pelanggan
Crm 4 analisis portofolio pelangganCrm 4 analisis portofolio pelanggan
Crm 4 analisis portofolio pelanggan
 
Crm 3 rantai nilai crm
Crm 3 rantai nilai crmCrm 3 rantai nilai crm
Crm 3 rantai nilai crm
 
Crm 2 konsep crm
Crm 2 konsep crmCrm 2 konsep crm
Crm 2 konsep crm
 
Crm 1 kontrak kuliah
Crm 1 kontrak kuliahCrm 1 kontrak kuliah
Crm 1 kontrak kuliah
 
Pert 06 association rules
Pert 06 association rulesPert 06 association rules
Pert 06 association rules
 
Pert 05 aplikasi clustering
Pert 05 aplikasi clusteringPert 05 aplikasi clustering
Pert 05 aplikasi clustering
 
Pert 04 clustering data mining
Pert 04 clustering   data miningPert 04 clustering   data mining
Pert 04 clustering data mining
 
Pert 03 introduction dm 2012
Pert 03 introduction dm 2012Pert 03 introduction dm 2012
Pert 03 introduction dm 2012
 
Pert 02 statistik deskriptif 2013
Pert 02 statistik deskriptif 2013Pert 02 statistik deskriptif 2013
Pert 02 statistik deskriptif 2013
 
3 basis data
3 basis data3 basis data
3 basis data
 
2 pengenalan peta
2 pengenalan peta2 pengenalan peta
2 pengenalan peta
 
1 konsep dasar_sig
1 konsep dasar_sig1 konsep dasar_sig
1 konsep dasar_sig
 

Testing&implementasi 3

  • 1. Pengkodean dan Strategi Pengujian Perangkat Lunak Pertemuan ke-3
  • 3. Perbedaan bahasa generasi ke-4 dengan bahasa generasi ke3 4GL  Jalur kode yang lebih sedikit  Memberikan potensi dilakukannya pemrograman oleh end user untuk aplikasi mereka sendiri  Metodologi pengembangan  Produktivitas yang meningkat  Layanan yang meningkat  Partisipasi pemakai
  • 4. Perbedaan bahasa generasi ke-4 dengan bahasa generasi ke3 3GL  Kepadatan  Efisiensi mesin  Fungsionalitas  Kompatibilitas  Produktivitas pengkodean  Pengujian dan pemeliharaan
  • 5. Bahasa pemrograman berorientasi objek Jenis bahasa OOP  Murni  Smalltalk  Hybrid  w C++  C  Cobol
  • 6. Perangkat bahasa penggunaan khusus  Alat bahasa berorientasi pemakai interaktif  DBMS  Alat bahasa hypertext dan multimedia
  • 7. Memilih bahasa yang tepat  Mencocokan bahasa dengan aplikasi rancangan perangkat lunak  Tingkat penggunaan dalam dunia bisnis  Keekspresifan  Kemudahan  Maintainability
  • 9. (IEEE – Institute of Electrical and Electronics Engineering, ANSI – American National Standards Institute) Menurut standar ANSI/IEEE 1059 Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (defect/errors/bugs) dan mengevaluasi fitur-fitur dari entitas software
  • 10. Definisi Sederhana Kualitas  Menurut CROSBY: Kualitas adalah pemenuhan terhadap kebutuhan.  Menurut ISO-8402: Kualitas adalah keseluruhan dari fitur yang menjadikan produk dapat memuaskan atau dipakai sesuai kebutuhan dengan harga yang terjangkau.  Menurut W.E. Perry: Kualitas adalah pemenuhan terhadap standar.  Menurut R. Glass: Kualitas adalah tingkat kesempurnaan.  Menurut J. Juran: Kualitas adalah tepat guna.
  • 11. Hubungan testing dan kualitas  Software yang berkualitas adalah software yang bebas error dan bug secara objektif, tepat waktu dan dana, sesuai dengan kebutuhan atau keinginan dan dapat dirawat (maintainable)  Definisi objektif : Suatu proses pembuktian yang terstruktur,terencana dan terdokumentasi dengan baik
  • 12. Hubungan Testing Dan Kualitas  Testing tidak dapat memastikan kualitas software, namun dapat memberikan jaminan terhadap software pada suatu tingkat tertentu  Jaminan kualitas (Quality Assurance – QA) mengukur kualitas proses yang digunakan untuk membuat produk berkualitas Testing merupakan bagian dari aktifitas QA
  • 13. Hubungan Testing Dengan Kualitas  Proyek pengembangan software memiliki kecenderungan untuk mengalami kegagalan Proyek yang gagal ???  Salah satu usaha menurunkan tingkat resiko terjadinya kegagalan adalah dengan berorientasi pada kualitas
  • 14. Tujuan testing  Adalah menemukan sebanyak mungkin masalah (error)  Tujuan dari menemukan masalah adalah memperbaikinya Tangani masalah yang bersifat penting, karena tidak semua permasalahan dapat.
  • 15. Misi tim testing  Tidak hanya untuk melakukan testing, tetapi juga membantu meminimalkan resiko kegagalan proyek  Mencari masalah dari produk  Mencari masalah potensial  Mencari kehadiran masalah Intinya adalah mencari dan melaporkan sehingga tim lain dapat membuat keputusan terhadap pengembangan produk
  • 16. Cont'd Perlu diingat, tester hanya menginformasikan Tidak melakukan pembenahan kode Tester adalah individu yang memberikan hasil pengukuran dari kualitas produk
  • 17. Psikologi testing  Jika pengembangan dilakukan secara konstruktif, maka testing dilakukan secara destruktif  Tester harus mempunyai keinginan yang mendasar untuk membuktikan kode gagal dan akan melakukan apa saja untuk membuatnya gagal  Bila seorang tester hanya ingin membuktikan bahwa kode beraksi sesuai dengan fungsi bisnisnya, maka tester tersebut telah gagal dalam menjalankan tugasnya sebagai tester
  • 18. Prinsip-prinsip testing prinsip pertama  Testing yang komplit (dilakukan secara menyeluruh) tidak memungkinkan dilakukan. Kemungkinan jumlah kombinasi testcase yang amat besar  Pertimbangan domain masukan yang mungkin sangat besar jumlahnya (masukan yang valid, tdk valid, masukan yg diedit dll)  Kompleksitas user interface dan desain.
  • 19. Cont'd  Jalur program yang mungkin dapat dilewati sangat banyak  Harus dilakukan test ulang, setiap ada perbaikan pada masing-masing bug
  • 20. Prinsip kedua Testing merupakan pekerjaan yang kreatif dan sulit mitos-mitos yang salah tentang testing :  Testing itu mudah  Tiap orang akan dapat melakukan testing dengan sendirinya padahal
  • 21. Cont'd Testing bukanlah hal yang sederhana, karena  Untuk dapat melakukan testing yang efektif harus mengetahui keseluruhan sistem  Sistem sendiri tidak sederhana (mudah dipahami)
  • 22. Prinsip ketiga  Testing berbasis pada resiko walaupun testing secara keseluruhan tidak dapat dilakukan, tidak berarti bahwa testing yang efektif tidak dapat dilakukan testing merupakan hasil pertimbangan dari resiko dan ekonomi
  • 23. Cont'd  Secara ringkas, testing dipengaruhi oleh pertimbangan :  Sumber daya dan biaya yang dibutuhkan untuk melakukan testing menurut skala prioritas, kompleksitas dan kesulitan testing  Biaya dari keterlambatan pengiriman produk (kemungkinan besar disebabkan testing)  Kemungkinan adanya suatu defect  Biaya yang disebabkan oleh defect, bilamana defect tsb menyebabkan error yang membawa kerugian langsung maupun tak langsung bagi customer
  • 24. Prinsip keempat  Testing harus direncanakan butuh pemikiran dengan pendekatan secara keseluruhan, desain tes dan penetapan hasil yang diinginkan untuk setiap kasus tes (test case) yang dipilih test plan : dokumen yang mencakup keseluruh tujuan testing dan pendekatan testing test design : dokumen yang mendefinisikan apa yang telah dipilih untuk dites dan hasil yang diharapkan “test direncanakan dan didesain sebelum kode dibuat”
  • 25. Cont'd Perencanaan tes sangat penting, yaitu :  Untuk dapat menjaga arah pelaksanaan tes agar tidak menyimpang dari tujuan tes itu sendiri (mengukur kualitas SW)  Menjaga kesesuaian penggunaan sumber daya dan jadwal proyek dengan menetapkan apa yang akan dites dan kapan berhenti  Membantu tester fokus terhadap apa yang akan dites (membuat test case)
  • 26. Prinsip kelima  Testing butuh independensi testing yang paling efektif adalah yang dilakukan oleh pihak ketiga (tidak bias)
  • 27. Dasar-dasar testing  Testing dikatakan baik, jika :  Kemungkinan mendapatkan error tinggi  Tidak redundan --> resource terbatas, tiap tes yang dilakukan HARUS memiliki tujuan yang berbeda  Tidak terlalu simpel atau kompleks
  • 28. Cont'd  Kode untuk kondisi khusus mendapatkan porsi tes yang sama dengan kode yang umum  Kode untuk kondisi khusus --> peluang mempunyai bug tinggi  Testing untuk kode yang dijalankan dalam kondisi normal tidak mengeksekusi error handling code  Testing yang sukses adalah testing yang berhasil menemukan error yang tidak diketahui
  • 29. “ STRATEGI PENGUJIAN/TESTING PERANGKAT LUNAK ”
  • 30.  Strategi uji coba PL memudahkan para perancang untuk menentukan keberhasilan system yang telah dikerjakan. Hal yang harus diperhatikan adalah langkah-langkah perencanaan dan pelaksanaan harus direncanakan dengan baik dan berapa lama waktu, upaya dan sumber daya yang diperlukan.  Strategi uji coba mempunyai karakteristik sebagai berikut :  Pengujian mulai pada tingkat modul yg paling bawah, dilanjutkan dengan modul di atasnya kemudian hasilnya dipadukan.  Teknik pengujian yang berbeda mungkin menghasilkan sedikit perbedaan (dalam hal waktu)
  • 31.  Pengujian dilakukan oleh pengembang perangkat lunak dan (untuk proyek yang besar) suatu kelompok pengujian yang independen.  Pengujian dan debugging merupakan aktivitas yang berbeda, tetapi debugging termasuk dalam strategi pengujian.  Pengujian PL adalah satu elemen dari topik yang lebih luas yang sering diacu sebagai verifikasi dan validasi (V& V).  Verifikasi : Kumpulan aktifitas yg menjamin penerapan PL benar- benar sesuai dengan fungsinya.  Validasi : Kumpulan aktivitas yang berbeda yang memastikan bahwa PL yang dibangun dapat memenuhi keperluan pelanggan.  Dengan kata lain :  Verifikasi : “ Apakah kita membuat produk dgn benar?”  Validasi : “ Apakah kita membuat benar-benar suatu produk?”
  • 32. Pendekatan Strategis ke pengujian perangkat lunak 1. Pengujian Unit 2. Pengujian Integrasi 3. Pengujian Validasi 4. Pengujian Sistem
  • 33. 1. Pengujian Unit  Berfokus pada inti terkecil dari desain perangkat lunak yaitu modul  Biasanya berorientasi pada white box
  • 34. Pengujian Unit Checklist untuk pengujian interface (Myers)  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?
  • 35. 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?  Apakah definisi variabel global konsisten dengan modul ?  Apakah batasan yang dilalui merupakan argumen?
  • 36. Pengujian Unit  Test case harus didesain untuk mengungkap kesalahan dalam 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
  • 37. Seberapa baik sistem yang sudah dibangun ? 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 diharapkan Verifikasi  “Apakah sistem dikembangkan dengan cara yang benar ?”  Pengujian apakah sistem sudah sesuai dengan spesifikasi
  • 38. 2. Integration testing  Menjelaskan kecacatan dalam antarmuka dan interaksi antar komponen terpadu (modul).  Semakin besar kelompok komponen perangkat lunak yang diuji terkait dengan elemen-elemen dari desain arsitekturnya akan dipadukan dan diuji sampai perangkat lunak bekerja sebagai sistem.
  • 39. 3. Pengujian Validasi  Setelah semua kesalahan diperbaiki maka langkah selanjutnya adalah validasi testing.  Pengujian validasi dikatakan berhasil bila fungsi yang ada pada PL sesuai dengan yg diharapkan pemakai.  Validasi PL merupakan kumpulan seri uji coba black box yang menunjukkan sesuai dengan yg diperlukan.  Kemungkinan kondisi setelah pengujian: 1. Karakteristik performansi fungsi sesuai dengan spesifikasi dan dapat diterima. 2. Penyimpangan dari spesifikasi ditemukan dan dibuatkan daftar penyimpangan.
  • 40. Pengujian Alpha dan Beta  Apabila PL dibuat untuk pelanggan maka dapat dilakukan aceeptance test sehingga memungkinkan pelanggan untuk memvalidasi seluruh keperluan.  Test ini dilakukan karena memungkinkan pelanggan menemukan kesalahan yang lebih rinci dan membiasakan pelanggan memahami PL yg telah dibuat.
  • 41.  Pengujian Alpha Dilakukan pada sisi pengembang oleh seorang pelanggan. PL digunakan pada setting yang natural dengan pengembang “yang memandang” melalui bahu pemakai dan merekam semua kesalahan dan masalah pemakaian.  Pengujian Beta Dilakukan pada satu atau lebih pelanggan oleh pemakai akhir PL dalam lingkungan yang sebenarnya, pengembang biasanya tidak ada pada pengujian ini. Pelanggan merekam semua masalah (real atau imajiner) yang ditemui selama pengujian dan melaporkan pada pengembang pada interval waktu tertentu.
  • 42. 4. Pengujian Sistem  Pada akhirnya PL digabungkan dengan elemen system lainnya dan rentetan perpaduan system dan validasi tes dilakukan. Jika uji coba gagal atau diluar batasan dari proses daur siklus pengembangan system, langkah yang diambil selama perancangan dan pengujian dapat diperbaiki. Keberhasilan perpaduan PL dan system yang besar merupakan kuncinya.  Sistem testing merupakan rentetan pengujian yang berbeda-beda dengan tujuan utama mengerjakan keseluruhan elemen system yang dikembangkan.
  • 43. Proses Pengujian Software Unit test Integration test test Validation System test System engineering Requirements Software Design Code & Implementation V&V Targets
  • 44. Pengujian Sistem (lanjutan)  Recovery/perbaikan Testing Adalah system testing yang memaksa PL mengalami kegagalan dalam bermacam-macam cara dan memeriksa apakah perbaikan dilakukan dengan tepat.  Security Testing Adalah pengujian yang akan melalukan verifikasi dari mekanisme perlindungan yang akan dibuat oleh system, melindungi dari hal-hal yang mungkin terjadi.  Strees Testing Dirancang untuk menghadapi situasi yang tidak normal pada saat program diuji. Testing ini dilakukan oleh system untuk kondisi seperti volume data yang tidak normal (melebihi atau kurang dari batasan) atau frekuensi.
  • 45. Menjalankan test 1. Testing aplikasi desktop 2. Testing aplikasi server 3. Testing aplikasi web
  • 46. 1.Testing aplikasi desktop  Jenis :  Functionality :  Aplikasi harus terlihat dan berfungsi sebagaimana mestinya terhadap end-user atau pengguna akhir. Testing dilakukan dengan menggunakan data yang menggambarkan data yang digunakan oleh pengguna sesungguhnya.  Data yang dimasukkan tersimpan dengan benar pada database.  Pengujian dilakukan sekelompok pengguna dengan kemampuan yang berbeda.  Configuration  Jika aplikasi Anda di-develop untuk lingkungan yang besar, testing harus dilakukan pada komputer khusus. Komputer yang digunakan sebagai komputer testing harus terlebih dahulu dikonfigurasi hanya dengan: a. Operating system yang dibutuhkan. b. Software pendukung/add on untuk aplikasi Driver yang diperlukan oleh aplikasi, jika ada. c. Aplikasi yang dites.
  • 47. Compatibility  Hardware  OS  Diimplementasikan pada konfigurasi yang berbeda diuji compatibilitasnya. Misalnya jika membuat di IE, coba di Firefox, Opera, Safari  HTML validation
  • 48. 2. Pengujian Aplikasi Server  Volume Testing  Stress Testing  Performance Testing  Data Recovery Testing  Data Backup and Restore Testing  Data Security Testing
  • 49. Volume Testing  Menemukan kelemahan sistem selama melakukan pemrosesan data dalam jumlah yang besar dalam periode waktu yang singkat.  Tujuan: meyakinkan bahwa sistem tetap melakukan pemrosesan data antara batasan fisik dan batasan logik.  Contoh:  Mengujikan proses antar server dan antar partisi hardisk pada satu server.
  • 50. Stress Testing  Tujuan: mengetahui kemampuan sistem dalam melakukan transaksi selama periode waktu puncak proses. Contoh periode puncak: ketika penolakan proses login on-line setelah sistem down atau pada kasus batch, pengiriman batch proses dalam jumlah yg besar dilakukan setelah sistem down.  Contoh: Melakukan login ke server ketika sejumlah besar workstation melakukan proses menjalankan perintah sql database.
  • 51. Performance Testing  Dilakukan secara paralel dengan Volume dan Stress testing untuk mengetahui unjuk kerja sistem (waktu respon, throughput rate) pada beberapa kondisi proses dan konfigurasi.  Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak.  Mis.: pd aplikasi Client-Server diujikan pd kondisi korporate ataupun lingkungan sendiri (LAN vs. WAN, Laptop vs. Desktop)  Menguji sistem dengan hubungannya sistem ke lain pada server yg sama.  Load Balancing Monitor  Network Monitor
  • 52. Data Recovery Testing  Investigasi dampak kehilangan data melalui proses recovery ketika terjadi kegagalan proses.  Penting dilakukan karena data yang disimpan di server dapat dikonfigurasi dengan berbagai cara.  Kehilangan Data terjadi akibat kegagalan sistem, hardisk rusak, peghapusan yang tidak sengaja, kecelakaan, virus dan pencuri.
  • 53. Data Backup and Restore Testing  Dilakukan untuk melihat prosedur back-up dan recovery.  Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses backup dan recovery.  Pengujian dilakukan terhadap strategi backup: frekuensi, medium, waktu, mekanisme backup (manual/ otomatis), personal, ? Berapa lama backup akan disimpan.  Switching antara live dan backup server ketika terjadi kerusakan (load log transaction pada back-up kemudian melaku recovery).
  • 54. Data Security Testing  Privilege access terhadap database diujikan pada beberapa user yang tidak memiliki privilege access ke database.  Shutdown database engine melalui operating system (dengan beberapa perintah OS) yg dapat mematikan aplikasi database.
  • 55. Testing aplikasi web  Testing untuk aplikasi web memiliki banyak kesamaan dengan testing untuk aplikasi client server, tetapi aplikasi web lebih sulit karena tingkat kompleksitasnya lebih tinggi  interaksi komponen (teknologi) yang dipergunakan tidak terbatas  Browser  OS  Aplikasi plugin, dll
  • 56.  Idealnya semua komponen dan fungsi yang ada pada sisi client dan server harus dites (tapi sangat jarang bisa dilakukan)  pendekatan terbaik agar tetap sesuai dengan batasan waktu dan budget :  Mengecek requirement project/kebutuhan proyek  Mensetting prioritas sesuai hasil risk analysis  Tentukan fokus testing yang dilakukan
  • 57. Risk analysis  Risk analysis yang dilakukan harus mempertimbangkan :  seberapa mirip lingkungan test dengan lingkungan produksi (idealnya akan mirip)  fungsionalitas mana yang sangat kritikal terhadap tujuan pembuatan website  area mana yang memerlukan interaksi DB yang lebih banyak
  • 58.  tipe permasalahan seperti apa yang akan lebih sering dikomplain  area mana dari suatu situs yang akan lebih sering dibuka  aspek mana yang memiliki resiko keamanan lebih tinggi
  • 59. faktor faktor seperti project requirement, risk analysis, budget dan schedule menentukan kategori testing yang mana yang sesuai dengan project web yang dilaksanakan
  • 60. Kategori testing web  Load testing  Security testing  Link testing  HTML validation  dll
  • 61. Penjelasan  Load testing  Testing dengan load yang sudah diatur rangenya untuk menentukan pada poin mana respons time sistem turun atau bahkan gagal sama skali.  Server yang dipakai, seting konfigurasi yang dipergunakan, script CGI, desain database dan faktor-faktor lain bisa juga memberikan pengaruh  Testing bisa dilakukan dengan 2 cara  Testing keseluruhan komponen dibawah kondisi yang bermacam-macam  Testing masing-masing komponen
  • 62.  Security testing  Untuk aplikasi web base mengharuskan tingkat keamanan yang tinggi, testing aplikasi harus mempertimbangkan pengujian keamanan aplikasi tersebut.  Menguji semua fungsi yang berhubungan dengan firewall, enkripsi, autentikasi, transaksi, akses database.  Selain permasalahan kontrol akses di sisi client (password dan enkripsi) juga ada permasalahan di sisi server seperti siapa yang berhak mempublish dan memodifikasi file html, siapa yang memiliki wewenang untuk melakukan publikasi final, yang meng- approve suatu file graphics, file sound dan halaman layout  Sebagai contoh adalah sebuah aplikasi e-commerce yang mengizinkan transaksi melalui kartu kredit. Cukup banyak terjadi kasus pencurian PIN/Password credit card dengan memanfaatkan kelemahan aplikasi e-commerce.
  • 63.  Link testing  Untuk menentukan apakah link dari suatu situs baik itu ke internal dan external web pages bekerja  Web yang memiliki banyak link ke situs luar perlu link testing yang dijadwal secara teratur  HTML validation  Ditentukan oleh audience yg dituju, jenis browser yang kemungkinan akan dipakai dan seberapa sesuai dengan standar html, microsoft atau ekstensi lainnya
  • 64. Tool yang dipergunakan  Load testing Curl-Loader, StressTester, Proxy Sniffer, Funkload, Loadea, LoadManager, webStress, WAPT, FORECAST, dll  Security testing Hailstorm, OWASP Security testing tools, GamaSec, Wikto, add-ons di firefox  SQL Inject Me 0.4.0
  • 65. Cont’d  Link testing WebLight, HTML PowerTools, Broken Link Preventer, W3C Link Checker  HTML validation WebLight, HTML PowerTools, W3C CSS Validation Service, W3C HTML Validation Service