testing spiral v model
DESCRIPTION
Testing spiral v model.docxTRANSCRIPT
Pengujian (Testing)
Pengujian (Myers, 1979)
Pengujian adalah proses menjalankan program dengan maksud menemukan kesalahan.
Sasaran pengujian
1. Pengujian adalah proses eksekusi suatu software untuk menemukan kesalahan.
2. Test case yang baik adalah test case yang mempunyai probabilitas untuk menemukan
kesalahan.
3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum
pernah
ditemukan sebelumnya.
Prinsip Pengujian
1. Semua pengujian harus bisa ditelusuri sampai ke persyaratan (requirenment).
2. Harus ada perencanaan pengujian sebelum pengujian dilakukan.
3. Penggunaan prinsip ‘Pareto’.
Prinsip Pareto : Mengimplikasikan bahwa 80% dari seluruh kesalahan yang ditemukan,
(setidaknya) akan ada 20% yang dapat ditelusuri hingga tuntas.
4. Pengujian dilakukan mulai dari yang kecil dan berkembang ke yang lebih besar.
5. Pengujian yang bersifat mendalam tidak mungkin dilakukan (karena keterbatasan waktu, biaya
dan
sumber daya).
6. Untuk lebih mendapatkan tingkat objektivitas yang tinggi, pengujian sebaiknya dilakukan oleh
pihak
ketiga yang sifatnya independen. Hasilnya akanlebih efektif.
Proses Pengujian
Umumnya identifikasi pengujian dilakukan dengan :
1. Pengujian fungsi (Function testing)
Merupakan pengujian paling mendasar (basic test).
2. Pengujian modul (Module testing)
Module tersusun dari beberapa Function yang berinteraksi antara satu dengan lainnya.
3. Pengujian sub sistem (SubSystem testing)
SubSystem adalah kumpulan dari module(s).
http://ocw.gunadarma.ac.id/course/industrial-technology/informatics-engineering-s1/rekayasa-perangkat-lunak-1/
testing
Error
Keadaan di mana sistem berada pada suatu keadaan, jika sistem terus melakukan proses akan
dapat mengakibatkan terjadinya failure. Manifestasi dari fault
Failure
Penyimpangan perilaku yang diamati dengan perilaku yang kehendaki.
Bug
penyebab (mekanis atau algoritmis) dari suatu error. Kesalahan desain atau coding
http://journal.unnes.ac.id/latihan/index.php/usej/article/download/82/51
Proses pengujian dalam pengembangan perangkat lunak
1. Model V
Model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-
tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses
dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini
digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.
Berikut penjelasan masing-masing tahap beserta tahap pengujiannya:
1. Requirement Analysis & Acceptance Testing
Tahap Requirement Analysis sama seperti yang terdapat dalam model waterfall. Keluaran
dari tahap ini adalah dokumentasi kebutuhan pengguna.
Acceptance Testing merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan
tersebut dapat diterima oleh para pengguna atau tidak.
2. System Design & System Testing
Dalam tahap ini analis sistem mulai merancang sistem dengan mengacu pada
dokumentasi kebutuhan pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari
tahap ini adalah spesifikasi software yang meliputi organisasi sistem secara umum, struktur data,
dan yang lain. Selain itu tahap ini juga menghasilkan contoh tampilan window dan juga
dokumentasi teknik yang lain seperti Entity Diagram dan Data Dictionary.
3. Architecture Design & Integration Testing
Sering juga disebut High Level Design. Dasar dari pemilihan arsitektur yang akan
digunakan berdasar kepada beberapa hal seperti: pemakaian kembali tiap modul, ketergantungan
tabel dalam basis data, hubungan antar interface, detail teknologi yang dipakai.
4. Module Design & Unit Testing
Sering juga disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-
modul yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk memudahkan
programmer melakukan coding. Tahap ini menghasilkan spesifikasi program seperti: fungsi dan
logika tiap modul, pesan kesalahan, proses input-output untuk tiap modul, dan lain-lain.
5. Coding
Dalam tahap ini dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.
Keuntungan V Model
Bahasa yang digunakan untuk merepresentasikan konsep V model menggunakan bahasa
formal. Contoh : dengan menggunakan objek model ataupun frame-frame •
Meminimalisasikan kesalahan pada hasil akhir karena ada test pada setiap prosesnya
Penyesuaian yang cepat pada projek yang baru
Memudahkan dalam pembuatan dokumen projek
Biaya yang murah dalam perawatan dan modifikasinya
V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan
pengurangan method dan tool secara dinamik. Akibatnya sangat mudah untuk melakukan
tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk
menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap
sudah obsolete.
V Model dikembangkan dan di-maintain oleh publik. User dari V Model berpartisipasi
dalam change control board yang memproses semua change request terhadap V Model.
Kerugian V Model
Aktifitas V-Model hanya difokuskan pada projectnya saja, bukan pada keseluruhan
organisasi. V-Model adalah proses model yang hanya dikerjakan sekali selama project
saja, bukan keseluruhan organisasi.
Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model
dihentikan. Tidak berlangsung untuk keseluruhan organisasi.
Metode yang ditawarkan terbatas. Sehingga kita tidak memiliki cara pandang dari metode
yang lain. Kita tidak memiliki kesempatan untuk mempertimbangkan jika ada tools lain
yang lebih baik.
oolnya tidak selengkap yang dibicarakan. SDE (Software Development
Environment).Tidak ada tools untuk hardware di V-Model. Tool yang dimaksud adalah
“software yang mendukung pengembangan atau pemeliharaan / modifikasi dari system
IT.
V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam
suatu proyek.
V Model terlalu fleksibel dalam arti ada beberapa activity dalam V Model yang
digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang
termasuk dalam activity tersebut dan apa yang tidak.
http://khoreullumam.blogspot.com/2013/02/v-model.html
2. Model Proses Spiral (Iterative).
Model ini berbasiskan pada kebutuhan terhadap aplikasi secara keberlanjutan untuk
menyaring kebutuhan-kebutuhan tersebut dan estimasi proyek secara keseluruhan. Model ini
menerapkan perancangan model proses yang lebih dinamis dengan terus beradaptasi terhadap
kebutuhan proses bisnis dimasa yang akan datang sehingga versi aplikasi terus berkembang
dengan fitur-fitur yang mengalami peningkatan dari waktu kewaktu.
Kebutuhan waktu untuk pengembangan aplikasi yang cepat dengan kapasitas proyek yang relatif
kecil sangat relefan dengan model spiral ini. Keterlibatan pelanggan dengan tim pengembang
perangkat lunak akan sangat sering terjadi karena pelanggan akan memberikan feedback dan
persetujuan setiap tahap dalam pengembangan aplikasi perangkat lunak. Dengan adanya
feedback dari pelanggan maka estimasi waktu terhadap penyelesaian proyek perangkat lunak
menjadi semakin jelas.
Gambar 5. Tahapan Pada Model Proses Spiral (Boehm, 1988)
Pengembangan perangkat lunak dengan model spiral memiliki kelemahan karena tidak adanya
milestone sebagai titik transisi dan pengujian maka dikhawatirkan proses pengembangan sistem
akan mengalami kekacauan dari segi waktu penyelesaian solusi sistem. Oleh karenanya model
ini hanya sesuai untuk aplikasi-aplikasi kecil yang tidak terintegrasi dan terdistribusi.
Model spiral terbagi menjadi empat quadrant, dimana setiap quadrant merepresentasikan sebuah
manajemen proses dengan tahapan-tahapan identify, design, construct dan evaluate (Dean
Muench, 1994). Sistem akan melalui tahapan-tahapan proses yang akan berulang sebagai
berikut:
1. Mendefinisikan tujuan dan kebutuhan bisnis, mengembangkan desain konseptual, rancangan
konsep, rencana pengujian, dan analisis terhadap resiko dengan melibatkan pemakai.
2. Mendefinisikan kebutuhan sistem, mengembangkan desain logikal, mengkompilasi (software-
build) rancangan awal, mengevaluasi hasil dengan melibatkan pemakai.
3. Mendifinisakan kebutuhan subsistem, menghasilkan desain fisikal, mengkompilasi rancangan
berikutnya, mengevaluasi hasil dengan melibatkan pemakai.
4. Mendefinisikan kebutuhan setiap unit, menghasilkan desain akhir, mengkompilasi rancangan
akhir, mengevaluasi keselur
http://www.migunani.my-php.net/?p=55
Kelebihan model Spiral
Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko
setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
Kekurangan model Spiral
Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya
supaya sukses
Model spiral ini merupakan model yang masih baru sehingga belum terbukti apakah
model ini efisien atau tidak.