Anda di halaman 1dari 57

Strategi Pengujian Perangkat Lunak

Antonius Wahyu Sudrajat, S. Kom., M.T.I


Standar Kompetensi
• Mahasiswa dapat menjelaskan pentingnya Strategi
pengujian perangkat lunak. (C2)
• Mahasiswa dapat memahami masalah-masalah yang
timbul dari strategi pengujian yang digunakan. (C3)
• Mahasiswa dapat menjelaskan proses pengujian
perangkat lunak. (C3)
• Mahasiswa dapat menjelaskan pendekatan strategi yang
digunakan dalam pengujian perangkat lunak. (C3)

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Strategi Pengujian Perangkat Lunak

Kapan Terakhir anda menggunakan


strategi? Dan untuk apa anda
gunakan?

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Strategi di Zaman Cina Kuno
Jenderal Sun Tzu atau dikenal dengan juga dengan
Sun Wu adalah seorang Jenderal militer jaman
China kuno , Dia juga seorang ahli strategi dan
filsataf yang secara tradisional diyakini telah menulis
buku The Art of War,

Buku "The Art of War" ini menyajikan suatu filsafat


perang untuk mengelola konflik dan memenangkan
pertempuran.

Perdaya Langit untuk melewati Samudera.


Bergerak di kegelapan dan bayang-bayang, menggunakan
tempat-tempat tersembunyi, atau bersembunyi di belakang
layar hanya akan menarik kecurigaan. Untuk memperlemah
pertahanan musuh anda harus bertindak di tempat terbuka
menyembunyikan maksud tersembunyi anda dengan
aktivitas biasa sehari-hari.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
• The test plan is a document that lists all the activities in a
QA project, schedules them, defines the scope of the
project, roles & responsibilities, risks, entry & exit criteria,
test objective and anything else that you can think of.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Ilustrasi strategi

• Sebuah perangkat lunak dimulai dari penentuan kebutuhan perangkat


lunak, kemudian prose dilanjutkan ke dalam bentuk rancangan, dan
akhirnya ke pengkodean.
kebutuhan rancangan pengkodean
• Strategi pengujian serupa dengan hal tersebut, dimulai dengan unit
testing di pusat spiral di mana masing-masing modul/unit dari perangkat
lunak yang diimplementasikan dalam source code menjadi sasaran
pengujian.
• Kemudian dilakukan integration testing dengan focus pengujian adalah
desain dan kontruksi arsitektur perangkat lunak.
• Selanjutnya dilakukan validation testing dengan sasaran pengujian adalah
kesesuaian dengan kebutuhan perangkat lunak yang telah ditentukan di
awal.
• Terakhir pada lingkaran terluar spiral sampai pada system testing, di
mana perangkat lunak dan keseluruhan sistem diuji.
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
• Diagram disamping menunjukkan dua langkah yaitu proses rekayasa
perangkat lunak (software engineering) dan proses strategi pengujian
perangkat lunak. Untuk proses software engineering :
• Software Engineering mendefinisikan peran dari software dan
mengarahkan ke software requirement analysis, sebagai pusat kriteria
informasi, fungsi, perilaku, performa, batasan dan validasi dari software
yang dibangun.
• Bergerak kedalam sepanjang spiral, hingga design dan terakhir proses
koding (code). Untuk proses strategi pengujian perangkat lunak :
– Dimulai dari Unit Testing yang dikonsentrasikan pada setiap unit
software seperti yang diterapkan dalam source code
– Kemudian bergerak keluar hingga ke integration testing dimana fokus
pada desain dan konstruksi pada arsitektur software.
– Kemudian bergerak lagi hingga ke validation testing dimana
kebutuhan dibentuk sebagai bagian dari software requirement
analysis yang divalidasi berdasarkan software yang dibentuk.
– Terakhir pada system testing dimana software dan element system
lainnya dites secara keseluruhan

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pendekatan Strategis ke Pengujian Perangkat lunak
• Pengujian merupakan rangkaian aktivitas yang dapat direncanakan sebelumnya
dan dilakukan secara sistematis. Strategi uji coba perangkat lunak 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 yg diperlukan Strategi uji coba mempunyai karakteristik sbb :
– Pengujian mulai pada tingkat modul yg paling bawah, dilanjutkan degan
modul di atasnya kemudian hasilnya dipadukan
– Teknik pengujian yang berbeda mungkin menghasilakn 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 Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Pengorganisasian Pengujian Perangkat Lunak
• Proses pengujian sebuah perangkat lunak sebaiknya melibatkan pihak yang memang secara
khusus bertanggung jawab untuk melakukan proses pengujian secara independen. Untuk
itulah diperlukan Independent Test Group (ITG).
• Peran dari ITG adalah untuk menghilangkan “conflict of interest” yang terjadi ketika
pengembang perangkat lunak berusaha untuk menguji produknya sendiri.
• Walaupun seperti itu, sering terjadi beberapa kesalahan pemahaman berkaitan dengan peran
ITG, antara lain:
– Pengembang tidak boleh melakukan pengujian sama sekali. Pendapat ini tidak 100% benar,
Karena dalam banyak kasus, pengembang juga melakukan proses unit testing dan
integration test.
– Perangkat lunak dilempar begitu saja untuk diuji secara sporadic. Hal tersebut adalah salah
karena pengemmbang dan ITG bekerja sama pada kesalahan proyek untuk memastikan
pengujian akan dilakukan. Sementara pengujian dilakukan, pengembang harus
memperbaiki kesalahan yang ditemukan.
– Penguji tidak terlibat pada proyek sampai tahap pengujian dimulai. Hal tersebut salah
karena ITG merupakan bagian dari tim proyek pengembangan perangkat lunak dimana ia
terlihat selama spesifikasi proses dan tetap terlibat pada keseluruhan proyek besar.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Masalah-Masalah Strategis
• Menspesifikasikan kebutuhan produk pada kelakuan yang terukur sebelum
pengujian dimulai. Strategi pengujian yang baik tidak hanya untuk
menenmukan kesalahan, namun juga unutk menilai kualitas program.
• Menspesifikasikan tujuan pengujian secara eksplisit perangkat lunak. Sasaran
spesifik dari pengujian harus dinyatakan dalam bentuk yang terukur
• Mengidentifikasikan kategori user untuk perangkat lunak dan membuat
profilnya masing-masing. Beberapa kasus yang menggambarkan scenario
interaksi bagi masing-masing kategori dapat mengurangi kerja pengujian
dengan memfokuskan pengujian pada penggunaan actual produk.
• Membangun rencana pengujian yang menegaskan rapid cycle testing. Umpan
balik yang muncul dari rapid cycletesting dapaat digunakan untuk
mengontrol kualitas dan strategi pengujian yangsesuai.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Masalah-Masalah Strategis
• Membangun perangkat lunak yang tangguhyang dirancang untuk menguji
dirinya sendiri. Perangkat lunak dapatmendiagnosis jenis-jenis kesalahan
tertentu dan mengakomodasi pengujianotomatis dan pengujian regresi.
• Menggunakan tinjauan formal yang efektif sebagai filter sebekum
pengujian.Kajian teknis formal dapat mengungkap kesalahan seefektif
pengujian sehinggadapat mengurangi jumlah kerja pengujian.
• Mengadakan tinjauan formal dapatmengungkap inkonsistensi,
penghapusan, dan kesalahan seketika dalam pendekatanpengujian.
• Membangun pendekatan yang meningkatsecara berkelanjutan untuk
proses pengujian. Strategi pengujian harus terukur.Metric yang terkumpul
selama pengujian harus digunakan sebagai bagian daripendekatan control
proses statistical bagi pengujian perangkat lunak.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pentingnya pengujian sistem
• Pengujian perangkat lunak dilakukan untuk menentukan
keberadaan, kualitas, dan kemurnian dari atribut-atribut
sistem aplikasi.
• Pengujian dilakukan dengan memanfaatkan tool dan
teknik.
• Semakin baik struktur dari proses pengujian, semakin
baik pula hasil pengujiannya

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Konsep kecocokan aplikasi
• Keefektifan dari aplikasi komputer dalam lingkungan bisnis
ditentukan dari tingkat kecocokan aplikasi tersebut dalam
lingkungan operasinya.
• Kecocokan (fit) merupakan suatu konsep yang menekankan pada
bagaimana tingkat kegunaan (usable), pembantuan (helpful) dan
manfaat dari unjuk kerja aplikasi dalam membantu tugas-tugas
pemakai.
• Semakin baik tingkat bantuan aplikasi kepada pemakai, semakin
baik tingkat "kecocokannya "

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


• Konsep kecocokan ini penting dalam aspek desain
maupun pengujian.
• Desain harus bertujuan untuk membangun aplikasi yang
"cocok" dengan proses bisnis pemakai dan proses
pengujian harus dapat meyakinkan tingkat kecocokan
yang dikehendaki dipenuhi.
• Pengujian yang berkonsentrasi pada struktur dan
kebutuhan (requirement) dapat gagal memenuhi aspek
kecocokan.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Aspek Kecocokan
1. Data: data yang andal, timelines (tepat waktu), konsisten dan
banyak berguna (useful) terkendali dalam aplikasi yang
diotomatisasi bagi pemakai.
2. Orang-orang: keahlian, training, kemampuan belajar dan
kesenangan untuk menggunakan dan berinteraksi dengan aplikasi
yang diotomatisasi.
3. Struktur: pembangunan yang tepat dari sistem aplikasi untuk
mengoptimalkan tcknologi dan memenuhi kebutuhan.
4. Aturan-aturan: prosedur-prosedur yang harus dipatuhi dalam
pemrosesan data.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Tools vs Teknik
o Tool merupakan 'kendaraan" untuk melakukan proses
pengujian. Tool merupakan sumber bagi penguji, tapi tool
sendiri tidak dapat melaksanakan pengujian.
o Teknik pengujian adalah proses untuk meyakinkan bahwa
beberapa aspek dari sistem aplikasi berfungsi dengan
baik. Ada sedikit teknik, tapi ada banyak tool.
o Konsep dari tool dan teknik ini penting dalam proses
pengujian. Kombinasi keduanya memungkinkan untuk
dilakukannya proses pengujian.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


• Proses Bisnis yang berjalan
– Naratif atau cerita
– Rich picture
– Flowchart
– DFD
– Activity Diagram
– Dll

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Tools vs Teknik
o Tool merupakan 'kendaraan" untuk melakukan proses
pengujian. Tool merupakan sumber bagi penguji, tapi tool
sendiri tidak dapat melaksanakan pengujian.
o Teknik pengujian adalah proses untuk meyakinkan bahwa
beberapa aspek dari sistem aplikasi berfungsi dengan
baik. Ada sedikit teknik, tapi ada banyak tool.
o Konsep dari tool dan teknik ini penting dalam proses
pengujian. Kombinasi keduanya memungkinkan untuk
dilakukannya proses pengujian.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


S/W Testing tools
• Tools pengujian perangkat
lunak dikelompokkan
menjadi :
a) Test Management
tools
b) Functional Testing
Tools
c) Load Testing Tools

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Testing Strategies
• Tools pengujian perangkat lunak dikelompokkan
menjadi :
a) Top-Down
b) Bottom-Up
c) Big Bang
d) Sandwich

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


• Diagram Konteks • Diagram Konteks
• Diagram Nol • DAD Kejadian
• Diagram Rinci • DAD Sub Sistem
• DAD System

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Proses Testing

Unit Module Sub-system System Acceptance


Testing Testing Testing Testing Testing

User
Component Testing Integration Testing Testing

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Test Phases
• Unit Testing
• Component/Subsystem Testing
• Integration atau product testing
• String testing
• System testing
• User acceptance testing
• Pilot testing

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Proses Testing
• Unit testing
– Pengujian masing-masing unit komponen program untuk
meyakinkan bhw sudah beroperasi secara benar
• Module Testing
– Pengujian terhadap koleksi unit-unit komponen yang saling
berhubungan.
• Sub-system Testing
– Pengujian terhadap koleksi module-module yang membentuk
suatu sub-system (aplikasi)

25
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Proses Testing
• System Testing
– Pengujian terhadap integrasi sub-system, yaitu keterhubungan
antar sub-system
• Acceptance Testing
– Pengujian terakhir sebelum sistem dipakai oleh user.
– Melibatkan pengujian dengan data dari pengguna sistem.
– Biasa dikenal sebagai “alpha test” (“beta test” untuk software
komersial, dimana pengujian dilakukan oleh potensial
customer)

26
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Proses Testing
• Component testing
– Pengujian komponen-komponen program
– Biasanya dilakukan oleh component developer (kecuali untuk
system kritis)
• Integration testing
– Pengujian kelompok komponen-komponen yang terintegrasi
untuk membentuk sub-system ataupun system
– Dilakukan oleh tim penguji yang independent
– Pengujian berdasarkan spesifikasi sistem

27
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Hirarki pengujian P/L

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Hubungan antara rencana pengujian dan proses
pengembangan sistem
Spesifikasi Spesifikasi Perancangan Detail
Kebutuhan Sistem Sistem Perancangan

Acceptance System Sub-System Module and


Test plan Integration Integration Unit code and
Test plan Test plan test

Acceptance System Sub-System


Service test Integration Integration
test test
Pendekatan
Strategis ke
pengujian
perangkat lunak

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Konsep Dasar Unit Testing
• Unit testing (uji coba unit) fokusnya pada usaha verifikasi
pada unit terkecil dari desain perangkat lunak, yakni
modul. Ujicoba unit selalu berorientasi pada white box
testing dan dapat dikerjakan paralel atau berunrutan
dengan modul lainnya.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Dasar Pertimbangan Pengujian Unit
• Interface modul diuji untuk memastikan bahwa informasi secara
tepat mengalir masuk dan keluar dari inti program yang diuji.
• Struktur data local diuji untuk memastikan bahwa data yang
tersimpan secara temporal dapat tetap menjaga integritasnya
selama semua langkah langkah di dalam suatu algoritma
dieksekusi.
• Kondisi batas diuji untuk memastikan bahwa modul beroperasi
dengan tepat pada batas yang ditentukan untuk membatasi
pemrosesan.
• Semua jalur independen (jalur dasar) yang melalui struktur
control dipakai sedikirnya satu kali. Dan akhirnya penanganan
kesalan diuji.
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Prosedur Pengujian Unit
• sumber telah dikembangkan, ditunjang kembali dan diverifikasi
untuk sintaksnya, maka perancangan test case dimulai.
• Peninjauan kembali perancangan informasi akan menyediakan
petunjuk untuk menentukan test case. Karena modul bukan
program yg berdiri sendiri maka driver (pengendali) dan atau stub
perangkat lunaK harus dikembangkan untuk pengujian unit.
• Driver adl program yg menerima data untuk test case dan
menyalurkan ke modul yg diuji dan mencetak hasilnya.
• Stub melayani pemindahan modul yg akan dipanggil untuk diuji

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Konsep Dasar Integration testing
• Pengujian keseluruhan system atau sub-system yang
terdiri dr komponen yg terintegrasi.
• Test integrasi menggunakan black-box dengan test case
ditentukan dari spesifikasi.
• Kesulitannya adalah menemukan/melokasikan
• Penggunaan Incremental integration testing dapat
mengurangi masalah tersebut.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pengujian Integrasi
• Pengujian terintegrasi adl teknik yg sistematis untuk
penyusunan struktur program, pada saat dikerjakan uji
coba untuk memeriksa kesalahan yg nantinya
digabungkan dengan interface. Metode pengujian:
– Top down integration
– Buttom up integration

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Top down integration
• Merupakan pendekatan inkrmental untuk penyusunan struktur program. Modul
dipadukan dgn bergerak ke bawah melalui kontrol hirarki dimulai dari modul
utama. Modul subordinat ke modul kontrol utama digabungkan ke dalam
struktur baik menurut depth first atau breadth first.

• Proses integrasi:
– Modul utama digunakan sebagai test driver dan stub yg menggantikan
seluruh modul yg secara langsung berada di bawah modulkontrol utama.
– Tergantung pada pendekatan perpaduan yg dipilih(depth / breadth)
– Uji coba dilakukan selama masing-masing moduldipadukan
– Pada penyelesaian masing-masing uji coba stub yglain dipindahkan dgn
modul sebenarnya.
– Uji coba regression yaitu pengulangan pengujian untuk mencari kesalahan
lain yg mungkin muncul.
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Top-down testing
Testing
Level 1 Level 1 . ..
sequence

Level 2 Level 2 Le vel 2 Level 2

Le vel 2
stubs

Le vel 3
stubs

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Buttom up integration
• Pengujian buttom up dinyatakan dgn penyusunan yg dimulai dan
diujicobakan dgn atomic modul (modul tingkat paling bawah pdstruktur
program). Karena modul dipadukan dari bawah ke atas, proses
ygdiperlukan untuk modul subordinat yg selalu diberikan harus ada dan
diperlukanuntuk stub yg akan dihilangkan.
• Strategi pengujian
– Modul tingkat bawah digabungkan ke dalam clusteryg memperlihatkan
subfungsi perangkat lunak
– Driver (program kontrol pengujian) ditulisuntuk mengatur input test
case dan output
– Clusterd iuji
– Driver diganti dan cluster yg dikombinasikandipindahkan ke atas pada
struktur program

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Bottom-up testing

Test
drivers

Testing
Level N Level N Le vel N Level N Level N
sequence

Test
drivers
Level N–1 Level N–1 Level N–1

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Konsep Dasar Validasi Testing
• Setelah semua kesalahan diperbaiki maka
langkahselanjutnya adalah validasi terting. Pengujian validasi
dikatakan berhasil bila fungsi yg ada pada perangkat lunak
sesuai dgn yg diharapkan pemakai. Validasi perangkat lunak
merupakan kumpulan seri uji coba black box yg
menunjukkan sesuai dgn yg diperlukan.
• Kemungkinan kondisi setelah pengujian:
– Karakteristikperformansi fungsi sesuai dgn spesifikasi dan
dapat diterima
– Penyimpangandari spesifikasi ditemukan dan dibuatkan
daftar penyimpangan.
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Pengujian BETA dan ALPHA
• Apabila PERANGKAT LUNAK dibuat untuk pelanggan makadapat dilakukan
aceeptance test sehingga memungkinkan pelanggan untukmemvalidasi seluruh
keperluan. Test ini dilakukan karena memungkinkan pelanggan menemukan
kesalahan yg lebih rinci dan membiasakan pelanggan memahami PERANGKAT
LUNAK yg telah dibuat.
– Pengujian Alpha
Dilakukan pada sisi pengembang oleh seorang pelanggan. Perangkat Lunak
digunakan pada setting yg natural dgn pengembang “yg memandang”melalui
bahu pemakai dan merekam semua kesalahan dan masalah pemakaian
– Pengujian Beta
Dilakukan pada satu atau lebih pelanggan oleh pemakai akhir perangkat lunak
dalam lingkungan yg sebenarnya, pengembang biasanya tidak ada pada pengujian
ini. Pelanggan merekan semua masalah (real atau imajiner) yg ditemui selama
pengujian dan melaporkan pada pengembang pada interval waktu tertentu.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Konsep Dasar System Testing
• Pada akhirnya PERANGKAT LUNAK digabungkan dgn elemensystem lainnya dan rentetan perpaduan
system dan validasi tes dilakukan. Jikauji coba gagal atau di luar skope dari proses daur siklus
pengembangan system,langkah yg diambil selama perancangan dan pengujian dapat
diperbaiki.Keberhasilan perpaduan PERANGKAT LUNAK dan system yg besar merupakan kuncinya.
• Sistem testing merupakan rentetan pengujian yg berbeda-beda dgn tujuan utama mengerjakan
keseluruhan elemen system yg dikembangkan.

•  Recovery Testing
Adalah system testing yg memaksa PERANGKAT LUNAKmengalami kegagalan dalam bermacam-macam
cara dan apakah perbaikan dilakukandgn tepat.
• Security Testing
Adalah pengujian yg akan melalukan verifikasi darimekanisme perlindungan yg akan dibuat oleh
system, melindungi dari hal-hal ygmungkin terjadi.
• Strees Testing
Dirancang untuk menghadapi situasi yg tidak normalpada saat program diuji. Testing ini dilakukan oleh
system untuk kondisi seperti volume data yg tidak normal (melebihiatau kurang dari batasan) atau
fekuensi.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pengujian Aplikasi Server
• Volume Testing
• Stress Testing
• Performance Testing
• Data Recovery Testing
• Data Backup and Restore Testing
• Data Security Testing

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


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 anatar batasan fisik dan batasan logik.
• Contoh:
 Mengujikan proses antar server dan antar partisi

hardisik pd satu server.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


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.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


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

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Performance testing tools
• Below is the comprehensive list of most widely used
performance testing tools for measuring web application
performance and load stress capacity. These load testing
tools will ensure your application performance in peak
traffic and extreme stress conditions.

47
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Top 15 Performance Testing Tools
• Apache JMeter
• NeoLoad
• LoadRunner
• LoadUI
• WebLOAD
• WAPT
• Loadster
• LoadImpact
• Rational Performance Tester
• Testing Anywhere
• OpenSTA
• QEngine (ManageEngine)
• Loadstorm
• CloudTest
• Httperf

48
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Data Recovery Testing
• Investigasi dampak kehilangan data melalui proses
recovery ketika terjadi kegagalan proses.
• Penting dilakukan karena data yg disimpan di server
dapat dikonfigurasi dengan berbagai cara.
• Kehilangan Data terjadi akibat kegagalan sistem, hardisk
rusak, peghapusan yg tidak sengaja, kecelakaan, virus dan
pencuri.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


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

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


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.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Debugging
• Debugging bukan merupakan pengujian, namun merupakan konsekuensi dari pengujian yang
berhasil. Jika sebuah kasus uji berhasil menemukan kesalahan, maka proses debugging
bertujuan untuk menghilangkan kesalahan tersebut.
• Debugging merupakan proses yangsulit untuk dilakukan karena adanya beberapa karakteristik
bug seperti:
– Gejala dan penyebab dari bug bisa sajasangat jauh, gejala dapat muncul pada bagian
tertentu dari program danpenyebabnya bisa saja berada pada bagian lain yang sangat jauh
dari tempatmunculnya gejala.
– Gejala dapat hilang ketika kesalahanyang lain diperbaiki
– Gejala dapat ditimbulkan oleh sesuatuyang tidak salah(mis. Pembulatan yang tidak akurat).
– Gejala dapat disebabkan oleh masalahtiming.
– Kemungkinan sulit untuk memproduksikondisi onput secara akurat.
– Gejala dapat terjadi tiba-tiba.
– Gejala dapat disebabkan oleh sesuatuyang didistribusikan melewati sejumlah tugas yang
bekerja pada prosesor yangberbeda-beda.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Debugging
• Brute Force
Merupakan teknik yang paling seringdigunakan dan paling tidak efisien dalam mengisolasi penyebab
kesalahan. Denganprinsip “biarkan computer menemukan kesalahan”, maka seluruh sumber dayacomputer
digunakan dengan tujuan untuk menemukan penyebab kesalahan
• Backtracking
Merupakan pendekatan yang dimulaidari penemuan gejala kemudian menelusuri balik hingga ke penyebab.
• Cause Elimination
Dimanifestasikan oleh induksi atau deduksi dan menggunakan konsep partisi biner. Data yang berhubungan
dengan kesalahan yang muncul dikumpulkan untuk mengisolasi penyebab. Kemudian dibuatsebuah hipotesis
dan data digunakan untuk membuktikan hipotesis tersebut. Daftar rangkaian penyebab yang mungkin dibuat
dan dilakukan pengujian untuk mengeliminasi penyebab-penyebab tersebut. Jika pengujian menunjukkan
kebenaran hipotesis untuk suatu penyebab, maka data diperbaiki untuk mengisolasi bug.Sekali bug
ditemukan, bug harus diperbaiki. Namun, perbaikan pada bug dapat memunculkan kesalahan lain, maka ada
beberapa pertimbangan sebelum bug dihilangkan antara lain:
– Apakah penyebab bug ada pada bagianlain dari program?
– Apakah “bug yang lain” mungkin terjadipada saat perbaikan dilakukan?
– Apakah yang telah dilakukan untukmencegah bug pada tempat pertama?

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Debugging

Eksekusi case of case

Test Case

Pengujian Penyebab
Tambahan yang
dicurigai
Hasil
Pengujian regresi

Penyebab
Koreksi yang Debugging
diidentifikasi

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pertanyaan
1. Jelaskan pentingnya strategi pengujian dalam proses
pengujian perangkat lunak?
2. Gambarkan dan jelaskan proses pengujian perangkat
lunak?
3. Jelaskan dua pendekatan strategi dalam pengujian
perangkat lunak?
4. Tuliskan dan jelaskan metode strategi pengujian
integrasi?

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Ada Pertanyaan

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Terima
Kasih

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I

Anda mungkin juga menyukai