SlideShare a Scribd company logo
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

More Related Content

PPT
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
PDF
Pengujian Perangkat Lunak
PPT
Sistem Operasi Komputer
PPT
metode-pengujian-blackbox
DOCX
Makalah Organisasi Komputer - Direct Memory Access (DMA)
PPTX
Testing&implementasi 4
PDF
Perancangan perangkat lunak
PPT
Rational Unified Process
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
Pengujian Perangkat Lunak
Sistem Operasi Komputer
metode-pengujian-blackbox
Makalah Organisasi Komputer - Direct Memory Access (DMA)
Testing&implementasi 4
Perancangan perangkat lunak
Rational Unified Process

What's hot (20)

PDF
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
PDF
Testing dan implementasi_sistem_-_romeo
PDF
Pertemuan 5 Perencanaan Testing
PDF
Prinsip User Interface Design
DOCX
Perancangan (diagram softekz, dfd level 0,1,2)
DOCX
Analisa Website Traveloka - Makalah IMK
PDF
Materi 2 : Perangkat lunak (software)
PDF
Software Requirement Specification SRS
PPTX
Pembuatan uml pada toko belanja online
PPT
Strategi pengujian perangkat lunak
PDF
RPL 1 (Lama) - Pengujian Perangkat Lunak
PPTX
Materi 3 Finite State Automata
PPTX
Requirement Engineering
DOCX
Diagram Konteks dan DFD Sistem Informasi Penjualan
PPTX
Sistem input output
PDF
Interaksi Manusia dan Komputer : Conceptual Model
DOCX
MAKALAH CLOUD COMPUTING
PDF
Basis Data Client-Server
PPTX
Analisis Kebutuhan Sistem Informasi
PPTX
Analisis Semantik - P 6 Teknik Kompilasi
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
Testing dan implementasi_sistem_-_romeo
Pertemuan 5 Perencanaan Testing
Prinsip User Interface Design
Perancangan (diagram softekz, dfd level 0,1,2)
Analisa Website Traveloka - Makalah IMK
Materi 2 : Perangkat lunak (software)
Software Requirement Specification SRS
Pembuatan uml pada toko belanja online
Strategi pengujian perangkat lunak
RPL 1 (Lama) - Pengujian Perangkat Lunak
Materi 3 Finite State Automata
Requirement Engineering
Diagram Konteks dan DFD Sistem Informasi Penjualan
Sistem input output
Interaksi Manusia dan Komputer : Conceptual Model
MAKALAH CLOUD COMPUTING
Basis Data Client-Server
Analisis Kebutuhan Sistem Informasi
Analisis Semantik - P 6 Teknik Kompilasi
Ad

Viewers also liked (20)

PPTX
Testing&implementasi 4 5
PDF
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
PPTX
Testing&implementasi 2
PPTX
Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...
PPT
Testing&implementasi 1 pendahuluan
PPTX
Testing&implementasi 1
DOC
Kisi2 generasi ke 4
PPT
10. bahasa rakitan
PPT
Generasi bhs pemrograman.ppt
PDF
Property based Testing - generative data & executable domain rules
PPT
Teknik kompilasi dalam bahasa pemograman c
PPTX
Encapsulation C++
PPTX
encapsulation
DOCX
Aplikasi penjualan busana fashion berbasis dekstop
PDF
Pengaturcaraan c
PPTX
Encapsulation
PPTX
Tugas makalah modul pariwisata
PDF
Perancangan dan Analisa Sistem
PPT
Leipers model
PPT
Encapsulation
Testing&implementasi 4 5
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Testing&implementasi 2
Education tourism - Pariwisata Pendidikan , Sosiologi Pariwisata Universitas ...
Testing&implementasi 1 pendahuluan
Testing&implementasi 1
Kisi2 generasi ke 4
10. bahasa rakitan
Generasi bhs pemrograman.ppt
Property based Testing - generative data & executable domain rules
Teknik kompilasi dalam bahasa pemograman c
Encapsulation C++
encapsulation
Aplikasi penjualan busana fashion berbasis dekstop
Pengaturcaraan c
Encapsulation
Tugas makalah modul pariwisata
Perancangan dan Analisa Sistem
Leipers model
Encapsulation
Ad

Similar to Testing&implementasi 3 (20)

PDF
3.Dasar dan Prinsip Testing-Basic Testing and Principles.pdf
PPTX
Testing dan implemetasi sistem 1
PPT
Minggu Ii
PPT
M K P L Pertemuan5
PPT
Mkpl Pertemuan5
PPTX
Dasar – dasar Testing week 3 (21).pptx
PPTX
software testing (black box testing) -- irma darmayanti
PPTX
Testing dan implemetasi sistem 3
PPTX
2. KONSEP DASAR PENGUJIAN PERANGKAT LUNAK.pptx
PDF
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
PDF
PDF
Whitebox
PDF
1.PENGUJIAN PERANGKAT LUNAK - SOFTWARE TESTING.pdf
PDF
pendahuluan-PENGUJIAN_PERANGKAT_LUNAK.pdf
PPT
210_20250108071656_SOFTWARE TESTING.ppt
RTF
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
PPT
2731788.ppt
PPT
implementasi dan testing sistem informasi
PPT
Teknik Pengujian Perangkat Lunak dalam pengembangan
PPT
Teknik Pengujian Perangkat Lunak
3.Dasar dan Prinsip Testing-Basic Testing and Principles.pdf
Testing dan implemetasi sistem 1
Minggu Ii
M K P L Pertemuan5
Mkpl Pertemuan5
Dasar – dasar Testing week 3 (21).pptx
software testing (black box testing) -- irma darmayanti
Testing dan implemetasi sistem 3
2. KONSEP DASAR PENGUJIAN PERANGKAT LUNAK.pptx
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
Whitebox
1.PENGUJIAN PERANGKAT LUNAK - SOFTWARE TESTING.pdf
pendahuluan-PENGUJIAN_PERANGKAT_LUNAK.pdf
210_20250108071656_SOFTWARE TESTING.ppt
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
2731788.ppt
implementasi dan testing sistem informasi
Teknik Pengujian Perangkat Lunak dalam pengembangan
Teknik Pengujian Perangkat Lunak

More from aiiniR (16)

PPTX
Crm 8 strategi crm
PPTX
Crm 7 mempertahankan pelanggan
PPTX
Crm 6 tipe pelanggan
PPTX
Crm 5 nilai pelanggan
PPTX
Crm 4 analisis portofolio pelanggan
PPTX
Crm 3 rantai nilai crm
PPTX
Crm 2 konsep crm
PPTX
Crm 1 kontrak kuliah
PPT
Pert 06 association rules
PPTX
Pert 05 aplikasi clustering
PPTX
Pert 04 clustering data mining
PPTX
Pert 03 introduction dm 2012
PPTX
Pert 02 statistik deskriptif 2013
PDF
3 basis data
PDF
2 pengenalan peta
PDF
1 konsep dasar_sig
Crm 8 strategi crm
Crm 7 mempertahankan pelanggan
Crm 6 tipe pelanggan
Crm 5 nilai pelanggan
Crm 4 analisis portofolio pelanggan
Crm 3 rantai nilai crm
Crm 2 konsep crm
Crm 1 kontrak kuliah
Pert 06 association rules
Pert 05 aplikasi clustering
Pert 04 clustering data mining
Pert 03 introduction dm 2012
Pert 02 statistik deskriptif 2013
3 basis data
2 pengenalan peta
1 konsep dasar_sig

Recently uploaded (8)

PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
PPTX
PEMAHAMAN MAPEL KODING DAN KECERDASAN ARTIFICIAL
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PPTX
PERANCANGAN DAN PENGEMBANGAN VIDEO GAME SEBAGAI MEDIA TERAPI DEPRESI
PPT
pengantar-sistem-informasi manajemen.ppt
PPTX
Implementasi Microservices pada Manufaktur
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
PEMAHAMAN MAPEL KODING DAN KECERDASAN ARTIFICIAL
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PERANCANGAN DAN PENGEMBANGAN VIDEO GAME SEBAGAI MEDIA TERAPI DEPRESI
pengantar-sistem-informasi manajemen.ppt
Implementasi Microservices pada Manufaktur
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...

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