Teknik Informatika S1 SOFTWARE QUALITY AND TESTING Konsep Dasar Pengujian
Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS
[email protected] +6285740278021
SILABUS MATA KULIAH 1. Pendahuluan
2. Gambaran Umum Pengujian (Definisi Pengujian, proses pengujian, Hubungan pengujian dan kualitas, dasardasar pengujian)
3. Konsep Dasar Pengujian 4. Strategi Testing (V&V, Unit Testing, Integration) 5. Teknik Pengujian (White Box, Black Box, Grey Box) 6. Black Box
7. Black Box
Obyektifitas Testing Secara Umum Obyektifitas dari testing adalah untuk melakukan verifikasi, validasi dan deteksi error untuk menemukan masalah dan Tujuan dari penemuan ini adalah untuk membenahinya.
Prinsip-prinsip Testing 1. Testing yang komplit tidak mungkin Testing yang komplit secara menyeluruh tidaklah mungkin untuk dilakukan, karena jumlah kombinasi test case yang amat besar,
dimana kemungkinan-kemungkinan tersebut meliputi pertimbangan: Domain masukan
Kompleksitas Jalur Program
Prinsip-prinsip Testing 2. Testing merupakan pekerjaan yang kreatif dan sulit Terdapat mitos yang salah tentang Testing: Testing itu mudah Tiap
orang
akan
dapat
melakukan
testing
sendirinya Tidak dibutuhkan pelatihan atau pengalaman
dengan
Prinsip-prinsip Testing 2. Testing merupakan pekerjaan yang kreatif dan sulit Testing bukanlah hal yang sederhana, karena: Untuk melakukan testing secara efektif, harus mengetahui keseluruhan sistem. Sistem tidak sederhana atau tidak mudah untuk dipahami
Prinsip-prinsip Testing 3. Alasan yang penting diadakannya testing adalah untuk mencegah terjadinya errors. Konsep siklus dari testing: Testing bukan untuk satu fase pengembangan saja Hasil testing diasosiasikan pada tiap fase pengembangan.
Prinsip-prinsip Testing 4. Testing berbasis pada resiko Walaupun testing secara keseluruhan adalah tidak mungkin, namun tidak berarti bahwa testing yang efektif tidak dapat dilakukan.
Oleh
sebab
itu
testing
pertimbangan dari resiko dan ekonomi.
merupakan
hasil
Prinsip-prinsip Testing 5. Testing harus direncanakan Testing yang baik butuh pemikiran dengan pendekatan secara keseluruhan, desain tes dan penetapan hasil yang diinginkan untuk tiap kasus tes (Test case) yang dipilih.
Prinsip-prinsip Testing 5. Testing harus direncanakan Suatu dokumen yang mencakup keseluruhan dari tujuan testing dan pendekatan testing di sebut Rencana Tes (Test Plan). Suatu dokumen atau pernyataan yang mendefinisikan apa yang telah dipilih untuk dites dan menjelaskan hasil yang diharapkan
disebut Desain Tes (Test Desain)
Prinsip-prinsip Testing 5. Testing harus direncanakan
Prinsip-prinsip Testing 6. Testing butuh kebebasan Bila menginginkan adanya pengukuran yang tak bias maka dibutuhkan pula tester yang tak bias. Tester yang independen: 1. Pengamat yang tidak bias 2. Orang yang bertujuan untuk mengukur kualitas software secara akurat
Isu-Isu Seputar Testing 1. Sistem itu “Buggy”, Hal ini disebabkan oleh: Sistem pengembangan yang kurang baik dan terencana Sistem pelayanan yang kurang baik dan terencana Analis, Desainer dan Programmer tidak tahu bagaimana membangun suatu kualitas ke dalam sistem yang ada Tester tidak banyak terpengaruh oleh definisi dari kebutuhan, development atau proses pelayanan
Isu-Isu Seputar Testing 2. Testing ditampilkan dengan gambaran yang menakutkan Tak
dapat
dipungkiri
bahwa
testing
itu
mahal
dan
membutuhkan aktifitas waktu yang besar, dan hal itu benarbenar menakutkan.
Isu-Isu Seputar Testing 3. Batas waktu menjadi hambatan bagi testing Manajemen menginginkan produk diluncurkan secepat mungkin Banyak cara dan hal yang harus dilakukan dalam testing dalam waktu
yang singkat. Batas waktu kadang-kadang tidak realistis, dan tekanan antara meluncurkan produk dengan cepat dibandingkan dengan membuat produk yang benar Testing kadang-kadang terlalu sedikut, terlambat dan tidak terencana
Isu-Isu Seputar Testing 4. Testing bukan organisasi dan ilmu Tidak ada satu orang pun yang yakin apa itu testing, siapa yang bertanggung jawab, dan kapan harus melakukan testing, sebagaimana telah dibahas sebelumnya testing merupakan suatu hal yang subyektif dan relatif, bahkan hanya untuk definisi testing tiap praktisi mempunyai pendapatnya sendirisendiri.
Testabilitas 1. Operability “Semakin baik Software bekerja, akan membuat software dites dengan lebih efisien”.
Testabilitas 2. Observability “Apa yang Anda lihat, adalah apa yang Anda tes”.
Testabilitas 3. Controllability “Dengan semakin baik kita dapat mengendalikan software, semakin
banyak
dioptimalisasi”.
testing
dapat
diotomatisasi
dan
Testabilitas 4. Decomposability “Dengan pengendalian batasan testing, kita dapat lebih cepat dalam mengisolasi masalah dan melakukan testing ulang yang lebih baik”.
Testabilitas 5. Simplicity “Semakin
sedikit
melakukannya.”
yang
dites,
semakin
cepat
kita
Testabilitas 6. Stability “Semakin sedikit perubahan, semakin sedikit masalah/ gangguan testing.”
Testabilitas 7. Understandability “Semakin banyak informasi yang kita miliki, kita akan dapat melakukan tes lebih baik.”
Kemampuan Tester yang Diharapkan Kemampuan secara umum: Mempunyai kemampuan analisa yang kuat dan terfokus Mempunyai kemampuan komunikasi yang baik Mempunyai latar belakang QA
Kemampuan Tester yang Diharapkan Pemahaman terhadap metodologi: Pengembangan rencana tes Pembuatan dan perawatan lingkungan tes Standar tes Dokumentasi tes (seperti test cases dan procedure test)
Kemampuan Tester yang Diharapkan Pengetahuan akan pendekatan testing: Integration testing Acceptance Testing
Stress/ Volume Testing Regression Testing
Functional Testing End-to-End Testing
GUI Testing
Kemampuan Tester yang Diharapkan Pengetahuan tentang sistem: Perbankan/ Keuangan Produk Komersial
Telecom Internet
Kemampuan Tester yang Diharapkan Pengetahuan dan pengalaman akan penggunaan alat bantu testing: Alat bantu capture atau playback Alat bantu Load Testing
Kemampuan Tester yang Diharapkan Kemampuan terhadap lingkungan testing: Mainframe (MVS, JCL) Client – Server (WinNT, UNIX) Kemampuan terhadap aplikasi Dokumentasi (Office) Database (Oracle, 3GL, RDBMS)
Pemrograman ( C++, VB, OO)
Personalitas Tester Atribut Positif yang patut dikembangkan Terencana, Sitematis, dan berhati-hati Bermental juara Pendirian teguh Praktikal Analitikal
Bermoral baik
Personalitas Tester Atribut Negatif yang patut dihindari: Sedikit empati terhadap pengembang Kurang berdiplomasi Skeptis Keras Kepala
TERIMA KASIH