A. PENGUJIAN /TESTING
Pengujian dilakukan untuk menjamin kualitas dan juga mengetahui kelemahan dari
perangkat lunak. Tujuan dari pengujian ini adalah untuk menjamin bahwa perangkat lunak yang
dibangun memiliki kualitas yang handal, yaitu mampu merepresentasikan kajian pokok dari
spesifikasi, analisis, perancangan dan pengkodean dari perangkat lunak itu sendiri.
B. PENGUJIAN SYSTEM
Definisi Pengujian Sistem
ü Suatu proses yang dilakukan untuk menilai apakah yang dirancang telah sesuai dengan
apa yang diharapkan
ü Suatu kegian untuk mengevaluasi keunggulan dan kelermahan terhadap sesuatu yang diuji
(kwalitas produk
ü Mengevaluasi terhadap urutan kegiatan yang sistematis dalam mencapai tujuan system
ü Mengevaluasi keseimbangan jumlah pelaksanaan kegiatan dengan beban kerja dalam
sesuatu prosedur kegiatan.
Pengujian Sistem
ü Melakukan proses evaluasi terhadap system yang sudah ada apakah system sudah sesuai
yang dharapkan user
ü Menilai dan mengevaluasi terhadap output atau ahasil system
ü Menguji terhadpa input, pengelolaan (proses)dan output system
ü Melakukan penilaian dan evaluasi terhadpat komponen system prosedur pelaksanaan
kegiatan dan mutu atau kwalitas hasil system.
Sistem pengujian untuk memastikan kualitas dan keandalan sistem langkah kunci dalam proses
pengembangan sistem adalah analisis sistematis pada desain sistem dan pelaksanaan review
akhir.Berdasarkan uji konsep dan tujuansistem informasi selama tes harus mengikuti prinsip-
prinsip dasar.
Sesegera mungkin dan terus diuji.Pengujian tidak dalam pengembanganaplikasi dilakukan
setelah selesai.Karena kompleksitas asli masalah, keragaman tahap perkembangan serta
koordinasi antara peserta dan faktor lainnya, membuat rambut di semua tahapan pembangunan
mungkin mengalami kesalahan.Oleh karena itu, tes yang harus dijalankan melalui berbagai tahap
perkembangan secepat mungkin untuk memperbaiki kesalahan, menghilangkan bahaya yang
tersembunyi.
Harus dihindari oleh orang-orang asli yang bekerja atau komitmenkelompok, di satu sisi,
pengembang sering enggan untuk memanggil pekerjaan mereka diakui, dan percaya bahwa
perangkat lunak mereka sendiri dikembangkan tidak ada kesalahan; sisi lain, pengembang
kesalahan adalah pada sayamenguji, mudah untuk program sesuai dengan ide mereka sendiri untuk
mengembangkan ide-ide pengujian, memiliki keterbatasan.Pengujian harus dilakukan oleh
personel khusus untuk melaksanakan, akan lebih obyektif dan lebih efektif Melakukan sesuai
dengan rencana uji ketat, untuk menghindari uji sewenang-wenang.Rencana pengujian harus
mencakup konten pengujian, penjadwalan, staf, lingkungan pengujian, alat-alat tes dan informasi
tes. Ketat sesuai dengan rencana pengujian dapat; kemajuan sertifikasi, sehingga semua pihak
dapat dikoordinasikan. Jauhkan rencana uji, uji kasus, sebagai bagian dari dokumentasi perangkat
lunak, untuk pemeliharaan kenyamanan.
Uji kasus secara hati-hati dirancang, dapat kembali pengujian atau pengujian tambahan
dengan mudah.Ketika Zi benar sebelum uji kasus, atau memodifikasi dasar, dan kemudian
menguji.
Sebuah proses pengujian standar biasanya meliputi kegiatan uji berikut dasar. Dalam
rencana uji, kita sepenuhnya harus mempertimbangkan waktu keseluruhan proyek pembangunan
dan pengembangan ke anak serta beberapa faktor manusia dan kondisi obyektif, membuat rencana
uji layak.Utama isi isi rencana uji, penjadwalan lingkungan pengujian, uji dan persyaratan yang
dibutuhkan untuk menguji pengaturan pelatihan.
Uji garis didasarkan pada ujian.Ini jelas menetapkan secara rinci sistem dalam tes untuk
fitur atau fitur dari masing-masing harus menyelesaikan item tes dasar dan kriteria uji
penyelesaian. Menurut garis besar rancangan dan pengujian untuk menghasilkan uji kasus.Bila
dalam desain uji kasus, kasus uji dapat disajikan di depan teknik pemanfaatan dan desain, sehingga
dalam dokumentasi pengujian desain dan isinya diukur item, data input, proses pengujian, output
yang diharapkan dan sebagainya. untuk melaksanakan ujian.Tahap implementasi dari tes ini adalah
terdiri dari serangkaian siklus uji.Dalam setiap siklus uji, penguji dan pengembang akan
didasarkan pada program persiapan pra-tes dan menyiapkan ujian yang baik, perangkat lunak uji,
atau peralatan untuk tes lengkap.
Test selesai, untuk membentuk laporan pengujian yang sesuai, utama garis-garis besar tes
yang ditetapkan kesimpulan tes yang cacat dan kesalahan, juga memberikan beberapa saran,
seperti metode modifikasi dapat digunakan, perubahan beban kerja yang diproyeksikandan
memodifikasi petugas yang bertanggung jawab.
Pengujian kegiatan
ü Prosedur dan system kerja yang sistematis
ü Perencanaan yang terkontrol dan terjadwal
ü Arah tujuan atau target ang dapat dilaksanakan sesuai dengan perencanaan
ü Hasil kegiatan yang terukur
ü Kesemimbangan kegiatan dengan bersarnya biaya yang digunakan
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan
merepresentasikan spesifikasi, desain dan pengkodean. Meningkatnya visibilitas (kemampuan)
perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat
lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada
dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat
dianggap sebagai hal yang merusak daripada membangun.
Dalam melakukan uji coba ada masalah penting yang akan dibahas, yaitu :
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
membantuproses pengujian dan checklist mengenai masalah-masalah desai yang mudah, fitur dan
lain sebagainya yang berguna dalam bernegosiasi dengan mereka.
Checklist berikut memberikan serangkaian karakteristik yang membawa kepada perangkat
lunak yang dapat diuji :
Operabilitas. “Semakin baik dia bekerja, semakin efisien dia dapat diuji”
ü Sistem memiliki beberapa bug (bug menambah analisis dan biaya pelaporan keproses
pengujian).Tidak ada bug yang memblok eksekusi pengujian
ü Produk berkembang di dalam tahapan fungsional (memungkinkan pengemabngandan
pengujian secara simultan).
Observabilitas. “Apa yang Anda lihat adalah apa yang Anda uji”
ü Output yang berbeda dikeluarkan oleh masing-masing input.
ü Tahap dan variabel sistem dapat dilihat atau diantrikan selama eksekusi.
ü Sistem dan variabel yang lalu dapat dilihat atau diantrikan (misal : log transaksi)
ü Semua faktor yang mempengaruhi output dapat dilihat.
ü Kesalahan itnernal dideteksi secara otomatis melalui mekanisme selftesting.
ü Kesalahan internal dilaporkan secara otomatis.
ü Kode sumber dapat diakses
Kontrolabilitas. “Semakin baik kita dapat mengontrol perangkat luank, semakin banyak
pengujian yang dapat diotomatisasi dan dioptimalkan”
ü Semua output yang mungkin dapat dimnculkan melalui beberapa kombinasi input.
ü Semua kode dapat dieksekusi melalui berbagai kombinasi input.
ü Keadaan dan varibale perangkat lunak dan perangkat keras dapat dikontrol secara langsung
oleh perekayasa pengujian.
ü Format input dan output konsistem dan terstruktur.
ü Pengujian dapat dispesifikasi, dioptimasi dan direproduksi dengan baik.
Dekomposabilitas. “Dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat
mengisolasi masalah dan melakuakn pengujian kembali secara lebih halus”
ü Sistem perangkat luank dibangun dari modul-modul independen.
ü Modul-modul perangkat lunak dapat diuji secara independen.
Kemampuan untuk dapat dipahami. “Semakin banyak informasi yang kita miliki, semakin
halus pengujian yang akan dilakukan”
ü Desain dipahami dengan baik.
ü Ketergantungan di antara komponen internal, eksternal dan yang dipakai bersama,dipahami
dengan baik.
ü Perubahan ke desai dikomunikasikan.
ü Dokumentasi teknik dapat diakses dengan cepat.
ü Dokumentasi teknis diorganisasikan dengan baik.
ü Dokumentasi teknis spesifik dan detail.
ü Dokumentasi teknis akurat
1. Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan. Untuk
mencapai hal ini, penguji harus memahami perangkat lunak dan berusaha mengembangkan
gambaran mental mengenai bagaimana perangkat lunak dapat gagal. Idealnya kelas-kelas
kegagalan itu diselidiki.
Sebagai contoh, kelas kegagalan potensial pada GUI adalah kegagalan untuk mengenali posisi
mouse yang sesuai. Serangkaian pengujian akan dirancanguntuk menguji mouse untuk
memperlihatkan kesalahan didalam pengenalanposisi mouse.
2. Pengujian yang baik tidak redudan. Waktu pengujian dan sumber daya terbatas. Tidak ada
manfaatnya melakukan pengujian dengan tujuan yang sama dengan pengujian lainnya. Setiap
pengujian harus memiliki tujuan yang berbeda.
3. Pengujian yang baik seharusnya “jenis terbaik”. Dalam suatu kelompokpengujian yang
memiliki tujuan yang serupa, batasan waktu dan sumber daya dapat menghalagi eksekusi
hanya kelompok kecil dari pengujian tersebut. pada kasus semacam ini maka pengujian yang
memiliki kemungkinan paling besar untuk mengungkap seluruh kelas kesalahan yang tinggi
harus digunakan.
4. Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks.Secara umum
masing-masing test case harus dieksekusi secara terpisah.
1. Pengujian white-box
2. pengujian black-box
3. Pengujian graph-based.
4. Integrasi Bottom-Up
5. Integrasi Top-Down.
6. Uji Sistem.
1. Pengujian white-box
Berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua
statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa
semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan
grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear
yang akan memastikan cakupan.
Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian loop
menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk
menguji loop dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk
mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu
program.
2. Pengujian black-box.
Berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan
menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian
yang mendalam.
3. Pengujian graph-based.
Mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi
membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat
lunak tertentu. Analisis nilai batas memeriksaa kemampuan program untuk menangani data pada
batas yang dapat diterima.Metode pengujian yang terspesialisasi meliputi sejumlah luas
kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan
fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus
untuk pengujian perangkat lunak.
2. Security Testing : usaha untuk memverifikasi mekanisme perlindungan yang dibuat dalam
sistem apakah akan melindunginya dengan semestinya.
4. Pengujian instalasi : didesain untuk menguji prosedur instalasi dan software pendukungnya