1 / 65

TESTING & IMPLEMENTASI SISTEM

TESTING & IMPLEMENTASI SISTEM. Pengkodean Perangkat Lunak , Dasar & Strategi pengujian perangkat lunak Diema HS, S.Kom. PENGKODEAN PERANGKAT LUNAK. Perbedaan bahasa generasi ke-4 dengan bahasa generasi ke3. 4GL Jalur kode yang lebih sedikit

reegan
Download Presentation

TESTING & IMPLEMENTASI SISTEM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TESTING & IMPLEMENTASI SISTEM PengkodeanPerangkatLunak, Dasar & Strategipengujianperangkatlunak Diema HS, S.Kom

  2. PENGKODEAN PERANGKAT LUNAK

  3. Perbedaanbahasagenerasi ke-4 denganbahasagenerasi ke3 • 4GL • Jalurkode yang lebihsedikit • Memberikan potensi dilakukannya pemrograman oleh end user untuk aplikasi mereka sendiri • Metodologipengembangan • Produktivitas yang meningkat • Layanan yang meningkat • Partisipasipemakai

  4. Perbedaanbahasagenerasi ke-4 denganbahasagenerasi ke3 • 3GL • Kepadatan • Efisiensimesin • Fungsionalitas • Kompatibilitas • Produktivitaspengkodean • Pengujiandanpemeliharaan

  5. Bahasapemrogramanberorientasiobjek • Jenisbahasa OOP • Murni • Smalltalk • Hybrid • w C++ • C • Cobol

  6. Perangkatbahasapenggunaankhusus • Alatbahasaberorientasipemakaiinteraktif • DBMS • Alat bahasa hypertext dan multimedia

  7. Memilihbahasa yang tepat • Mencocokanbahasadenganaplikasirancanganperangkatlunak • Tingkat penggunaandalamduniabisnis • Keekspresifan • Kemudahan • Maintainability

  8. DASAR –DASAR PENGUJIAN PERANGKAT LUNAK

  9. (IEEE – Institute of Electrical and Electronics Engineering, ANSI – American National Standards Institute) • Menurutstandar ANSI/IEEE 1059 Testing adalahprosesmenganalisasuatuentitas software untukmendeteksiperbedaanantarakondisi yang adadengankondisi yang diinginkan(defect/errors/bugs) danmengevaluasifitur-fiturdarientitas software

  10. DefinisiSederhanaKualitas • Menurut CROSBY: Kualitasadalahpemenuhanterhadapkebutuhan. • Menurut ISO-8402: Kualitasadalahkeseluruhandarifitur yang menjadikanprodukdapatmemuaskanataudipakaisesuaikebutuhandenganharga yang terjangkau. • Menurut W.E. Perry: Kualitasadalahpemenuhanterhadapstandar. • Menurut R. Glass: Kualitasadalahtingkatkesempurnaan. • Menurut J. Juran: Kualitasadalahtepatguna.

  11. Hubungan testing dankualitas Software yang berkualitasadalah software yang bebas error dan bug secaraobjektif, tepatwaktudandana, sesuaidengankebutuhanataukeinginandandapatdirawat (maintainable) Definisiobjektif : Suatuprosespembuktian yang terstruktur, terencanadanterdokumentasidenganbaik

  12. Hubungan Testing Dan Kualitas Testing membuatkualitasdapatdilihatsecaraobjektif, karena testing merupakanpengukurandarikualitas software Testing tidakdapatmemastikankualitas software, namundapatmemberikanjaminanterhadap software padasuatutingkattertentu Jaminankualitas (Quality Assurance – QA) mengukurkualitasproses yang digunakanuntukmembuatprodukberkualitas Testing merupakanbagiandariaktifitas QA

  13. Hubungan Testing DenganKualitas Proyekpengembangan software memilikikecenderunganuntukmengalamikegagalan Proyek yang gagal ??? Salahsatuusahamenurunkantingkatresikoterjadinyakegagalanadalahdenganberorientasipadakualitas

  14. Tujuan testing Adalahmenemukansebanyakmungkinmasalah (error) Tujuandarimenemukanmasalahadalahmemperbaikinya Tanganimasalah yang bersifatpenting, karenatidaksemuapermasalahandapat.

  15. Misitim testing Tidakhanyauntukmelakukan testing, tetapijugamembantumeminimalkanresikokegagalanproyek Mencarimasalahdariproduk Mencarimasalahpotensial Mencarikehadiranmasalah Intinyaadalahmencaridanmelaporkansehinggatim lain dapatmembuatkeputusanterhadappengembanganproduk

  16. Cont'd Perludiingat, tester hanyamenginformasikan Tidakmelakukanpembenahankode Tester adalahindividu yang memberikanhasil pengukurandarikualitasproduk

  17. Psikologi testing Jika pengembangan dilakukan secara konstruktif, maka testing dilakukan secara destruktif Tester harus mempunyai keinginan yang mendasar untuk membuktikan kode gagal dan akan melakukan apa saja untuk membuatnya gagal Bila seorang tester hanya ingin membuktikan bahwa kode beraksi sesuai dengan fungsi bisnisnya, maka tester tersebut telah gagal dalam menjalankan tugasnya sebagai tester

  18. Prinsip-prinsip testingprinsip pertama Testing yang komplit (dilakukansecaramenyeluruh) tidakmemungkinkandilakukan. Kemungkinanjumlahkombinasitestcase yang amatbesar Pertimbangan domain masukan yang mungkinsangatbesarjumlahnya (masukan yang valid, tdk valid, masukanygdieditdll) Kompleksitas user interface dandesain.

  19. Cont'd Jalur program yang mungkindapatdilewatisangatbanyak Harusdilakukan test ulang, setiapadaperbaikanpadamasing-masing bug

  20. Prinsip kedua Testing merupakanpekerjaan yang kreatifdansulit mitos-mitos yang salahtentang testing : Testing itumudah Tiaporangakandapatmelakukan testing dengansendirinya padahal

  21. Cont'd Testing bukanlahhal yang sederhana, karena Untukdapatmelakukan testing yang efektifharusmengetahuikeseluruhansistem Sistemsendiritidaksederhana (mudahdipahami)

  22. Prinsipketiga Testing berbasispadaresiko walaupun testing secarakeseluruhantidakdapatdilakukan, tidakberartibahwa testing yang efektiftidakdapatdilakukan testing merupakanhasilpertimbangandariresikodanekonomi

  23. Cont'd Secararingkas, testing dipengaruhiolehpertimbangan : Sumberdayadanbiaya yang dibutuhkanuntukmelakukan testing menurutskalaprioritas, kompleksitasdankesulitan testing Biayadariketerlambatanpengirimanproduk (kemungkinanbesardisebabkan testing) Kemungkinanadanyasuatu defect Biaya yang disebabkanoleh defect, bilamana defect tsbmenyebabkan error yang membawakerugianlangsungmaupuntaklangsungbagi customer

  24. Prinsip keempat Testing harusdirencanakan butuhpemikirandgnpendekatansecarakeseluruhan, desaintesdanpenetapanhasilygdiinginkanutksetiapkasustes (test case) ygdipilih test plan : dokumenygmencakupkeseluruhtujuan testing danpendekatan testing test design : dokumenygmendefinisikanapaygtelahdipilihutkditesdanhasilygdiharapkan “test direncanakandandidesainsebelumkodedibuat”

  25. Cont'd Perencanaantessangatpenting, yaitu : Utkdptmenjagaarahpelaksanaantes agar tidakmenyimpangdaritujuantesitusendiri (mengukurkualitas SW) Menjagakesesuaianpenggunaansumberdayadanjadualproyekdenganmenetapkanapa yang akanditesdankapanberhenti Membantu tester fokusterhadapapa yang akandites (membuat test case)

  26. Prinsip kelima Testing butuhindependensi testing yang paling efektifadalah yang dilakukanolehpihakketiga (tidak bias)

  27. Dasar-dasar testing Testing dikatakan baik, jika : Kemungkinan mendapatkan error tinggi Tidak redundan --> resource terbatas, tiap tes yang dilakukan HARUS memiliki tujuan yang berbeda Tidak terlalu simpel atau kompleks

  28. Cont'd Kode untuk kondisi khusus mendapatkan porsi tes yang sama dengan kode yang umum Kode untuk kondisi khusus --> peluang memp. bug tinggi Testing untuk kode yang dijalankan dalam kondisi normal tidak mengeksekusi error handling code Testing yang sukses adalah testing yang berhasil menemukan error yang tidak diketahui

  29. “ STRATEGI PENGUJIAN/TESTING PERANGKAT LUNAK ”

  30. Strategiujicoba PL memudahkanparaperancanguntukmenentukankeberhasilan system ygtelahdikerjakan. Hal ygharusdiperhatikanadalah langkah-langkah perencanaan dan pelaksanaan harus direncanakan denganbaikdanberapa lama waktu, upayadansumberdayaygdiperlukan. • Strategiujicobamempunyaikarakteristiksbb : • Pengujianmulaipadatingkatmodulyg paling bawah, dilanjutkandgnmoduldiatasnyakemudianhasilnyadipadukan. • Teknikpengujian yang berbedamungkinmenghasilaknsedikit perbedaan (dalamhalwaktu)

  31. Pengujiandilakukanolehpengembangperangkatlunakdan (untukproyek yang besar) suatukelompokpengujian yang independen. • Pengujiandan debugging merupakanaktivitas yang berbeda, tetapi debugging termasukdalamstrategipengujian. • Pengujian PL adalahsatuelemendaritopik yang lebihluas yang sering diacusebagaiverifikasidanvalidasi (V& V). • Verifikasi : Kumpulan aktifitasygmenjaminpenerapan PL benar-benarsesuaidgnfungsinya. • Validasi : Kumpulan aktivitas yang berbeda yang memastikanbahwa PL yang dibangundapatmemenuhikeperluanpelanggan. • Dgnkata lain : • Verifikasi : “ Apakahkitamembuatprodukdgnbenar?” • Validasi : “ Apakahkitamembuatbenar-benarsuatuproduk?”

  32. PendekatanStrategiskepengujianperangkatlunak • Pengujian Unit • PengujianIntegrasi • PengujianValidasi • PengujianSistem

  33. 1. Pengujian Unit • Berfokuspadaintiterkecildaridesainperangkatlunakyaitumodul • Biasanyaberorientasipada white box

  34. Pengujian Unit • Checklist untukpengujian interface (Myers) • Apakahjumlah parameter input samadenganjumlahargumen? • Apakah antara atribut dan parameter argumen sudahcocok? • Apakah antara sistem satuan parameter dan argumensudahcocok? • Apakahjumlahargumen yang ditransmisikankemodul yang dipanggilsamadenganatribut parameter?

  35. Pengujian Unit • Apakahatributdariargumen yang ditransmisikankemodul yang dipanggilsamadenganatribut parameter? • Apakahsistem unit dariargumen yang ditransmisikankemodul yang dipanggilsamadengansistemsatuan parameter? • Apakahjumlahatributdanurutanargumenkefungsi-fungsi built-in sudahbenar? • Adakahreferensike parameter yang tidaksesuaidengan poin entri yang ada? • Apakahargumen input only diubah? • Apakahdefinisivariabel global konsistendenganmodul ? • Apakahbatasan yang dilaluimerupakanargumen?

  36. Pengujian Unit • Test case harusdidesainuntukmengungkapkesalahandalamkategori • pengetikan yang tidakteraturdantidakkonsisten • inisialisasi yang salahataunilai-nilai default • Namavariabel yang tidakbenar • Tipe data yang tidakkonsisten

  37. Seberapabaiksistem yang sudahdibangun ? • DuaAspek yang dipertimbangkan: • Apakahimplementasisudahsesuaidenganspesifikasi ? • Apakah spesifikasi sesuai dengan kebutuhan user ? • Validasi • “Apakahsistem yang dikembangkansudahbenar?” • Pengujiandimanasistemketikadiimplementasikansesuaidengan yang diharapkan • Verifikasi • “Apakahsistemdikembangkandengancara yang benar ?” • Pengujianapakahsistemsudahsesuaidenganspesifikasi

  38. 2. Integration testing • Menjelaskankecacatandalamantarmukadaninteraksiantarkomponenterpadu (modul). • Semakinbesarkelompokkomponenperangkatlunak yang diujiterkaitdenganelemen-elemendaridesainarsitekturnyaakandipadukandandiujisampaiperangkatlunakbekerjasebagaisistem.

  39. 3. PengujianValidasi • Setelahsemuakesalahandiperbaikimakalangkahselanjutnyaadalahvalidasi testing. • Pengujianvalidasidikatakanberhasilbilafungsiygadapada PL sesuaidgnygdiharapkanpemakai. • Validasi PL merupakankumpulanseriujicoba black box ygmenunjukkansesuaidgnygdiperlukan. • Kemungkinankondisisetelahpengujian: 1. Karakteristikperformansifungsisesuaidgnspesifikasidandapat diterima. 2. Penyimpangandarispesifikasiditemukandandibuatkandaftar penyimpangan.

  40. Pengujian Alpha dan Beta • Apabila PL dibuatuntukpelangganmakadapatdilakukanaceeptance test sehinggamemungkinkanpelangganuntukmemvalidasiseluruhkeperluan. • Test ini dilakukan karena memungkinkan pelanggan menemukan kesalahan yglebihrincidanmembiasakanpelangganmemahami PL ygtelahdibuat.

  41. Pengujian Alpha Dilakukanpadasisipengembangolehseorangpelanggan. PL digunakanpada setting yg natural dgnpengembang “ygmemandang” melaluibahupemakaidanmerekamsemuakesalahandanmasalahpemakaian. • Pengujian Beta Dilakukanpadasatuataulebihpelangganolehpemakaiakhir PL dalamlingkunganygsebenarnya, pengembangbiasanyatidakadapadapengujianini. Pelangganmerekansemuamasalah (real atauimajiner) ygditemuiselamapengujiandanmelaporkanpadapengembangpada interval waktutertentu.

  42. 4. PengujianSistem • Padaakhirnya PL digabungkandgnelemen system lainnyadanrentetanperpaduan system danvalidasitesdilakukan. Jikaujicobagagalataudiluarskopedariprosesdaursikluspengembangan system, langkahygdiambilselamaperancangandanpengujiandapatdiperbaiki. Keberhasilan perpaduan PL dan system ygbesarmerupakankuncinya. • Sistem testing merupakanrentetanpengujianygberbeda-bedadgntujuanutamamengerjakankeseluruhanelemen system ygdikembangkan.

  43. PengujianSistem (lanjutan) • Recovery/perbaikan Testing Adalah system testing ygmemaksa PL mengalamikegagalandalam bermacam-macamcaradanmemeriksaapakahperbaikandilakukandgn tepat. • Security Testing Adalahpengujianygakanmelalukanverifikasidarimekanisme perlindunganygakandibuatoleh system, melindungidarihal-halyg mungkinterjadi. • Strees Testing Dirancanguntukmenghadapisituasiygtidak normal padasaat program diuji. Testing inidilakukanoleh system untukkondisiseperti volume data ygtidak normal (melebihiataukurangdaribatasan) ataufrkkuensi.

  44. Menjalankan test • Testing aplikasi desktop • Testing aplikasi server • Testing aplikasi web

  45. 1.Testing aplikasi desktop • Jenis : • Functionality : • Aplikasiharusterlihatdanberfungsisebagaimanamestinyaterhadap end-user ataupenggunaakhir. Testing dilakukandenganmenggunakan data yang menggambarkan data yang digunakanolehpenggunasesungguhnya. • Data yang dimasukkantersimpandenganbenarpada database. • Pengujiandilakukansekelompokpenggunadengankemampuan yang berbeda. • Configuration • JikaaplikasiAndadi-develop untuklingkungan yang besar, testing harusdilakukanpadakomputerkhusus. Komputer yang digunakansebagaikomputer testing harusterlebihdahuludikonfigurasihanyadengan: a. Operating system yang dibutuhkan. b. Software pendukung/add on untukaplikasiDriver yang diperlukanolehaplikasi, jikaada. c. Aplikasi yang dites.

  46. Compatibility • Hardware • OS • Diimplementasikanpadakonfigurasi yang berbedadiujicompatibilitasnya. Misalnyajikamembuatdi IE, cobadi Firefox, Opera, Safari • HTML validation

  47. 2. PengujianAplikasi Server • Volume Testing • Stress Testing • Performance Testing • Data Recovery Testing • Data Backup and Restore Testing • Data Security Testing

  48. Volume Testing • Menemukankelemahansistemselamamelakukan pemrosesan data dalam jumlah yang besardalamperiodewaktu yang singkat. • Tujuan: meyakinkan bahwa sistem tetap melakukanpemrosesan data antarabatasanfisikdanbatasanlogik. • Contoh: • Mengujikanprosesantar server danantarpartisihardisik pd satu server.

  49. Stress Testing • Tujuan: mengetahuikemampuansistemdalam melakukan transaksi selama periode waktupuncakproses. Contohperiodepuncak: ketika penolakan proses login on-line setelahsistem down ataupadakasus batch, pengiriman batch prosesdalamjumlahygbesardilakukansetelahsistem down. • Contoh: Melakukan login ke server ketikasejumlahbesar workstation melakukanproses menjalankan perintah sql database.

  50. Performance Testing • Dilakukan secara paraleldenganVolume dan Stress testing untukmengetahuiunjukkerjasistem (wakturespon, throughput rate) padabeberapakondisiprosesdankonfigurasi. • Dilakukan pada semua konfigurasi sistem perangkat kerasdanlunak. • Mis.: pd aplikasi Client-Server diujikan pd kondisikorporate ataupunlingkungansendiri (LAN vs. WAN, Laptop vs. Desktop) • Mengujisistemdenganhubungannyasistemke lain pada server ygsama. • Load Balancing Monitor • Network Monitor

More Related