Anda di halaman 1dari 11

PENGUJIAN /TESTING

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.

Ada dua komponen yang harus diperhatikan dalam strategi pengujian,yaitu :


1. Faktor Pengujian yang merupakan hal-hal yang harus diperhatikan selama melakukan
pengujian. Faktor pengujian ini dipilih sesuai dengan system yang akan diuji.
2. Tahapan pengujian yang merupakan langkah-langkah dalam melakukan mengujian.

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.

Prinsip Pengujian meliputi :


Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan. Sebagaimana
telah kita ketahui, sasaran pengujian perangkat lunak adalah untuk mengungkapkan kesalahan. Hal
ini memenuhi kriteria bahwa cacat yang paling fatal (dari titik pandang pelanggan) adalah cacat
yang menyebabkan program gagal memenuhi persyaratannya.
Pengujian harus direncanakan lama sebelum pengujian itu mulai. Perencanaan pengujian
dapat dimulai segera setelah model pernyaratan dilengkapi. Definisi detail mengeani test case
dapat dimulai segera setelah model desain diteguhkan. Dengan demikian, semua pengujian dapat
direncanakan dan dirancang sebelum semua kode dibangkitkan.
Prinsip Pareto berlaku untuk pengujian perangkat lunak. Secara singkat prinsip
Paretomengimplikasikan bahwa 80 persen dari semua kesalahan yang ditemukan selama pengujian
sepertinya akan dapat ditelusuri sampai 20 persen dari semua modul program.
Masalahnya,bagaimana mengisolasi modul yang dicurigai dan mengujinya dengan teliti.
Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”.
Pengujian pertama yang direncanakan dan dieksekusi biasanya berfokus pada modul program
individual. Selagi pengujian berlangsung maju, pengujian mengubah fokus dalam usaha
menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada system secara
keseluruhan.
Pengujian yang mendalam tidak mungkin. Jumlah jalur permutasi untuk program yang
berukuran menengah-pun sangat besar. Karean itulah tidak mungkin untuk mengeksekusi setiap
kombinasi jalus skema pengujian. Tetapi dimungkinkan untuk secara tepat mencakup logika
program dan memastikan bahwa semua kondisi dalam desai prosedural telah diuji.
Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang
independent. Yang dimaksud dengan kata “yang paling efektif” adalah pengujian yang memiliki
probabilitas tertinggi di dalam menemukan kesalahan (sasaran utama pengujian). Karena
perekayasa perangkat lunak yang membuat sistem tersebut bukanlah orang yang paling tepat untuk
melakukan semua pengujian bagi perangkat lunak.

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 terhadap system


ü Personil ditempakan sudah sesuai dengan skill atau kemampuan yang dimilikinya
ü Beban kerja yang optimum untuk masing masing personil
ü Loyalitas atau kemamuan bekerja sama untuk menyelesaikan suatu kegiatan
ü Kemampuan personil dalam menyelesaikan masalah

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 misi atau tujuan


ü Adanya integrasi antara personil yang terlibat dengan kegiatan yang dilaksanakn dalam
mencapai target system
ü Kwalitas dari kegiatan yang mewujudkan tujuan system

C. PENGUJIAN PERANGKAT LUNAK

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 :

ü Teknik Uji Coba Perangkat Lunak


Pada dasarnya, pengujian merupakan suatu proses rekayasa perangkat lunak yg dapat dianggap
(secara psikologis) sebagai hal yg destruktif daripada konstruktif.

SASARAN PENGUJIAN (Glen Myers) :


ü Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
ü Test case yang baik adalah test case yg memiliki probabilitas tinggi untuk menemukan
kesalahan yang belum pernah ditemukan sebalumnya.
ü Pengujian yang sukses adalah pengujian yg mengungkap semua kesalahan yang belum pernah
ditemukan sebelumnya.

PRINSIP PENGUJIAN (diusulkan Davis) :


ü Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
ü Pengujian harus direncanakan lama sebelum pengujian itu dimulai.
ü Prinsip Pareto berlaku untuk pengujian perangkat lunak. Prinsip Pareto mengimplikasikan
80% dari semua kesalahan yg ditemukan selama pengujian sepertinya akan dapat ditelusuri
sampai 20% dari semua modul program.
ü Pengujian harus mulai "dari yg kecil" dan berkembang ke pengujian "yang besar".
ü Pengujian yg mendalam tidak mungkin.
ü Paling efektif, pengujian dilakukan oleh pihak ketiga yg independen.

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.

Kesederhanaan. “Semakin sedikit yang diuji, semakin cepat kita dapat


mengujinya”
ü Kesederhanaan fungsional (seperti, kumpulan fitur adalah kebutuhan minimum untuk
memenuhi persyaratan).
ü Kesederhanaan struktural (seperti, arsitektur dimodularisasi untuk membatasi penyebaran
kesalahan)
ü Kesederhanaan kode (seperti, standar pengkodean diadopsi demi kemduahan inspeksi dan
pemeliharaan).

Stabilitas. “Semakin sedikti perubahan, semakin sedikit ganggunan dalam pengujian”


ü Pengujian ke perangkat lunak tidak sering.
ü Perubahan ke perangkat lunak terkontrol.
ü Perubahan ke perangkat lunak memvalidasi pengujian yang sudah ada.
ü Kegagalan perangkat lunak dapat diperbaiki dengan baik

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

D. ATRIBUT PENGUJIAN YG BAIK :

Berikut adalah atribut-atribut pengujian yang baik:


 Memiliki probabilitas yg tinggi menemukan kesalahan.
 Tidak redundan.
 Harusnya ‘jenis terbaik’.
 Tidak boleh terlalu sederhana atau terlalu kompleks.

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.

E. DESAIN TEST CASE:

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.

4. Pengujian Integrasi Top-Down


Adalah pendekatan incremental dengan menggerakkan ke bawah melalui hirarki control, dimulai
dengan control utama. Strategi intergrasi top-down memeriksa control mayor atau keputusan
pada saat awal di dalam proses pengujian. Pada struktur program yang difaktorkan dengan baik,
penarikan keputusan terjadi pada tingkat hirarki yang lebih tinggi sehingga terjadi lebih dulu.
Strategi top-down kelihatannya tidak sangat rumit, tetapi di dalam praktenya banyak
menimbulkan masalah logistic. Biasanya masalah ini terjadi jika dibutuhkan pemrosesan di
dalam hirarki pada tingkat rendah untuk menguji secara memadai tingkat yang lebih tinggi.

5. Pengujian Integrasi Bottom-up.


Memulai konstruksi dan pengujian dengan modul atomic (modul pada tingkat paling rendah pada
struktur program). Karena modul diintegrasikan dari bawah ke atas, maka pemrosesan yang
diperlukan untuk modul subordinate ke suatu tuingkat yang diberikan akan selalu tersedia dan
kebutuhan akan stub dapat dieliminasi. Strategi integrasi bottom-up dapat diimplementasi
dengan langkahlangkah:
 Modul tingkat rendah digabung ke dalam cluster (build) yang melakukan subfungsi
perangkatlunak spesifik.
 Driver (program control untuk pengujian) ditulis untuk mengkoordinasi input dan
output testcase
6. Uji Sistem.
Uji sistem: Sistem software diuji keseluruhan. Ini memverifikasi semua elemen secara langsung
untuk memastikan bahwa semua fungsi dan performance sistem diterima dalam lingkungan
target.

Terbagi menjadi 4 bagian yaitu:


1. Recovery Testing : sistem tes yang menekan software untuk gagal dengan cara yang bervariasi
dan memverifikasi perbaikan sendiri dengan baik

2. Security Testing : usaha untuk memverifikasi mekanisme perlindungan yang dibuat dalam
sistem apakah akan melindunginya dengan semestinya.

3. Stress Testing : didesain untuk menghadapi program dengan situasi abnormal.

4. Pengujian instalasi : didesain untuk menguji prosedur instalasi dan software pendukungnya

Area fokus adalah:


 Fungsi dan performance system
 Reliability (ketersediaan) dan recoverability (kemampuan menutup/ recovery test) system
 Instalasi (uji instalasi) system
 Perilaku pada kondisi tertentu (uji tekanan dan load) system
 Operasi user (acceptance test/alpha test/) system
 Integrasi dan kolaborasi hardware dan software
 Integrasi software eksternal dan sistem

Anda mungkin juga menyukai