Pengantar Test dan Implementasi Sistem Rudi Susanto
1
Rudi Susanto • • • • •
Wonogiri, 14 Februari 1987 S1 dan S2 di Universitas Sebelas Maret
[email protected] 085647296211 Rudist.wordpress.com
2
Tujuan • Mengenal ide-ide dasar pendukung disiplin ilmu pengujian perangkat lunak • Mengenal kedua model siklus hidup pengujian perangkat lunak – sequential dan iterative baik langkah-langkah maupun proses pengujian masing-masing modelnya • Mengetahui berbagai jenis pengujian yang dapat terjadi sepanjang siklus hidup pengembangan (developmet life cycle) • Mengenal bidang penting pengujian perangkat lunak – static testing technique • Mengenal istilah-istilah dan proses dasar pembuatan serangkaian pengujian untuk eksekusi, serta teknik pengujian desain • Mengelola, mengatur dan mendokumentasikan pengujian perangkat lunak • Mengenal tool-tool yang umum digunakan dalam pengujian perangkat lunak 3
Kurikulum *International Software Testing Qualifications Board
4
Materi 1. 2. 3. 4. 5. 6. 7. 8.
Dasar dasar testing Desain test case Strategi testing Perencanaan testing Proses testing Konsep baru seputar testing Implementasi sistem Pemeliharaan sistem 5
Text book
6
Penilaian • • • •
UAS 40% UTS 30% TUGAS 20% KEHADIRAN 10%
7
Pengantar Test dan Implementasi Sistem
8
Kenapa Software Musti di-Testing?
9
Software Systems Context • Software systems are integral part of every sphere of our life Education Business
Industry
Industry
Military
Entertainment
10
Kenapa Software Testing diperlukan?
11
Kenapa Software Testing diperlukan? Error adalah Kekeliruan, tidak tepat, kesalahan pada software atau kerusakan pada hardware. Dengan terjadinya error ini, maka pelaksanaan perintah tidak sesuai dengan yang diharapkan. •
Defect : merupakan cacat/kekurangan (wrong/missing/extra) didalam sistem software, namun tidak memiliki dampak apabila tidak mempengaruhi customer/user dan sistem operasional organisasi.
Failure : cacat yang memberikan dampak negatif pada user/customer.
12
History of Software Testing
13
Systems Development Life Cycle (SDLC)
14
Introduction to Testing & Implementation
Developing vs testing
15
Seberapa baik sistem sudah dibangun?
16
Introduction to Testing & Implementation
The success of software developments
17
Software Quality Factors?
18
Introduction to Testing & Implementation
Quality in Fact and Perception
Quality (Mutu)
Implementasi memenuhi Spesifikasi ? (Quality in Fact)
Spesifikasi memenuhi Kebutuhan User ? (Quality in Perception) 19
Quality in Fact (Mutu sesungguhnya) • Diukur dengan kriteria sesuai spesifikasi • Cocok dengan tujuan pembuatan dan penggunaan • Tanpa cacat (zero defects) • Selalu baik sejak awal (right first time and every time)
20
Quality in Perception (Mutu persepsi) • Diukur dari kepuasan pelanggan atau pengguna • Meningkatnya minat, harapan dan kepuasan pelanggan • Meningkatnya penjualan/sales
21
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
Lalu Apa Pentingnya Testing ? Testing
Menguji mutu produk
Meningkatkan mutu produk Menjamin mutu produk
23
Software Testing Software Testing (Pengujian Perangkat Lunak)
Software Verification • Apakah sistem sudah dikembangkan dengan cara/metode yg benar? • Pengujian Sistem sudah sesuai dengan spesifikasi?
Software Validation • Apakah sistem sudah dikembangkan sesuai kebutuhan pengguna ?
• Pengujian Sistem sudah sesuai dengan yang diharapkan pengguna?
24
Definisi Testing? • • •
•
Menurut Hetzel 1973: – Testing adalah proses pemantapan kepercayaan akan kinerja program atau sistem sebagaimana yang diharapkan. Menurut Myers 1979: – Testing adalah proses eksekusi program atau sistem secara intens untuk menemukan error. Menurut Hetzel 1983 – Testing adalah tiap aktivitas yang digunakan untuk dapat melakukan evaluasi suatu atribut atau kemampuan dari program atau sistem dan menentukan apakah telah memenuhi kebutuhan atau hasil yang diharapkan. Menurut Standar ANSI/IEEE 1059: – 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. 25
Definisi Testing •
Testing software adalah proses mengoperasikan software dalam suatu kondisi yang di kendalikan, untuk (1) verifikasi apakah telah berlaku sebagaimana telah ditetapkan (menurut spesifikasi), (2) mendeteksi error, dan (3) validasi apakah spesifikasi yang telah ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna yang sebenarnya.
•
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?) Deteksi error: Testing seharusnya berorientasi untuk membuat kesalahan secara intensif, untuk menentukan apakah suatu hal tersebut terjadi bilamana tidak seharusnya terjadi atau suatu hal tersebut tidak terjadi dimana seharusnya mereka ada.
• •
26
Pengujian dikatakan sukses ?? • Pengujian dapat mengungkap kesalahan yang belum pernah ditemukan sebelumnya • Pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi untuk mencari sebanyak mungkin kesalahan yang ada di program
27
Basic Principle of Testing • Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan (Requirement) • Pengujian harus dapat direncanakan jauh sebelum dilakukan • Pengujian harus mulai dari lingkup yang kecil kemudian berkembang ke lingkup yang besar • Pengujian jangan terlalu berlebihan (exhaustive) • Supaya efektif, pengujian harus dilakukan oleh pihak ketiga 28
Kondisi efektif sistem pengujian
29
Contoh testing | temukan errornya?
30
TERIMA KASIH
31