Teknik Informatika S1 SOFTWARE QUALITY AND TESTING Konsep Dasar Pengujian Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +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 dengan sendirinya Tidak dibutuhkan pelatihan atau pengalaman
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 merupakan hasil pertimbangan dari resiko dan ekonomi.
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
6. Testing butuh kebebasan Prinsip-prinsip Testing 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 testing dapat diotomatisasi dan dioptimalisasi.
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 yang dites, semakin cepat kita melakukannya.
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