Staffsite STMIK PPKIA Pradnya Paramita 3a66b pertemuan 2

TESTING DAN
IMPLEMENTASI
PERTEMUAN 2
DASAR – DASAR TESTING

TUJUAN TESTING
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
membuka berbagai macam jenis error, dengan
waktu dan tenaga yang seminimum mungkin.
1.

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
untuk mendeteksi error secara dini.

OBYEKTIFITAS TESTING (lanjutan)







Mencari error dan kelemahan atau
keterbatasan sistem.
Mencari sejauh apa kemampuan dari
sistem.
Menyediakan informasi kualitas dari
produk software.

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
pengembangan produk.

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
hasil pengukuran dari kualitas produk.

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

bisnisnya, maka tester tersebut telah gagal dalam
menjalankan tugasnya.

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 membutuhkan independensi

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
logika dari program dan yakinkan semua
kondisi dari semua level komponen telah
diperiksa.


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
Metodologi 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
kesalahan (fault)


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
pertimbangan dari resiko dan ekonomi.

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.
Biaya yang disebabkan oleh defect.

Testing harus direncanakan





Rencana Tes (Test Plan): Dokumen yang
mencakup keseluruhan dari tujuan
testing dan pendekatan testing.
Disain Tes (Test Design): Dokumen yang
mendefinisikan 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
mencapai tujuan testing

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
kualitas software secara akurat.

Kesimpulan dari prinsipprinsip 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.
Usaha dan sumber daya yang dipakai.

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
Bagian yang dibutuhkan dari tiap test case adalah
deskripsi keluaran (output) yang dikeluarkan

MOTO TESTING (lanjutan)










Hindari testing yang tidak produktif atau diawangawang
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
Pastikan bahwa testabilitas adalah suatu objective
penting dalam desain software.