Dosen Pengampu: Anief Fauzan Rozi, S.Kom., M.Eng. Phone/WA: 0856 4384 6541 PIN BB: 29543EC4 Email: anief.umby@gmail.com Website: http://anief.mercubuana- yogya.ac.id 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 1
Mahasiswa mengetahui strategi dan teknik pengujian sistem Mahasiswa mengetahui ruang lingkup penjaminan kualitas dan evaluasi sistem 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 2
definisi testing tujuan pengujian software prinsip pengujian definisi kualitas SQA ruang lingkup evaluasi testing Vs. kualitas faktor kualitas secara umum QA & QC 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 3
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 (Revisi): 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. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 4
Definisi Pengujian menurut IEEE dan ANSI : The process of operating a system or component under specified condition, observing or recording the result, and making an evaluation of some aspect of system/ component. (IEEE/ANSI, 1990 std 610.12-1990) Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (perbedaan ini disebut defect/error/bug), dan mengevaluasi fitur- fitur dari entitas software. (IEEE/ANSI, 1983 std 829-1983) (IEEE Institute of Electrical and Electronics Engineering, ANSI American National Standards Institute) 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 5
Mendeteksi kesalahan: Pengujian yang sukses adalah yang berhasil menemukan error yang tersembunyi. Membangun kepercayaan terhadap software, dengan cara mendemonstrasikan kepada developer dan customer bahwa software yang dibangun memenuhi requirement Test case yang bagus adalah yang memiliki kemungkinan terbesar untuk menemukan error yang tersembunyi. Mengevaluasi properties dari software: Reliablitas Performance Penggunaan Memory Security Usablity 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 6
Harus bisa dilacak hingga sampai ke kebutuhan customer. Harus direncanakan sejak model dibuat. Prinsip Pareto: 80% error yang ditemukan, berasal dari 20% komponen program. Dari lingkup kecil menuju yang besar. Tidak bisa semua kemungkinan diuji. Dilakukan oleh pihak ketiga yang independen. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 7
a characteristic or attribute of something. (American Heritage Dictionary) Menurut Crosby Kualitas adalah pemenuhan terhadap kebutuhan Menurut ISO- 8402 Kualitas adalah keseluruhan dari fitur yang menjadikan suatu produk dapat memuaskan atau dipakai sesuai kebutuhan dengan harga yang terjangkau 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 8
Menurut W.E Perry Kualitas adalah pemenuhan terhadap standar Menurut R.Glass Kualitas adalah tingkat kesempurnaan Menurut J.Juran Kualitas adalah tepat guna Sesuai dengan spesifikasi Memenuhi kebutuhan customer 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 9
Penjaminan kualitas perangkat lunak adalah aktivitas pelindung yang diaplikasikan pada seluruh proses perangkat lunak. Terdiri atas: fungsi auditing pelaporan manajemen. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 10
Tujuan: Memberikan data yang diperlukan oleh manajemen untuk menginformasikan masalah kualitas produk, sehingga dapat memberikan kepastian & konfidensi bahwa kulitas produk dapat memenuhi sasaran. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 11
1. pendekatan manajemen kualitas 2. teknologi rekayasa perangkat lunak yang efektif (metode dan peranti) 3. kajian teknik formal yang diaplikasikan pada keseluruhan proses perangkat lunak 4. strategi pengujian multitiered (deret bertingkat) 5. kontrol dokumentasi perangkat lunak dan perubahan 6. prosedur untuk menjamin kesesuaian dengan standar pengembangan perangkat lunak 7. mekanisme pengukuran dan pelaporan. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 12
Software yang berkualitas adalah: Software yang bebas error dan bug secara objektif Tepat waktu dan dana Sesuai dengan kebutuhan atau keinginan User/Customer Dapat dirawat (maintainable) Testing merupakan pengukuran kualitas software, yang dilakukan secara obyektif. Secara obyektif: proses pembuktian yang terstruktur, terencana dan tercatat/terdokumentasi dengan baik. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 13
Ada 3 faktor kualitas software secara umum, yaitu fungsionalitas, rekayasa dan adaptabilitas. Fungsionalitas (Kualitas Luar): Kebenaran (Correctness): Tingkat kesesuaian program dengan sepesifikasi, dan tujuan customer. Reliabilitas (Reliability): Tingkat harapan sebuah program dapat menjalankan fungsinya secara presisi. Kegunaan (Usability): Tingkat usaha yang dibutuhkan untuk mempelajari, mengoperasikan, mempersiapkan input dan menginterpretasi output dari sebuah program. Integritas (Integrity): Tingkat pengendalian terhadap pengaksesan software dan data oleh orang yang tidak berwenang. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 14
Rekayasa (Kualitas Dalam): Efisiensi (Efficiency): Jumlah sumberdaya dan code yang dibutuhkan agar sebuah program dapat menjalankan fungsinya. Testability (Testability): Seberapa besar usaha yang harus dikeluarkan untuk melakukan test terhadap program, sampai program tersebut dapat menjalankan fungsinya dengan sesuai. Dokumentasi (Documentation) Struktur (Structure) 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 15
Adaptibilitas (Kualitas ke Depan) Fleksibilitas (Flexibility): Usaha yang diperlukan untuk memodifikasi sebuah program. Reusabilitas (Reusability) : Seberapa besar kemampuan sebuah program (komponen program) untuk dapat digunakan kembali didalam aplikasi lain. Maintainabilitas (Maintainability): Usaha yang diperlukan untuk menemukan lokasi dan memperbaiki error didalam sebuah program. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 16
Quality Control: Inspeksi, review dan test/ pengujian yang dilakukan sepanjang siklus hidup software tersebut, untuk memastikan kesesuaian software tersebut dengan kebutuhan (requirement) Quality Assurance: Audit dan Pelaporan dari managemen. Tujuannya adalah untuk memberikan data dan informasi kepada manajemen tentang kualitas dari produk. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 17
Berorientasi pada kualitas adalah salah satu usaha untuk menurunkan tingkat resiko terjadinya kegagalan proyek. Dengan berorientasi pada kualitas maka organisasi dapat melakukan proses analisa, evaluasi dan pengembangan yang berkesinambungan, sehingga proses pengembangan software menjadi semakin efektif, efisien dan terkendali. 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 18
Dengan proses yang semakin efektif, efisien dan terukur dapat menghasilkan software yang berkualitas, tepat waktu dan pendanaan. Dengan software yang berkualitas akan memberikan jaminan bagi pelanggan / klien untuk mendapatkan produk seperti yang diharapkan, yang pada akhirnya akan menambah kepercayaan klien, sehingga hubungan klien dengan organisasi menjadi berkesinambungan. User satisfaction = compliant product + good quality +delivery within budget and schedule (Robert Glass) 3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 19
3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta 20