A. System
Development Life Cycle
Keseluruhan proses
dalam membangun sistem melalui beberapa langkah. Dengan siklus SDLC,
proses membangun sistem dibagi menjadi beberapa langkah dan pada sistem yang
besar, masing-masing langkah dikerjakan oleh tim yang berbeda.
Dalam sebuah siklus
SDLC, terdapat lima langkah, Langkah tersebut yaitu :
1. Perencanaan Sistem
Sebuah
proses dasar untuk memahami mengapa sebuah sistem harus dibangun.Pada fase ini diperlukan analisa kelayakan dengan mencari data atau
melakukan proses informationgathering kepada pengguna
2. Analisis Sistem
Sebuah proses
investigasi terhadap sistem yang sedang berjalan dengan tujuan untuk
mendapatkan jawaban mengenai pengguna sistem, cara kerja sistem dan waktu
penggunaan sistem. Dari proses analisa ini akan didapatkan cara untuk membangun
sistem baru
3. Perancangan Sistem
Proses
penentuan cara kerja sistem dalam hal architechture design, interface design,
database dan spesifikasi file, dan program design. Hasil dari proses
perancangan ini akan didapatkan spesifikasi sistem
4. Implementasi Sistem
Proses pembangunan
dan pengujian sistem, instalasi sistem, dan rencana dukungan sistem
5. Maintenance Sistem
Dilakukan
oleh admin yang ditunjuk untuk menjaga sistem tetap mampu beroperasi secara
benar melalui kemampuan sistem dalam mengadaptasikan diri sesuai dengan
kebutuhan
Terdapat 4 metodologi penting dalam pengembangan software
berbasis SDLC yaitu :
1. Waterfall
Model yang paling banyak dipakai
didalam Software Engineering (SE). Model ini melakukan pendekatan secara
sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap
analisis, desain, coding, testing / verification, dan maintenance. Disebut
dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya
tahap sebelumnya dan berjalan berurutan
2. Prototype
Prototyping adalah salah satu
pendekatan dalam rekayasa perangkat lunak yang secara langsung
mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen
perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi
aktual dilakukan
3. RAD (Rapid Application Development)
RAD (Rapid
Application Development) adalah
model proses pembangunan perangkat lunak yang tergolong dalam teknik
incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek,
singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model
ini. Rapid application development menggunakan metode iteratif (berulang) dalam
mengembangkan sistem dimana working model (model bekerja) sistem
dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan
(requirement) user. RAD mengadopsi model waterfall dan pembangunan dalam waktu
singkat dicapai dengan menerapkan component based construction.
4. Agile
Jenis pegembangan sistem jangka
pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam
bentuk apapun. Dalam Agile Software Development interaksi dan personel lebih
penting dari pada proses dan alat, software yang berfungsi lebih penting
daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari
pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting
daripada mengikuti rencana. Agile juga dapat diartikan sebagai sekelompok
metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama
atau pengembangan system jangka pendek yang memerlukan adaptasi cepat dari
pengembang terhadap perubahan dalam bentuk apapun.
B.
Konsep & Teknik
Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah elemen kritis dari
jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari
spesifikasi, desain dan pengkodean. Pengujian menyajikan anomali yang menarik
bagi perekayasa perangkat lunak. Pada proses perangkat lunak, perekayasa pertama-tama
berusaha membangun perangkat lunak dari konsep abstrak ke implementasi yang dapat
dilihat, baru dilakukan pengujian. Perekayasa menciptakan sederetan test case
yang dimaksudkan untuk “membongkar” perangkat lunak yang sudah dibangun. Pada
dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat
lunak yang dapat dianggap (paling tidak secara psikologis) sebagai hal yang
destruktif daripada konstruktif
1. Sasaran-sasaran
pengujian
Beberapa
sasaran pengujian diantaranya :
1) Pengujian
adalah proses eksekusi suatu program dengan maksud menemukan kesalahan
2) Test
case yang baik adalah test case yang memiliki probabilitas tinggi untuk
menemukan kesalahan yang belum pernah ditemukan sebelumnya
3) Pengujian
yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah
ditemukan sebelumnya.
2. Testabilitas
Testabilitas perangkat lunak adalah seberapa mudah
sebuah program komputer dapat diuji. Karena pengujian sangat sulit, perlu
diketahui apa yang dapat dilakukan untuk membuatnya menjadi mudah.
Kadang-kadang pemrogram beresedia melakukan hal-hal yang akan membantu proses
pengujian dan checklist mengenai masalah-masalah desai yang mudah, fitur dan
lain sebagainya yang berguna dalam bernegosiasi dengan mereka
3. Pengujian White-Box
Pengujian White-Box
adalah metode desaintest case yang menggunakan struktur kontrol desain prosedural
untuk memperoleh test case. Dengan menggunakan metode pengujian white box,
perekayasa sistem dapat melakukan test case yang :
1) Memberikan
jaminan bahwa semua jalur independen pada suatu modal telah digunakan paling
tidak satu kali.
2) Menggunakan
semua keputusan logis pada sisi true dan false
3) Mengeksekusi
semua loop pada batasan mereka dan baas operasional mereka
4) Menggunakan
struktur data internal untuk menjamin validitasnya
4. Pengujian Basis-Path
Pengujian basis path adalah teknik pengujian white
box yang diusulkan pertama kali oleh Tom
McCabe. Metode basis ini memungkinkan desainer test case mengukur kompleksitas
logis dari desai prosedural dan menggunakannya sebagai pedoman untuk menetapkan
basis set dari jalur eksekusi. Test case yang dilakukan untuk menggunakan basis
set tersebut dijamin menggunakan setiap statment di dalam program paling tidak
sekali selama pengujian.
5. Pengujian Struktur Kontrol
Teknik pengujian basis path yang digambarkan pada
subbab di atas adalah salah satu dari sejumlah
teknik untuk pengujian struktur kontrol. Meskipun pengujian basis path
sederhana dan efektif, tetapi pengujian itu tidak memadai. Dalam bagian ini
akan dibahas variasi lain pada pengujian struktur kontrol. Hal ini memperluas
kupasan pengujian dan meningkatkan kualitas pengujian white-box
6. Pengujian
Black-Box
Pengujian black-box berfokus pada persyaratan fungsional
perangkat lunak. Dengan demikian,
pengjian black-box memungkinkan perekayasa perangkat lunak mendapatkan
serangkaian kondisi input yang sepenuhnya menggunakan semua peryaratan fungsional
untuk suatu program. Pengujian black-box bukan merupakan alternatif dari teknik
white-box tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu
mengungkap kelas kesalahan daripada metode white-box.
C.
Faktor
- Faktor Pengujian Perangkat Lunak
Faktor-faktor pengujian yang dilakukan meliputi :
1) Kebutuhan
yang berkaitan dengan metodelogi
2) Pendefinisian
spesifikasi fungsional
3) Penentuan
spesifikasi kegunaan
4) Penentuan
kebutuhan portabilitas
5) Pendefinisian
antar muka system
D.
Strategi
Pengujian Perangkat Lunak
1) Pengujian
Unit
2) Pengujian
Integrasi
3) Pengujian
Validasi
4) Pengujian
Sistem