TESTING DAN
IMPLEMENTASI
PERTEMUAN 2
TUJUAN TESTING
1. Testing/pengujian adalah pengeksekusian
program dengan tujuan untuk menemukan error. 2. Test case yang bagus adalah test case yang
memiliki kemungkinan terbesar untuk menemukan error yang tersembunyi.
3. Test yang sukses adalah test yang berhasil menemukan error yang belum tersembunyi.
Kesimpulan: Tujuan kita adalah mendesain
pengujian/test yang secara sistematis akan
OBYEKTIFITAS TESTING
Meningkatkan kepercayaan bahwa
sistem dapat digunakan dengan tingkat resiko yang dapat diterima.
Menyediakan informasi yang dapat
mencegah terulangnya
error
yang pernah terjadi. Menyediakan informasi yang membantu
OBYEKTIFITAS TESTING (lanjutan)
Mencari
error
dan kelemahan atauketerbatasan sistem.
Mencari sejauh apa kemampuan dari
sistem.
Menyediakan informasi kualitas dari
MISI TIM TESTING
Misi dari Tim Testing tidak hanya untuk
melakukan testing, tapi juga untuk membantu meminimalkan resiko kegagalan proyek.
Tester mencari masalah yang potensial dan
kehadiran dari masalah.
Tester mengeksplorasi, mengevaluasi,
melacak dan melaporkan kualitas produk, sehingga personil project lainnya dapat membuat keputusan terhadap
MISI TIM TESTING (lanjutan)
Tester tidak melakukan
pembenahan/perbaikan atau pembedahan kode.
Tester tidak mempermalukan atau
melakukan komplain kepada suatu individu atau tim, hanya
menginformasikan.
Tester adalah individu yang memberikan
PSIKOLOGI TESTING
Testing dilakukan secara destruktif.
Seorang pengembang bertugas membangun, sedangkan tester justru berusaha untuk
menghancurkan.
Tester harus mempunyai keinginan yang mendasar untuk membuktikan kegagalan kode, dan
melakukan apa saja untuk membuatnya gagal. Bila seorang tester hanya ingin membuktikan
bahwa kode beraksi sesuai dengan fungsi
PRINSIP-PRINSIP TESTING
Testing yang komplit tidak mungkin
Testing merupakan pekerjaan yang
kreatif dan sulit
Alasan yang penting diadakannya
testing adalah untuk mencegah terjadinya errors.
Testing berbasis pada resiko
Testing harus direncanakan.
Testing yang komplit tidak mungkin
Testing yang komplit secara menyeluruh
tidak mungkin, karena jumlah
kemungkinan kombinasi test case yang amat besar.
Oleh karena itu digunakan prioritas dalam
memilih kondisi yang akan dites.
Yang mungkin dilakukan adalah testing
Testing merupakan pekerjaan yang kreatif dan sulit
Untuk melakukan testing secara efektif,
harus mengetahui keseluruhan sistem.
Sedangkan sistem itu tidak sederhana atau tidak mudah dipahami.
Untuk dapat sukses melakukan testing
dibutuhkan hal-hal sbb:
Kreatifitas
Pengetahuan Bisnis
Pengalaman testing
Alasan yang penting diadakannya testing adalah untuk mencegah terjadinya errors
Salah satu obyektifitas dari testing
adalah memperbaiki
error.
Semua testing harus dapat dilacak dan
memenuhi kebutuhan konsumen.
Hal-hal yang tidak sesuai menurut
pandangan konsumen (karena tidak sesuai kebutuhan) adalah sebuah
Testing berbasis pada resiko
Walaupun testing secara keseluruhan
tidak mungkin, namun tidak berarti
bahwa testing yang efektif tidak dapat dilakukan.
Oleh sebab itu testing adalah hasil
Testing berbasis pada resiko
(lanjutan)
Testing merupakan hasil pertimbangan
tarik ulur dari empat faktor:
Sumber daya dan biaya yang dibutuhkan
untuk melakukan testing berdasarkan pada skala prioritas, kompleksitas dan kesulitan testing.
Biaya yang diakibatkan keterlambatan
pengiriman produk (dimana salah satu
kemungkinan penyebabnya adalah testing)
Kemungkinan adanya suatu defect.
Testing harus direncanakan
Rencana Tes (
Test
Plan): Dokumen yangmencakup keseluruhan dari tujuan testing dan pendekatan testing.
Disain Tes (
Test Design
): Dokumen yangmendefinisikan apa yang telah dipilih untuk dites dan menjelaskan hasil yang diharapkan.
Rencana Tes Disain Tes
Pernyataan tujuan testing Spesifikasi tes yang dikembangkan
Deskripsi pendekatan tes Deskripsi pengelompokan tes Sekumpulan tugas untuk
Testing membutuhkan independensi
Testing yang paling efektif harus
dilakukan oleh pihak ketiga.
Tester yang independen (tak
tergantung/bebas):
Pengamat yang tidak bias (tidak subjektif).
Orang yang bertujuan untuk mengukur
Kesimpulan dari
prinsip-prinsip tesing
Kunci yang mempengaruhi kinerja
testing adalah sebagai berikut:
Wawasan dan kreatifitas tiap individu yang
terlibat.
Pengetahuan dan pemahaman terhadap
aplikasi yang dites.
Pengalaman testing.
Metodologi testing yang digunakan.
MOTO TESTING
Moto Testing - Myers (1976):
Test case yang bagus adalah test case yang
mempunyai kemungkinan tinggi dalam mendeteksi defect yang sebelumnya belum ditemukan, bukan yang dapat memperlihatkan bahwa program telah bekerja dengan benar.
Satu dari banyaknya permasalahan dalam testing adalah bagaimana mengetahui kapan saatnya
untuk berhenti melakukan testing.
Tidak mungkin mengetes program sendiri
MOTO TESTING (lanjutan)
Hindari testing yang tidak produktif atau diawang-awang
Tulis test case untuk kondisi yang valid dan tidak valid
Inspeksi hasil dari tiap tes
Semakin meningkatnya jumlah defect yang
terdeteksi dari suatu bagian program, kemungkinan dari keberadaan defect yang tak terdeteksi juga
meningkat.
Tunjuklah programer terbaik untuk melakukan testing