Testing dan implementasi sistem Pengantar
Definisi testing Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (defects / errors / bugs) dan mengevaluasi fitur-fitur dari entitas software. (Standar ANSI/IEEE 1059)
Pandangan praktisi tentang testing Melakukan cek pada program terhadap spesifikasi. Membuktikan bahwa error tidak terjadi. Mengetahui akan keterbatasan sistem. Menemukan bug pada program. Mempelajari apa yang tak dapat dilakukan oleh sistem. Menentukan penerimaan dari pengguna. Memastikan suatu sistem siap digunakan. Melakukan evaluasi kemampuan sistem. Verifikasi dokumen. Meningkatkan kepercayaan terhadap kinerja program. Memastikan bahwa pekerjaan telah diselesaikan. Memperlihatkan bahwa program berkerja dengan benar.
KORELASI TESTING DENGAN VERIFIKASI DAN VALIDASI Verifikasi apakah telah berlaku sebagaimana telah ditetapkan (menurut spesifikasi), Mendeteksi error, dan Validasi apakah spesifikasi yang telah ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna yang sebenarnya.
JADI APA ITU VERFIFIKASI DAN VALIDASI Verifikasi adalah pengecekan atau pengetesan entitas-entitas, termasuk software, untuk pemenuhan dan konsistensi dengan melakukan evaluasi hasil terhadap kebutuhan yang telah ditetapkan. (Are we building the system right ?) Validasi melihat kebenaran sistem, apakah proses yang telah ditulis dalam spesifikasi adalah apa yang sebenarnya diinginkan atau dibutuhkan oleh pengguna. (Are we building the right system?)
KUALITAS Kualitas adalah pemenuhan terhadap kebutuhan. (CROSBY) Kualitas adalah pemenuhan terhadap standar. (W.E Perry) Kualitas adalah tepat guna. (J. Juran) Kualitas adalah keseluruhan dari fitur yang menjadikan produk dapat memuaskan atau dipakai sesuai kebutuhan dengan harga yang terjangkau. (ISO-8402)
Apa hubungan testing dan kualitas? Software berkualitas adalah software yang bebas error dan bug secara obyektif, tepat waktu dan dana, sesuai dengan kebutuhan atau keinginan dan dapat dirawat (maintainable). Kata “Obyektif” adalah suatu proses pembuktian yang terstruktur, terencana dan tercatat / terdokumentasi dengan baik. Sehingga ada (Quality Control – QC) dan (Quality Assurance – QA) Testing tidak dapat memastikan kualitas software, namun dapat memberikan kepercayaan atau jaminan terhadap software
Faktor-FAKTOR KOMPONEN U/ Pengukuran kualitas Fungsionalitas (Kualitas Luar) Adaptabilitas (Kualitas ke Depan) Kebenaran (Correctness) Fleksibilitas (Flexibility) Reliabilitas (Reliability) Reusabilitas (Reusability) Kegunaan (Usability) Maintainabilitas (Maintainability) Integritas (Integrity) Rekayasa (Kualitas Dalam) Efisiensi (Efficiency) Testabilitas (Testability) Dokumentasi (Documentation) Struktur (Structure)
Pentingnya kualitas software Amerika pernah menghabiskan dana 81 bilyun US$ untuk pembatalan proyek 31.1 % Proyek dibatalkan sebelum selesai. 52.7 % Proyek mengalami pembengkakan biaya sebesar 189% dari nilai estimasi. 9.0 % Proyek selesai tepat waktu dan anggaran. Dengan berorientasi pada kualitas, maka organisasi software akan dapat melakukan proses analisa, evaluasi dan pengembangan yang berkesinambungan untuk mencapai pengembangan software yang efektif, efisien, terukur, terkendali dan dapat diulang secara konsisten.
Materi yang akan disampaikan Pengembangan perangkat lunak Dasar-dasar pengujian perangkat lunak Teknik-teknik pengujian perangkat lunak Pengujian berorientasi obyek Strategi pengujian perangkat lunak Mengukur produktivitas dalam pengembangan perangkat lunak Metrik teknik untuk system berorientasi obyek Implementasi sistem Pemeliharaan sistem