Rabu, 01 November 2017

STRATEGI PENGUJIAN PERANGKAT LUNAK

STRATEGI PENGUJIAN PERANGKAT LUNAK

1.     Pengujian unit program
Pengujian difokuskan pada unit terkecil dari suatu modul program. Dilaksanakan dengan menggunakan driver dan stub. Driver adalah suatu program utama yang berfungsi mengirim atau menerima data kasus uji dan mencetak hasil dari modul yang diuji. Stub adalah modul yang menggantikan modul sub-ordinat dari modul yang diuji.
2.   Pengujian integrasi
Pengujian terhadap unit-unit program yang saling berhubungan (terintegrasi) dengan focus pada masalah interfacing. Dapat dilaksanakan secara top-down integration atau bottom-up integration.
3.   Pengujian validasi
Pengujian ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan. Suatu validasi dikatakan sukses jika perangkat lunak berfungsi pada cara yang diharapkan oleh pemakai.
4.   Pengujian sistem
Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer. Jenis pengujian yang dilakukan pada saat melakukan pengujian sistem, yaitu :
·         Recovery testing
Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diuji
kenormalannya.
·         Security testing
Dilakukan untuk menguji mekanisme proteksi
·         Stress testing
Pengujian yang dirancang untuk menghadapkan suatu perangkat lunak kepada
situasi yang tidak normal.
·         Performance testing
Pengujian dilakukan untuk mengetahui kinerja dari sistem

Hal-hal yang diujikan selama pengujian :
1.     Antarmuka modul
2.     Struktur Data Lokal
3.     Kondisi Batas
4.     Jalur-jalur Bebas
5.     Jalur-jalur penanganan kesalahan



Faktor pengujian perangkat lunak

1.     Pengujian Tahapan Analisis
Pengujian pada tahapan ini lebih menekankan pada validasi terhadap kebutuhan perangkat lunak, untuk menjamin bahwa kebutuhan telah dispesifikasikan dengan benar. Tujuan pengujian pada tahap ini adalah untuk mendapatkan kebutuhan yang layak dan untuk memastikan apakah kebutuhan tersebut sudah dirumuskan dengan baik. Faktor-faktor pengujian yang dilakukan meliputi :
·         Kebutuhan yang berkaitan dengan metodelogi
·         Pendefinisian spesifikasi fungsional
·         Penentuan spesifikasi kegunaan
·         Penentuan kebutuhan portabilitas
·         Pendefinisian antar muka sistem.

2.      Pengujian Tahapan Desain
Pengujian pada tahapan ini bertujuan untuk menguji struktur perangkat lunak yang diturunkan dari kebutuhan perangkat, kebutuhan yang bersifat umum dirinci menjadi bentuk yang lebih spesifik. Faktor-faktor pengujian yang dilakukan meliputi :
·         Perancangan yang berkaitan dengan kebutuhan
·         Kesesuaian perancangan dengan metodologi dan teori.
·         Portabilitas rancangan
·         Perancangan yang dirawat
·         Kebenaran rancangan berkaitan dengan fungsi dan aliran data.
·         Kelengkapan perancangan antar muka.

3.     Pengujian Tahapan Implementasi
Merupakan pengujian unit-unit yang dibuat sebelum diintegrasikan mejadi aplikasi secara keseluruhan. Faktor-faktor pengujian tahap implementasi meliputi :
·         Kendali integritas data
·         Kebenaran program
·         kemudahan pemakaian
·         Sifat coupling
·         Pengembangan prosedur operasi.

4.        Pengujian Tahapan Pengujian
Pengujian pada tahapan ini dilakukan untuk menilai apakah spesifikasi program telah ditulis menjadi instruksi-instruksi yang dapat dijalankan pada mesin/komputer. Selain itu, juga untuk menilai apakah instruksi yang ditulis tersebut telah sesuai dengan spesifikasi program. Faktor-faktor pengujian tahap ini meliputi :
·         Pengujian fungsional
·         Dukungan manual

·         Kemudahan operasi

Metode Pengujian dalam Perangkat Lunak

1.     White box testing
Adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variabel, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di-compile ulang.
Pengujian white box
Menggunakan metode desain test case yang menggunakan struktur control desain procedural untuk memperoleh test case. Disebut juga pengujian glassbox. Dengan pengujian whitebox, perekayasa dapat melakukan :
·         Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali.
·         Menggunakan semua keputusan logis pada sisi true and false.
·         Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka.
·         Menggunakan struktur data internal untuk menjamin validitasnya.
Dengan meenggunakan metode white box, analis sistem akan dapat memperoleh test case yang:
·         menjamin seluruh independent path di dalam modul yang dikerjakan sekurang-kurangnya sekali.
·         mengerjakan seluruh keputusan logikal.
·         mengerjakan seluruh loop yang sesuai dengan batasannya.
·         mengerjakan seluruh struktur data internal yang menjamin validitas.

Keunggulan dan Kekurangan White Box
Keunggulan
·         Kebenaran program dalam mendefinisikan algoritma dapat diketahui secara langsung dengan pengolahan path.
·         Menentukan kualitas pekerjaan coding dan pengaruhnya untuk standar coding.
Kekurangan
·         Jumlah biaya untuk white box testing lebih besar daripada biaya yang dibutuhkan untuk black box, untuk ukuran software yang sama.
·         Belum mampu melakukan tes ketersediaan, kehandalan, daya tahan beban dan testing – testing lain yang berhubungan dengan kebutuhan faktor – faktor untuk operasi, revisi dan transisi.

2.     Black box testing
Adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja (lihat pengujian white-box).
Pengujian black box

Berfokus pada persyaratan fungsional perangkat lunak. Disebut juga pengujian behavioral atau pengujian partisi. Pengujian black box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box berusaha menemukan :
• Fungsi-fungsi yang tidak benar atau hilang
• Kesalahan interface
• Kesalahan dalam struktur data atau akses database eksternal.
• Kesalahan kinerja
• Inisialisasi dan kesalahan terminasi.
• Kesalahan performansi
• Kesalahan inisialisasi dan tujuan akhir
Dengan mengaplikasikan teknik black box, maka kita menarik serangkaian test case yang
memenuhi kriteria berikut :
• Test case yang mengurangi, dengan harga lebih dari satu, jumlah test case tambahan yang harus  didesain untuk mencapai pengujian yang dapat
dipertanggungjawabkan.
•Test case yang member tahu kita sesuatu mengenai kehadiran atau ketidakhadiran
kelas kesalahan, daripada member tahu kesalahan yang berhubungan hanya
dengan pengujian spesifik.

Keunggulan dan Kekurangan Black Box:
Keunggulan
·         Black box testing dapat menguji keseluruhan fungsionalitas perangkat lunak.
·         Black box testing dapat memilih subset test yang secara efektif dan efisien dapat menemukan cacat. Dengan cara ini black box testing dapat membantu memaksimalkan testing investment.
Kekurangan
·         Ketika tester melakukan black box testing, tester tidak akan pernah yakin apakah perangkat lunak yang diuji telah benar-benar lolos pengujian.

1.     Gray box testing

Adalah metode pengujian perangkat lunak yang adalah kombinasi dari Black box testing dan White box testing. Dalam Black box testing, struktur internal dari item yang sedang diuji tidak diketahui tester dan White box testing struktur internal di dikenal. Dalam pengujian Gray box testing, struktur internal sebagian dikenal. Ini melibatkan memiliki akses ke internal data struktur dan algoritma untuk tujuan merancang uji kasus, tetapi pengujian pada pengguna, atau tingkat Black box. Grey-box, berusaha menggabungkan kedua metode diatas, mengambil kelebihan keduanya, mengurangi kekurangan keduanya. Teknik verifikasi modern menerapkan combine-method ini.

SDLC (Systems Development Life Cycle)

Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiipzJZcaEmTt5RPTmHGk_CniYm9dT9Vv2hskxwrM_Qpmt2rrQd92DhBIVWCkfNgaKVjGjSXT6bxNP5ot76bbGApVgmiTJKG1Fss5zkXv_-XhnamI1c6IvywuuNxRclrSIUWk6ug9anRiRV/s200/graphic_sdlc-300x296.pngSDLC (Systems Development Life Cycle)

SDLC adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap:
1. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan
2. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang dibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek sistem
3. Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desain pemrograman yang diperlukan untuk pengembangan sistem informasi
4. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis program yang diperlukan
5. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat
6. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang telah dibuat
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user, terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu diulangi lagi atau kembali ke langkah sebelumnya. Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi sistem

JENIS JENIS SDLC

·         Waterfall model

adalah suatu metodologi pengembangan perangkat lunak yangmengusulkan pendekatan kepada perangkat lunak sistematik dan sekuensial

·         Model RAD

adalah model proses pembangunan perangkat lunak yang tergolong dalamteknik bertingkat.

·         V model

adalah perluasan dari model waterfall. Jika dalam model waterfall proses dijalankansecara linear, maka dalam model v proses dilakukan bercabang.


·         Prototype model

adalah proses pembuatan model sederhana software yang mengijinkan pengguna memiliki gambaran dasar tentang program serta melakukan pengujian awal.

·         agile methods
adalah sekelomok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama.


·         Analis sistem
adalah seseorang yang bertanggung jawab atas penelitian, perencanaan, pengkoordinasian, dan merekomendasikan pemilihan perangkat lunakdan sistem yang palingsesuai dengan kebutuhan organisasi bisnis atau perusahaan

·         Sistem software engineer

adalah Ilmu yang mempelajari tehnik pembuatan software yang baik dengan pendekatan tehnik

·         Rekayasa proses bisnis

adalah perancangan ulang secara pada proses bisnis yang berjalansaat ini dengan penekanan pada pengurangan biaya dan waktu siklus agar terjadi peningkatankepuasan pelanggan.

·         Spiral model
Adalah model proses software yang evolusioner yang merangkai sifat iterative dari prototype dengan cara control dan aspek sistematis dari model sekuensial linier