1 / 24

Testing & Implementasi Sistem

Testing & Implementasi Sistem. Pertemuan 1.

Télécharger la présentation

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 & ImplementasiSistem Pertemuan 1

  2. Mahasiswa semester 7 yang mengikutiperkuliahan TIS diharapkanmampumerancangtest planberdasarkanpemahamanterhadapkonsepdasar testing danpemilihanterhadapalat bantu testing yang didasarimetodologiwhite boxmaupunblack box, baikdengankinerjaindividumaupundenganbekerjasamadalamtim.Diharapkan 65% mahasiswa lulus dengannilai minimal B & kehadirankuliah 100%. TujuanPerkuliahan

  3. Agarwal, B.B., Tayal, S.P., Gupta, M. (2010) Software Engineering & Testing, Jones & Bartlett Publishers: Massachusetts. • Snell, P., Powers, L. (2011) Microsoft Visual Studio 2010 Unleashed, Pearson Education: London. • Gousset, M., Keller, B., Krishnamoorthy, A., Woodward, M. (2010) Professional Application Lifecycle Management with Visual Studio 2010, Wilay Publishing Inc. : Indianapolis. • Farrel-Vinay, P. (2008) Manage Software Testing, Auerbach Publications: New York. Pustaka

  4. “Testing merupakancarauntukdapatlebihmengertidanmemahami proses pengembangan, termasukpengembangandiripribadi, untukmencapaihidup yang lebihdanlebihberarti. Karenakesuksesanbukanlahposisidimanaberadasaatini, namunmerupakantingkatkuantitasdankualitasmaknadaripengalamanhidup yang telahdicapaihinggasaatini.” Opening Quote

  5. Testing software adalah proses mengoperasikan software dalamsuatukondisi yang di kendalikan, untuk (1) verifikasiapakahtelahberlakusebagaimanatelahditetapkan (menurutspesifikasi), (2) mendeteksi error, dan (3) validasiapakahspesifikasi yang telahditetapkansudahmemenuhikeinginanataukebutuhandaripengguna yang sebenarnya. • Verifikasiadalahpengecekanataupengetesanentitas-entitas, termasuk software, untukpemenuhandankonsistensidenganmelakukanevaluasihasilterhadapkebutuhan yang telahditetapkan. (Are we building the system right ?) • Validasimelihatkebenaransistem, apakah proses yang telahditulisdalamspesifikasiadalahapa yang sebenarnyadiinginkanataudibutuhkanolehpengguna. (Are we building the right system?) • Deteksierror: Testing seharusnyaberorientasiuntukmembuatkesalahansecaraintensif, untukmenentukanapakahsuatuhaltersebutterjadibilamanatidakseharusnyaterjadiatausuatuhaltersebuttidakterjadidimanaseharusnyamerekaada. Definisi Testing

  6. Testing membuatkualitasdapatdilihatsecaraobyektif, karena testing merupakanpengukurandarikualitassoftware. Dengan kata lain testing berartipengendaliankualitas (Quality Control - QC) • QC mengukurkualitasproduk, danJaminankualitas (Quality Assurance – QA) mengukurkualitas proses yang digunakanuntukmembuatprodukberkualitas. • Testing tidakdapatmemastikankualitassoftware, namundapatmemberikankepercayaanataujaminanterhadapsoftware dalamsuatutingkattertentu. • Testing merupakanpembuktiandalamsuatukondisiterkendali, dimanasoftware difungsikansebagaimana yang diharapkanpadatest case yang digunakan. • Tugasdari QA adalah superset dari testing. Misinyaadalahuntukmembantudalamminimalisasiresikokegagalanproyek. • Tiapindividu QA harusmemahamipenyebabkegagalanproyekdanmembantutimuntukmencegah, mendeteksidanmembenahimasalah. • Kadangtim testing direferensikansebagaitim QA. Hubungan Testing danKualitas

  7. Sumber: Gartner Juni 2012 DistribusiKeberhasilan & KegagalanProyek IT terhadapUkuranProyek

  8. Sumber: Gartner Juni2012 MengapaProyekGagal?

  9. Seorangpengembangbertugasmembangun, sedangkanseorang tester justruberusahauntukmenghancurkan. • Apabilaseorangdisainerharusmenanamkanpadabenaknyadalam-dalamakantestabilitas, programerharusberorientasipada “zero defect minded”, maka tester harusmempunyaikeinginan yang mendasaruntuk “membuktikankodegagal (fail), danakanmelakukanapasajauntukmembuatnyagagal.” • Jadibilaseorang tester hanyainginmembuktikanbahwakodeberaksisesuaidenganfungsibisnisnya, maka tester tersebuttelahgagaldalammenjalankantugasnyasebagai tester. Psikologi Testing

  10. Semuatesharusdapatdilacakterhadapkebutuhanpelanggan. Hal inidilakukanuntukmengungkapsetiaperror yang dapatmenyebabkan program atausistemgagalmemenuhikebutuhanklien. • Tesharusdirencanakanjauhsebelumtesdimulai.Rencanatesbisamulaidibuatsegerasetelah model kebutuhanselesai. Test cases dapatdimulaisegerasaatdisain model dilakukan. • Terapkanprinsip Pareto ke testing software.Secarasederhana, prinsip Pareto menyatakanbahwa 80% darisemua error yang takdicakupselama testing kemungkinanbesardapatdilacaksampai 20% darisemuakomponen program. Masalahnya, bagaimanamengisolasikomponen-komponen yang dicurigaidanbenar-benarmelakukantesterhadapkomponentersebut. • Testing harusdimulaidariygkecilke yang besar.Pertamatesdirencanakandandieksekusifokuspadakomponen individual. Kemudian, fokusakanbergeseruntukmenemukan error dalamklusterkomponenterintegrasidanakhirnyadalamsistemsecarakeseluruhan. • Testing yang komplitdanmendalamtidakmungkin.Jumlahpermutasijalurbahkanuntuk program berukuransedangsangatlahbesar, karenaitutakmungkinmengeksekusitiapkombinasijalursalama testing. • Agar efektif, testing harusdilakukanpihak ke-3. Hal iniberkaitandenganpsikologi testing, dan tester harusindependen, agar pengukuran yang takbias. Prinsip-Prinsip Testing

  11. Domain Masukan: Domain darimasukan yang mungkinsangatbanyakjumlahnya, dimanaharusdilakukantessemuamasukan yang valid, semuamasukan yang tak valid, semuamasukan yang diedit, semuavariasimasukanberdasarkanpadawaktukejadian, olehkarenaitudibutuhkanprioritasdalampemilihan domain masukandarisistem yang akandites. • Misalkansajadilakukan testing program kalkulatordengan 10 digit bilanganinteger, akanada 1010 masukanpositifdan 1010 masukannegatif, untuk testing terhadapmasukan valid. Dan untukmasukantak valid, misalkanpenangananpengetikanmasukanalfabetdarikeyboard. • Kompleksitas: User interface dandisainsangatkomplekuntukdilakukan testing secarakomplit. Jikasuatukesalahandisainterjadi, bagaimanaseorang tester dapatmenyatakansuatubug adalahbug bilahaltersebutadadalamspesifikasi, danlebihdaripadaitubagaimanaseorang tester dapatmengenalibahwatingkahlakusistemtersebutadalahsebuahbug. Pembuktiankebenaran program berdasarkanlogikajugatidakdimungkinkankarenaakanmenghabiskanwaktu, danwaktuadabatasannya. Testing yang KomplitTakMungkin

  12. Jalur Program: Akan terdapatsangatbanyakjalur yang mungkindilewatipadasuatu program untukditessecarakomplit. • Misalakandilakukan testing terhadapkode program sebagaimanaterdapatpadagambar di kanan. • Plotkansemuajalurdariawal (START) sampaiakhir (END). X akandapatpergike END ataumelakukanloop kembalike A 19 kali. Ada lima Jalurdari A ke X, yaitu: ABCX, ABDEGX, ABDEHX, ABDFIX, dan ABDFJX. • Makakeseluruhanpermutasikombinasijalur yang harusditesadalah 5 + 52 + 53 + … + 520 = 1014 (100 Triliun). Testing yang KomplitTakMungkin

  13. Testing bukanlahsuatuhal yang sederhana, karena: • Untuk melakukan testing secara efektif, harus mengetahui keseluruhan sistem. • Sistemtidaksederhanaatautidakmudahuntukdipahami. • Bukanlahsuatuhal yang berlebihanuntukmengatakanbahwa testing merupakanpekerjaan yang sulit. • Untukdapatsuksesdalammelakukan testing dibutuhkanhal-halpentingsebagaiberikut: • Kreatifitas. • Pengetahuanbisnis. • Pengalamantesting. • MetodologiTesting. Testing Pekerjaanyang KreatifdanSulit

  14. Testing adalah proses menjalankan program dengan maksud menemukan error. • Sebuah test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan error yang belum ditemukan. • Sebuah testingyang sukses adalah testing yang mengungkap error yang belum ditemukan. DasarObyektivitas Testing

  15. Meningkatkankepercayaanbahwasistemdapatdigunakandengantingkatresiko yang dapatditerima. • Menyediakaninformasi yang dapatmencegahterulangnyaerror yang pernahterjadi. • Menyediakaninformasi yang membantuuntukdeteksierror secaradini. • Mencarierror dankelemahanatauketerbatasansistem. • Mencari sejauh apa kemampuan dari sistem. • Menyediakaninformasiuntukkualitasdariproduksoftware. ObyektivitasTesting Lainnya

  16. SiklusHidup Testing secaraUmum

  17. Unit testing Testing penulisankode-kode program dalamsatuanunit terkecilsecara individual. • System Testing Proses testing padasistemterintegrasiuntukmelakukanverifikasibahwasistemtelahsesuaispesifikasi. • Acceptance Testing Testing formal yang dilakukanuntukmenentukanapakahsistemtelahmemenuhikriteriapenerimaandanmemberdayakanpelangganuntukmenentukanapakahsistemdapatditerimaatautidak. 3 Tingkatan Testing Secara Umum

  18. User interface errors - sistemmemberikansuatutampilan yang berbedadarispesifikasi. • Error handling – pengenalandanperlakuanterhadaperror bilaterjadi. • Boundary – related errors - perlakuanterhadapnilaibatasandarijangkauanmereka yang mungkintidakbenar. • Calculation errors - perhitunganarimatikadanlogika yang mungkintidakbenar. • Initial and later states - fungsigagalpadasaatpertamadigunakanatausesudahitu. • Control flow errors - pilihanterhadapapa yang akandilakukanberikutnyatidaksesuaiuntuk status saatini. • Errors in handling or interpreting data - melewatkandanmengkonversi data antarsistem (danmungkinkomponen yang terpisahdarisistem) dapatmenimbulkanerror. 13 kategori utama defect dari software

  19. Race conditions - biladuaevent diprosesakanmakasalahsatuakanditerimaberdasarkanprioritassampaipekerjaanselesaidenganbaik, barupekerjaanberikutnya. Bagaimanapunjugakadang-kadang event lain akandiprosesterlebihdahuludandapatmenghasilkansesuatu yang tidakdiharapkanatautidakbenar. • Load conditions - saatsistemdipaksapadabatasmaksimum, masalahakanmulaimuncul, sepertiarrays, overflow, diskfull. • Hardware- antarmukadengansuatudevice mungkintidakdapatberoperasidenganbenarpadasuatukondisitertentusepertidevice unavailable. • Source and Version Control - program yang telahkadaluwarsamungkinakandapatdigunakanlagibilaadarevisiuntukmemperbaikinya. • Documentation- penggunatakdapatmelihatoperasi yang telahdideskripsikandalamdokumenpanduan. • Testing errors - tester membuatkesalahanselama testing danberpikirbahwasistemberkelakuantakbenar. 13 kategori utama defect dari software

  20. Debugging bukantesting. • Debugging terjadisebagaikonsekuensi testing yang berhasil. Yaitubilamanatest case menemukanerror, debugging adalah proses menghilangkanerror. Debugging vs Testing

  21. “Kesuksesanitusederhana, yaitusaatkitaberhasilmencapaitujuansuatukegiatan yang sederhana. Akumulasikesuksesandarikegiatansederhana yang terintegrasiakanmenghasilkankesuksesan yang lebihbesar, demikianseterusnya, hinggakitamencapaikesuksesanhidup yang sesungguhnya.” Terimakasih

  22. Bikin Grup FB untuk Kelas: 131-S1SI-TIS-Q1

More Related