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

Testing Spiral v Model

Embed Size (px)

DESCRIPTION

Testing spiral v model.docx

Citation preview

Page 1: Testing Spiral v Model

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

Page 2: Testing Spiral v Model

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.

Page 3: Testing Spiral v Model

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

Page 4: Testing Spiral v Model

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

Page 5: Testing Spiral v Model

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)

Page 6: Testing Spiral v Model

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.

Page 7: Testing Spiral v Model