Minggu, 29 Oktober 2017

Testing dan Implementasi Sistem


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