View
152
Download
44
Embed Size (px)
DESCRIPTION
Testing Website Kaskus (BlackBox)
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Testing atau pengujian pada suatu aplikasi website merupakan sebuah
kegiatan yang mengacu pada kualitas dari sebuah aplikasi website, yang tidak
dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi dimana
peluang terjadinya kesalahan manusia sangat besar, oleh karena itu sangat
diperlukan sebuah kegiatan testing yang mana untuk memberikan kepuasan pada
user yang akan menggunakan sehingga tidak terjadi kesalahan atau bugs pada saat
digunakan. Pada dasarnya, testing/pengujian merupakan elemen penting dalam
menciptakan aplikasi website yang berkualitas dan memenui harapan pengguna.
1.2. Tujuan
Tujuan dari pengujian ini adalah melakukan Verifikasi, Validasi , dan
Deteksi eror untuk menemukan sebuah masalah/eror yang kemudian untuk
kemudian dibenahi. Jika tes tidak menemukan kesalahan, maka ini tidak berarti
bahwa sebuah website yang diuji tidak memiliki bugs, kemungkinan saja hal ini
belum terdeteksi.
1.3. Deskripsi Website
Kaskus dengan domain www.kaskus.co.id adalah situs forum komunitas
maya terbesar dan nomor 1 Indonesia dan penggunanya disebut dengan Kaskuser.
Kaskus lahir pada tanggal 6 November 1999 oleh tiga pemuda asal Indonesia
yaitu Andrew Darwis, Ronald Stephanus, dan Budi Dharmawan, yang sedang
melanjutkan studi di Seattle, Amerika Serikat. Situs ini dikelola oleh PT Darta
Media Indonesia. Kaskus memiliki lebih dari 4,5 juta pengguna terdaftar.
Pengguna Kaskus umumnya berasal dari kalangan remaja hingga orang dewasa
yang berdomisili di Indonesia maupun di luar Indonesia.
Kaskus, yang merupakan singkatan dari Kasak Kusuk, bermula dari
sekadar hobi dari komunitas kecil yang kemudian berkembang hingga saat ini.
2
Kaskus dikunjungi sedikitnya oleh 900 ribu orang, dengan jumlah page view
melebihi 15.000.000 setiap harinya.
Kaskus terbagi menjadi dua jenis forum yaitu Forum & Forum Jual Beli (FJB).
Forum adalah tempat untuk mendiskusikan segala hal. FJB adalah tempat untuk
bertransaksi jual beli segala macam produk. Forum diskusi KASKUS kerap
memberitakan informasi yang tidak bisa ditemukan di portal-portal berita lain. FJB
KASKUS juga terbukti sebagai tempat paling lengkap untuk menemukan segala macam
produk & jasa.
1.4. Metode Pengujian
Pengujian adalah salah satu instrumen yang paling penting dalam
pengembangan aplikasi Web untuk mencapai produk-produk berkualitas tinggi
yang memenuhi harapan pengguna. Banyak metode dan teknik untuk menguji
sistem perangkat lunak saat ini, berikut adalah beberapa metode testing atau
pengujian:
a. Pengujian Black Box
Black Box adalah metode pengujian perangkat lunak yang menguji
fungsionalitas aplikasi yang bertentangan dengan struktur internal atau kerja.
Pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan
pemrograman pada umumnya tidak diperlukan. Uji kasus dibangun di sekitar
spesifikasi dan persyaratan, yakni, aplikasi apa yang seharusnya dilakukan.
Menggunakan deskripsi eksternal perangkat lunak, termasuk spesifikasi,
persyaratan, dan desain untukmenurunkan uji kasus. Tes ini dapat menjadi
fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang uji
3
memilih input yang valid dan tidak valid dan menentukan output yang benar.
Tidak ada pengetahuan tentang struktur internal benda uji itu.
Metode pengujian dapat diterapkan pada semua tingkat pengujian
perangkat lunak: unit, integrasi, fungsional, sistem dan penerimaan. Ini
biasanya terdiri dari kebanyakan jika tidak semua pengujian pada tingkat
yang lebih tinggi, tetapi juga bisa mendominasi unit testing juga.
b. Pengujian White Box
Ujicoba Whitebox merupakan metode desain uji kasus yang
menggunakan struktur kontrol dari desain prosedural untuk menghasilkan
kasus-kasus uji. Dengan menggunakan metode ujicoba whitebox, para
pengembang software dapat menghasilkan kasus-kasus uji yang:
Menjamin bahwa seluruh independent paths dalam modul telah
dilakukan sedikitnya satu kali.
Melakukan seluruh keputusan logikal baik dari sisi benar maupun
salah.
Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya.
Menguji struktur data internal untuk memastikan validitas.
Dari kedua metode testing tersebut, penulis akan menggunakan teknik
pengjian Black Box untuk melakukan pengujian terhadap aplikasi website
Kaskus. Namun sebelum berlanjut kepada tahap pembahasan, tidak ada salah
untuk membahas terlebih dahulu mengenai teknik pengujian Black Box, berikut
uraiannya:
Black-Box Testing adalah merupakan pengujian yang berfokus pada
spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan
kondisi input dan melakukan pengetesan pada spesifikasi fungsional program.
4
1.4.1. Ciri-Ciri Black Box Testing
1) Black box testing berfokus pada kebutuhan fungsional pada software,
berdasarkan pada spesifikasi kebutuhan dari software.
2) Black box testing bukan teknik alternatif daripada white box testing. Lebih
daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error
dengan kelas yang berbeda dari metode white box testing.
3) Black box testing melakukan pengujian tanpa pengetahuan detil struktur
internal dari sistem atau komponen yang dites. juga disebut sebagai
behavioral testing, specification-based testing, input/output testing atau
functional testing
1.4.2. Teknik Disain Tes Black Box Testing
Pada black box testing terdapat jenis teknik disain tes yang dapat dipilih
berdasarkan pada tipe testing yang akan digunakan, yang diantaranya :
1) Equivalence Class Partitioning
Back box testing yang membagi domain masukan dari suatu program ke
dalam kelas-kelas data, dimana test cases dapat diturunkan. Lebih kepada
representasi dari semua nilai dalam partisi. Mengambil sampel dari
rentang nilai yang ada serta (nilai cukup mewakili semuanya).
2) Boundary Value Analysis
Suatu teknik disain test cases yang berguna untuk melakukan pengujian
terhadap nilai sekitar dari pusat domain masukan. Lebih mudahnya
dikatakan sebagai suatu teknik yang hampir sama dengan Equivalance
tetapi lebih spesifik karena yang diperiksa adalah nilai setiap batas dalam
setiap pastisi.
3) State Transitions Testing
Test case didisain untuk memeriksa validitas transisi antar status yang
mungkin muncul.
5
Testing yang menggunakan model sistem (digambarkan dalam bentuk
state transition diagram) yang terdiri dari:
a. Status yang terdapat didalam program
b. Transisi antar status-status tersebut
c. Kejadian yang merupakan sebab dari transisi-transisi tersebut.
d. Aksi-aksi yang akan dihasilkan.
4) Cause-Effect Graphing
Tehnik disain test case yang menggambarkan logika dari kondisi yang
dipengaruhi oleh aksi yang dilakukan.
Ada 4 langkah untuk penggunaan tehnik Cause Effect Graphing:
a. Tiap sebab (kondisi input) dan akibat (aksi) yang ada pada suatu
modul didaftarkan.
b. Gambar sebab-akibat (cause-effect graph) dibuat.
c. Gambar di konversikan ke tabel keputusan.
d. Aturan-aturan yang ada di tabel keputusan, dikonversikan ke test
case.
1.4.3. Kategori Error Black Box Testing
Kategori error yang akan diketahui melalui black box testing:
1) Fungsi yang hilang atau tak benar
2) Error dari antar-muka
3) Error dari struktur data atau akses eksternal database
4) Error dari kinerja atau tingkah laku
5) Error dari inisialisasi dan terminasi
1.4.4. 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. Karakteristik perangkat
lunak yang diuji:
1) Operability, Semakin baik Software berkerja, akan membuat software
dites dengan lebih efisien.
6
Sistem mempunyai bug baru (bug menambahkan biaya tak langsung
pada proses testing, dengan adanya analisa dan pelaporan)
Tidak ada bug yang menghentikan eksekusi tes
Produk berubah dalam tahap fungsional (memungkinkan
pengembangan dan testing yang simultan)
2) Observability, Apa yang Anda lihat, adalah apa yang Anda tes.
Hasil dari setiap keluaran harus menunjukkan hasil dari masukan.
Kondisi sistem dan variabel dapat dilihat atau diquery selama eksekusi
berlangsung.
Kondisi dan variabel sistem lama juga dapat dilihat atau diquery.
Semua faktor yang mempengaruhi keluaran dapat dilihat.
Keluaran yang salah dapat dengan mudah diidentifikasikan
Kesalahan internal dapat secara otomatis dideteksi oleh mekanisme tes
yang menyeluruh.
Kesalahan internal secara otomatis dilaporkan.
Source code dapat diakses.
3) Controllability, Dengan semakin baik kita dapat mengendalikan
software, semakin banyak testing dapat diotomatisasi dan dioptimalisasi.
Semua kemungkinan keluaran dihasilkan dari berbagai kombinasi
masukan
Semua kode dieksekusi dari beberapa kombinasi masukan
Kondisi hardware dan software dan variabel dapat dikontrol secara
langsung oleh test eng