Friday, 3 November 2017

Tugas Testing dan implementasi sistem


A.               System Development Life Cycle (SDLC)
            SDLC(System Development Life Cycle) yaitu proses atau metode pembuatan dan pengubahan sistem yang digunakan untuk mengembangkan sistem.
            Pada SDLC terdapat beberapa tahapan yang dilakukan yaitu:

1.      Systems Planning (Perencanaan Sistem)
Kegiatan yg menyangkut estimasi dr kebutuhan-kebutuhan fisik, tenaga kerja & dana yang dibutuhkan untuk mendukung pengembangan sistem serta untuk mendukung operasinya setelah diterapkan
Aktivitas-aktivitas yang ada meliputi :
¾     Membuat tim pengembang.
¾     Mendefinisikan tujuan dan ruang lingkup pengembangan.
¾     Mengidentifikasi apakah masalah-masalah yang ada.
¾     Evaluasi strategi yang akan digunakan dalam pengembangan sistem.

2.      Systems Analysis (Analisis Sistem)
Analisa sistem adalah tahap di mana dilakukan beberapa aktivitas berikut:
¾     Melakukan studi literatur untuk menemukan suatu kasus yang bisa ditangani oleh sistem.    
¾      Brainstorming dalam tim pengembang mengenai kasus mana yang paling tepat dimodelkan dengan sistem.
¾     Mengklasifikasikan masalah, peluang, dan solusi yang mungkin diterapkan untuk kasus tersebut.
¾     Analisa kebutuhan pada sistem dan membuat batasan sistem.
¾     Mendefinisikan kebutuhan sistem.

3.      Systems Design (Perancangan Sistem)
 Pada tahap ini mendeskripsikan secara detail feature dan operasi yang dilakukan pada sistem. Aktivitas-aktivitas yang dilakukan pada tahap ini adalah:
¾     Menganalisa fungsi pada sistem.
¾     Menganalisa data dan membuat database.
¾     Merancang user interface atau kebutuhan user.

4.      Systems Implementation (Implementasi Sistem)
Tahap implementasi yaitu tahap yang mengimplementasikan rancangan dari tahap-tahap sebelumnya dan melakukan uji coba.
Aktivitas-aktivitas pada Implementasi yaitu:
¾     Pembuatan database sesuai skema rancangan.
¾     Pembuatan aplikasi berdasarkan desain sistem.
¾     Pengujian dan perbaikan pada aplikasi (debugging).

5.      Systems Maintenance (Pemeliharaan Sistem)

            Pemeliharaan sistem ini dilakukan oleh admin yang ditunjuk untuk menjaga sistem tersebut tetap beroperasi secara benar.

Berikut beberapa metodologi dari SDLC yaitu :



  1. Waterfall 
Model ini paling banyak dipakai didalam Software Engineering (SE). Model ini juga 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 secara berurutan 

  1. 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. 
  1. Agile 
Jenis pengembangan 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. 

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

 B. KONSEP DAN PENGUJIAN PERANGAT LUNAK
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 salah satu langkah dlam proses rekayasa perangkat lunak yang dianggap sebagai hal yang destruktif daripada konstruktif. 

1.       Sasaran - Sasaran Pengujian 
Dalam buku klasiknya mengenai pengujian perangkat lunak, Glen Myers menyatakan sejumlah aturan yang berfungsi sebagai sasaran pengujian:  
·                     Pengujian adalah proses eksekusi suatu program dengan meksud menemukan kesalahan. 
¾      Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum Semua pengujian harus dapat ditelusuri sampai kepesyaraan pelanggan. 
¾      Pengujian harus direncanakan lama sebelum pengujian itu mulai. 
¾      Prinsip pareto berlaku untuk pengujian perangkat lunak. 
¾      Pengujian harus mulai dari yang kecil dan yang berkembang kepengujian yang lebih besar. 
¾      Pengujian yang mendalam tidak mungkin. 
¾      Untuk menjadi paling efektif pengujian harus dilakukan oleh pihak ketiga yang independen.
·                     ditemukan sebelumnya. 
·                     Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.

2.       Prinsip Pengujian  
Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa harus memahami prinsip dasar yang menuntun pengujian perangkat lunak. Davis mengusulkan serangkaian prinsip-prinsip pengujian diantaranya: 

3.       Testabilitas 
Testibilitas perangkat lunak adalah seberapa mudah program computer dapat diuji. Karena pengujian sulitk, maka perlu diketahui apa yang harus dilakukan agar manjadi lebih mudah. Cheklist berikut ini memberikan serangkaian karakteristik yag membawa peragkat lunak yang dapat diuji. 
¾      Operabilitas, “semakin baik dia bekerja, semakin efisien dia diuji”. 
¾      Observabilitas, “apa yanganda lihat adalah apa yang anda uji”. 
¾      Kontrabilitas, semakin baik kita dapat mengontrol perangkat lunak semakin banyak pengujian yang diotomatisasi dan dioptimalkan”. 
¾      Dekomposabilitas, “dengan mengontrol ruang lingkup pengujian, kita dapat lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus”. 
¾      Kesederhanaan, “semakin cepat yang diuji, semakin sedikit kita dapat mengujinya”. 
¾      Stabilitas, “semakin sedikit perubahan, semakin gagguan dalam pengujian”. 
¾      Verifikasi, mengacu kepada rangkaian aktivitas yang memastikan bahwa perangkat lunak secara tepatmengimplementasikan suatu fungsi terentu. 
¾      Validasi, mengacu pada rangkaian aktivitas berbeda yang memastikan bahwa prangkat lunak yang dibangun dapat ditelusuri kepersyaratan pelanggan. “Apakah kita membangun produk yang benar”.

Karakteristik yang membawa perangkat lunak dapat diuji :
1.Operabilitas, yaitu : Semakin baik dia berkerja, semakin efisien dia dapat diuji.
2. Obsaikeyabilitas, yaitu :”Apa yang anda lihat adalah apa yang anda uji”.
3.Kontralabilitas, yaitu :”Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak pengujian yang dapat diotomasisasikan dan dioptimalkan”.
4.Dekomposabilitas, yaitu :”Dengan mengontrol ruang lingup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus”.
5.Kesederhanaan, yaitu:”Semakin sedikit yang kita uji,semakin cepat kita dapat mengujinya”.
6.Stabilitas, yaitu:”Semakin sedikit perubahan, semakin sedikit pula gangguan dalam pengujian”.
7.Kemampuan untuk dapat dipahami,yaitu : “Semakin banyak informasi yang kita miliki, semakin halus pengujian yang akan dilakukan”.

C.   Faktor faktor pengujian perangkat lunak
·         Faktor-faktor pengujian yang dilakukan meliputi :
·         Kebutuhan yang berkaitan dengan metodelogi
·         Pendefinisian spesifikasi fungsional
·         Penentuan spesifikasi kegunaan
·         Penentuan kebutuhan portabilitas
·         Pendefinisian antar muka sistem

D. TEKNIK PENGUJIAN PERANGKAT LUNAK 
1.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 : 
¾      Memberikan jaminan bahwa semua jalur independen pada suatu modal telah digunakan paling tidak satu kali.  
¾      Menggunakan semua keputusan logis pada sisi true dan false  
¾      Mengeksekusi semua loop pada batasan mereka dan baas operasional mereka  
¾      Menggunakan struktur data internal untuk menjamin validitasnya 

¾      Pengujian Black-Box 
¾      Pengujian Black Box digunakan untuk menguji fungsi-fungsi khusus dari Perangkat Lunak yang dirancang. 
¾      Pada teknik ini,kebenaran Perangkat Lunak yang diuji hanya dilihat berdasarkan keluaran yang dihasilkan dari data atau kondisi masukan yang diberikan untuk fungsi yang ada tanpa melihat bagaimana proses untuk mendapatkan keluaran tersebut. 
Dari keluaran yang dihasilkan ,kemampuan program dalam memenuhi kebutuhan pemakai dapat diukur sekaligus dapat diketahui kesalahan-kesalahannya.  Beberapa jenis keasalahan yang dapat diidentifikasi : 
Fungsi tidak benar atau hilang. 
¾      Kesalahan antar muka. 
¾      Kesalahan pada struktur data (pengaksesan Basis Data). 
¾      Kesalahan Inisiasi dan akhir program 
¾      Kesalahan Performansi.

2.Pengujian Struktur Kontrol
Pengujian Kondisi Adalah sebuah metode disain test case yang menggunakan kondisi logis yang ada pada suatu program.

3.Pengujian Basis PATH
Uji coba basis path adalah teknik uji coba white box yg diusulkan Tom McCabe. Metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural dan menggunkan ukuran ini sbg petunjuk untuk mendefinisikan basis set dari jalur pengerjaan. Test case yg didapat digunakan untuk mengerjakan basis set yg menjamin pengerjaan setiap perintah minimal satu kali selama uji coba. 
Faktor - Faktor Pengujian Perangkat Lunak 
Faktor-faktor pengujian yang dilakukan adalah : 
¾      Kebutuhan yang berkaitan dengan metodelogi 
¾      Pendefinisian spesifikasi fungsional 
¾      Penentuan spesifikasi kegunaan 
¾      Penentuan kebutuhan portabilitas 
¾      Pendefinisian antar muka system 

E. Strategi pengujian perangkat lunak.
¾     Pengujian Unit
¾     Pengujian Integrasi
¾     Pengujian Validasi
¾     Pengujian Sistem






No comments:

Post a Comment