• Tidak ada hasil yang ditemukan

Metodologi Software dan Testing

Dalam dokumen Testing dan Implementasi Sistem (Halaman 147-151)

tar Standarisasi Proses ndali manajemen yang aku

6.5 Metodologi Software dan Testing

Metodologi berarti suatu kumpulan tahap-tahap atau fase-fase atau tugas-tugas yang berurutan, dan biasa juga disebut sebagai model siklus hidup. Berdasarkan pada apa yang telah dijelaskan pada sub bab sebelumnya, dijelaskan bahwa standarisasi pengembangan proses (seperti ISO 9000, CMM, dan lain-lain) memiliki cakupan yang lebih luas daripada model siklus hidup software, yang hanya berfokus pada proses pengembangan software. Namun walaupun demikian pengetahuan dan penerapan suatu model siklus hidup software tetap harus dimiliki oleh organisasi sebagai proses utama yang akan dikembangkan, dengan mangadopsi dan mengadaptasikan suatu standar pengemba n proses lebih lanjut. Karena untuk dapat mengembangkan proses yang telah ada dengan menggunakan suatu standar

pengemba k

emiliki pengetahuan akan model proses yang sedang atau telah diterapkan.

tan.

nga

ngan software akan sangat sulit dilakukan bilamana organisasi tersebut tida m

Semua metodologi menggunakan pendekatan tahap/fase. Keseluruhan aktifitas pengembangan dibagi-bagi menjadi tahap-tahap atau fase-fase utama, dengan tiap tahap memiliki serahan/produk akhir sebagai tanda terselesaikannya pelaksanaan proses dari tahap tersebut. Tahapan-tahapan ini mungkin akan bervariasi di tiap organisasi, namun secara keseluruhan dapat dinyatakan ke dalam empat tahap dasar yang sama, yaitu: (1) analisa, (2) disain, (3) implementasi, dan (4) perawa

Gambar 6.2 Model siklus hidup software.

Metodologi software yang efektif berarti bahwa tahapan detil didefinisikan untuk tiap fase pengembangan. Sedangkan metodologi testing harus merupakan salah satu bagian dari keseluruhan metodologi software. Metodologi testing harus mempertimbangkan apa (tahapan-tahapannya) dan kapan (waktu). Bagaimanapun juga, pada praktek, testing sangat kurang dideskripsikan dan telah berevolusi secara cepat ke arah prosedur testing organisasi yang telah kadaluwarsa dan tidak efektif.

Bab VI Proses Testing Halaman 140

Gambar 6.3 Testing dalam siklus hidup.

Pada awal debutnya, testing dipandang sebagai fase dari pengembangan setelah fase coding. Sistem akan didisain, dibangun dan kemudian dites dan di-debug. Seiring dengan tingkat kedewasaan testing, secara bertahap dikenalkan bahwa siklus hidup testing yang lengkap berada di semua lini dari keseluruhan siklus hidup software.

Pada saat ini, testing adalah suatu aktifitas yang dihadirkan secara paralel dengan usaha pengembangan software dan memiliki fase-fase sendiri, yaitu: (1) analisa (perencanaan dan penentuan obyektifitas dan kebutuhan tes), (2) disain (spesifikasi tes yang akan dikembangkan), (3) implementasi (penyusunan atau pengumpulan prosedur dan kasus tes), (4) eksekusi (melakukan dan pengulangan tes), dan (5) perawatan (penyimpanan dan pengubahan tes bilamana software berubah). Sudut pandang testing yang memiliki siklus hidup sendiri ini merupakan perubahan yang dramatis dari beberapa tahun lalu, dimana tiap orang menyamakan testing dengan eksekusi. Aktifitas perencanaan, pendisainan, dan penyusunan tes tidak dikenal, dan testing tidak dimulai sampai tes mulai dijalankan.

6.5.1 Siklus hidup pengembangan software

Ada beberapa macam model yang telihat pada gambar di

bawah ini:

siklus hidup software, seperti

By Hendranet

Bab VI Proses Testing Halaman 141

Model Motivasi Karakteristik Contoh Aplikasi

Bulid, tes

omi terhadap kebutuhan, an atan.

Sistem sederhana,

pengembang tunggal, satu atau beberapa pengguna, kebutuhan minimum terhadap dokumentasi.

Software aplikasi perorangan. t, fix testing, dokumentasi d

kemampuan peraw Kompr

Sta

ahwa fase tertentu n kendali an.

Duplikasi dari sistem yang telah ada dengan

modifikasi langsung atau minor.

Pembuatan pesawat F-15 untuk ekspor dengan perubahan minor pada avionik. ircase membutuhka

pengembang Realisasi b

Staircase with feedback

Realisasi bahwa fase tidak dapat diisolasi, dimana umpan balik tiap fase akan

meningkatkan kesuksesan.

Kebutuhan jelas dan terikat pada implementasi

teknologi.

Lokomotif, Instrumentasi.

Early prototype

Kenyataan bahwa pelanggan tidak selalu mengetahui apa yang dibutuhkan. Prototipe awal dikembangkan untuk mendefinisikan kebutuhan.

Kebutuhan lengkap tidak diketahui, namun dapat dikenali oleh pengguna. Teknologi telah ditetapkan.

Sistem MIS yang komplek

Spiral

Opsi implementasi tidak selalu jelas di luar, sehingga

ditambahkan prototipe

tambahan terhadap disain dan penambahan analisa resiko.

Bila kebutuhan, biaya, resiko dan strategi implementasi tidak jelas.

Sama dengan early prototype, namun dengan tingkat ketidakpastian yang lebih tinggi. Rapid Development

Tingkah laku sistem yang dibutuhkan tidak selalu dapat ditentukan sampai beberapa pengalaman operasional didapatkan. Sehingga

diperlukan konsep penyerahan sistem yang berulang-ulang.

Komplek, sistem baru, belum pernah ada sebelumnya, kebutuhan dan disain final berevolusi terhadap pengalaman operasional. Sistem biomedical yang komplek, stasiun ruang angkasa, sistem kendali dan perintah novel.

Secara umum terdapat dua macam m s hidup testing dalam kaitannya dengan siklus hidup software, yaitu secara tradisional dan paralel.

6.5.2 Siklus hidup testing tradisional

odel penerapan siklu

Sebagaimana telah dijabarkan di at g diletakan setelah coding, dan dimulai setelah coding selesai.

as, secara tradisional, testin

Gambar 6.5 Siklus hidup testing tradisional.

Bab VI Proses Testing Halaman 142

Permasalahan yang terjadi dengan pendekatan ini adalah testing terlambat memulai proses, akhirnya tes didisain dengan sederhana (ala kadarnya). Biasanya fase coding akan terlambat selesai (85% proyek software terlambat diserahkan atau tidak sama sekali). Pada skenario ini akan terdapat tekanan untuk menyelesaikan produk secepatnya setelah fase coding. Tekanan jadual ini akan terjadi pada fase testing, dimana akan cenderung menyebabkan terjadinya kegagalan dalam menyelesaikan tes sebagaimana mestinya.

6.5.3 Siklus hidup testing paralel

Hanya eksekusi tes yang harus menunggu waktu sampai fase coding selesai. Perencanaan testing dan disain test case dilakukan secara paralel dengan pengembangan. Keberadaan bugs dapat diketahui di awal dari aksi perencanaan dan pendisainan tes, seperti ketidakjelasan kebutuhan yang akan diidentifikasi.

Gambar 6.6 Siklus hidup testing paralel tanpa fungsi pencegahan defect.

el ini untuk kemudian dikem

Mod bangkan lagi dengan menambahkan teknik pencegahan

awal.

defect, untuk meningkatkan kemampuan proses, sehingga bugs tidak sampai muncul lagi di

Gambar 6.7 Siklus hidup testing paralel dengan fungsi pencegahan defect.

Bab VI Proses Testing Halaman 143

Selain itu terdapat pula pengembangan yang lain dari siklus hidup testing paralel, yaitu model V. Proses verifikasi dan validasi digunakan pada pengembangan software dengan model V. Proses ini menggambarkan hubungan pengembangan dan testing dalam bentuk V. Pada tiap fase pengembangan terdapat tes yang akan memeriksa apakah pengembangan pada tahap tersebut telah benar. Tes ada di tiap tingkatan dapat direncanakan dan didisain pada aktifitas di tingkat sebelum aktifitas tersebut dilaksanakan.

Gambar 6.8 Siklus hidup testing model V.

Dalam dokumen Testing dan Implementasi Sistem (Halaman 147-151)