1 / 40

TESTING & IMPLEMENTASI SISTEM

TESTING & IMPLEMENTASI SISTEM. “ Teknik-teknik pengujian perangkat lunak & Pengujian Beriontasi Obyek ” Diema HS, M. Kom. White Box Testing. Macam tekniknya : C akupan pertanyaan, cabang, dan jalur Basis path Testing . Cakupan pernyataan , cabang dan jalur.

peggy
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 “Teknik-teknikpengujianperangkatlunak & Pengujian Beriontasi Obyek” Diema HS,M.Kom

  2. White Box Testing • Macam tekniknya : • Cakupan pertanyaan, cabang, dan jalur • Basis path Testing

  3. Cakupanpernyataan, cabangdanjalur • Cakupanpernyataanditentukandenganmenilaiproporsidaripernyataan-pernyataan yang ditinjauolehsekumpulantest cases yang ditentukan. • Cakupanpernyataan 100 % adalahbilatiappernyataanpada program ditinjausetidaknya minimal sekalites. • Cakupanpernyataanberkaitandengantinjauanterhadaptitik (node) padaflow graph. • Cakupan 100 % terjadibilamanasemuatitikdikunjungiolehjalur-jalur yang dilaluiolehtest cases

  4. Cakupanpernyataan Padacontohgambarflow graph diatasterdapat 10 titik. Misalsuatujalureksekusi program melewatititik-titik A, B, D, H, K. Berartiada 5 titikdari 10 titik yang dikunjungi, makacakupanpernyataansebesar 50 %. Karenasatutitikpadaflow graphdapatmerupakankelompokdaribeberapapernyataan, olehkarenaitutingkatcakupanpernyataan yang sebenarnyaberbedadengantingkatcakupantitik (nodes), tergantungdaricarapendefinisianflow graph

  5. Cakupancabang(Cont.) • Cakupancabangditentukandenganmenilaiproporsidaricabangkeputusan yang diujiolehsekumpulantest cases yang telahditentukan. • Cakupancabang 100 % adalahbilamanatiapcabangkeputusanpada program ditinjausetidaknya minimal sekalites. • Cakupancabangberkaitandenganpeninjauananakpanahcabang (branch edges) dariflow graph. • Cakupan 100 % adalahbilamanasemuaanakpanahcabangditinjauolehjalur-jalur yang dilaluiolehtest cases.

  6. Cakupancabang Berdasarkanpadacontohgambarflow graph diatas, terdapat 6 anakpanahcabang. Misalsuatujalureksekusi program melawatititik-titik A, B, D, H, K, makajalurtersebutmeninjau 2 dari 6 anakpanahcabang yang ada, jadicakupannyasebesar 33 %.

  7. Cakupanjalur(Cont.) • Cakupanjalurditentukandenganmenilaiproporsieksekusijalur program yang diujiolehsekumpulantest cases yang telahditentukan. • Cakupanjalur 100 % adalahbilamanatiapjalurpada program dikunjungisetidaknya minimal sekalites. • Cakupanjalurberkaitandenganpeninjauanjalursepanjangflow graph. • Cakupan 100 % adalahbilamanasemuajalurdilaluiolehtest cases.

  8. Cakupanjalur Berdasarkancontohflow graph diatas, terdapat 4 jalur. Bilasuatueksekusijalurpada program melaluititik-titik A, B, D, H, K, makaeksekusitersebutmeninjau 1 dari 4 jalur yang ada, jadicakupannyasebesar 25 %.

  9. Disaincakupantes • Untukmendisaincakupandarites, perludiketahuitahap-tahapsebagaiberikut: • Menganalisasource codeuntukmembuatflow graph. • Mengidentifikasijalurtesuntukmencapaipemenuhantesberdasarkanpadaflow graph. • Mengevaluasikondisites yang akandicapaidalamtiaptes. • Memberikannilaimasukandankeluaranberdasarkanpadakondisi.

  10. Basis Path Testing • Merupakanteknikwhite box testing yang dikenalkanoleh Tom McCabe [MC76]. • Metodeidentifikasi yang berdasarkanpadajalur, strukturataukoneksi yang adadarisuatusisteminibiasadisebutjugasebagaibranch testing, karenacabang-cabangdarikodeataufungsilogikadiidentifikasidandites, ataudisebutjugasebagaicontrol-flow testing .

  11. Basis Path Testing • Basis pathhadirdalam 2 bentuk, yaitu: • Zero Path: Jalurpenghubung yang tidakpentingataujalurpintas yang adapadasuatusistem. • One Path: Jalurpenghubung yang pentingatauberupaprosespadasuatusistem. • Konseputamabasis path: • Tiapbasis pathharusdiidentifikasi, tidakbolehada yang terabaikan (setidaknyadites 1 kali). • Kombinasidanpermutasidarisuatubasis pathtidakperludites.

  12. Basis Path Testing • Notasi Flow Graph

  13. Perhitungan Cyclomatic Complexity • Adalahpengukuransoftware yang memberikanpengukurankuantitatifdarikompleksitaslogika program. • Padakonteksmetodebasis path testing , nilai yang dihitungbagicyclomatic complexitymenentukanjumlahjalur-jalur yang independendalamkumpulan basis suatu program danmemberikanjumlahtes minimal yang harusdilakukanuntukmemastikanbahwasemuapernyataantelahdieksekusisekurangnyasatu kali. • Jalurindependenadalahtiapjalurpada program yang memperlihatkan 1 kelompokbarudaripernyataanprosesataukondisibaru.

  14. Rumus CyclomaticComplexity • [Region / Complexity] V(G) = E (edges) – N (nodes) + 2 • V(G) = P (predicate node) + 1

  15. Tahapan CyclomaticComplexity • Tahapandalammembuattest casesdenganmenggunakancyclomatic complexity: • Gunakandisainataukodesebagaidasar, gambarlahflow graph • Berdasarkanflow graph, tentukancyclomatic complexity • Tentukankelompok basis darijalurindependensecara linier • Siapkantest cases yang akanmelakukaneksekusidaritiapjalurdalamkelompok basis

  16. Cyclomatic Complexity • Catatan : Beberapajalurmungkinhanyadapatdieksekusisebagaibagiandarites yang lain. • Direkomendasikan agar jangansampaikompleksitastiap unit / komponenterkecilsistemmelebihinilai 10 [V(G)]. Beberapapraktisimenggunakannilai rata-rata V(G) daritiap unit / komponennterkeciluntukmemberikanpenilaiankompleksitas

  17. Graph Matrix • Adalahmatrikberbentuksegiempatsamasisi, dimanajumlahbarisdankolomsamadenganjumlahnode, danidentifikasibarisdankolomsamadenganidentifikasinode, sertaisi data adalahkeberadaanpenghubungantarnode (edges). • Beberapaproperti yang dapatditambahkansebagaipembobotanpadakoneksiantarnodedidalamgraph matrix, sebagaiberikut: • Kemungkinanjalur (Edge) akandilalui / dieksekusi. • Waktuproses yang diharapkanpadajalurselamaproses transfer dilakukan. • Memori yang dibutuhkanselamaproses transfer dilakukanpadajalur. • Sumberdaya (resources) yang dibutuhkanselamaproses transfer dilakukanpadajalur.

  18. Graph Matrix

  19. Contoh 1 Do while records remain read record; 2 Calculate proses; 3 If record field 1 = 0 4 Then process record; 5 Store in buffer; Increment counter; 6 Else If record field 2 = 0 7Then reset counter; 8 Else process record; Store in file; 9Endif 10 Endif 11 Enddo End

  20. Hitung V • V(G) = E (edges) – N (nodes) + 2 = 11 – 9 + 2 = 4 • V(G) = P (predicate node) + 1 LihatFlow Graph (Contoh) V(G) = 3 + 1 = 4

  21. Jalur Tes • Jalur 1 : 1–11 • Jalur 2 : 1-2-3-4-5-10-1-11 • Jalur 3 : 1-2-3-6-7-9-10-1-11 • Jalur 4 : 1-2-3-6-8-9-10-1-11 • Test case jalur (Path) 1 • Nilai(record.eof) = input valid, dimanarecord.eof = true • Hasil yang diharapkan : Sistemkeluardari loop dan sub program. • Test case jalur (Path) 2 • Nilai(field 1) = input valid, dimana field 1 = 0 • Nilai(record.eof) = input valid, dimanarecord.eof = false • Nilai(counter) = Nilai(counter) + 1 • Hasil yang diharapkan : Sistemmelakukan [process record], [store in buffer] dan [increment counter].

  22. Test case jalur (Path) 3 • Nilai(field 2) = input valid, dimana field 2 = 0 • Nilai(record.eof) = input valid, dimanarecord.eof = false • Nilai(counter) = 0 • Hasil yang diharapkan : Sistemmelakukan [reset counter]. • Test case jalur (Path) 4 • Nilai(field 2) = input valid, dimana field 2 <> 0 • Nilai(record.eof) = input valid, dimanarecord.eof = false • Hasil yang diharapkan : Sistemmelakukan [process record] dan [store in file].

  23. Bagaimana dengan matrix graph?

  24. BLACKBOX TESTING

  25. Black-box testing • Pendekatanpengujiandimana program dianggapsebagaisuatu ‘black-box’ (‘kotakhitam’) • Program test case berbasiskanspesifikasi • Test planning dapatdimulaisejakawalprosespengembangansistem

  26. Black-box testing

  27. Black-box testing • Pengujian black box berusahamenemukankesalahandalamkategori : • Fungsi-fungsi yang tidakbenaratauhilang • Kesalahan interface • Kesalahandalamstruktur data atauakses database eksternal • Kesalahankinerja • Inisialisasi dan kesalahan terminasi

  28. Contoh • Testinglah dengan menggunakan white box testing dengan menentukan CC ! • Private Sub CmdInput_Click() • If CmdInput.Caption = "&Input" Then • CmdInput.Caption = "&Simpan" • CmdEdit.Enabled = False • CmdHapus.Enabled = False • CmdTutup.Caption = "&Batal" • Siapisi • DTPasien.Recordset.AddNew • KosongkanText • Text1.SetFocus • Else • If Text1 = "" Or Text2 = "" Or Text3 = "" • Or Text4 = "" Or Text5 = "" Or Text6 = "" • Or Text7 = "" Then • MsgBox "Data Belum Lengkap...!" • Else • DTPasien.Refresh • TidakSiapIsi • Semula • CmdInput.SetFocus • End If • End If • End Sub

  29. PENGUJIAN BERORIENTASI OBYEK

  30. Aktifitas Pengujian • Meninjau ulang model OOA dan OOD • Ujicoba Class setelahpenulisan program sumber • UjicobaIntegrasidalamsubsistems • UjicobaIntegrasisubsistem yang telahditambahkankedalamsistem • Ujicobavalidasiberdasarkan OOA use-cases

  31. STRATEGI PENGUJIAN • Strategipengujianuntukperangkatlunakberiorientasiobjekserupadenganstrategipengujian yang telahdibahassebelumnya. Namunterdapatbeberapaperbedaandenganbeberapastrategi yang telahdibahassebelumnya, yakni • Pada unit testing (dalamkonteksberorientasiobjek) • Bagianterkecil yang diujipada unit testing adalahkelasatauobjek, tidakseperti unit testing konvensional yang fokuspada detail algoritmikdariperangkatlunak • Tidakmengujioperasi yang adasecaraterpisah, sepertihalnya unit testing konvensional, karenaoperasi-operasipadasatukelasdiujibersamaanpadasatukelas • Setiapoperasi yang diturunkanpadakelasturunanharusdiperiksa

  32. Pada integration testing • Memilikiduastrategiyakni thread-based testing dan use-based testing • Thread-based testing : • mengintegrasikansekumpulankelas yang dibutuhkanuntukmeresponsuatu input atau event padasistem. • Setiap thread diintegrasikandandiujisecara individual, • pengujianregresiditerapkanuntukmemastikantidakadaefeksamping yang muncul • Use-based testing: • Pengujianterhadapsetiapindependent classes (kelas yang menggunakansangatsedikitkelas server) • Pengujianterhadapdependent classes sampaikeseluruhansistemterbentuk (dibangun) • Tahapan cluster testing di manasekumpulankelas yang berkolaborasidiujiuntukmenemukankesalahanpadasaatberinteraksi

  33. Pengujian Validasi dalam Konteks Berorientasi Objek • memusatkan pada aksi dari user dan keluaran dari sistem yang dapatdikenali user • Case • membantu untuk menemukan kesalahan pada kebutuhan interaksi user • Black Box • mengaturpengujianvalidasi

  34. Testing levels • Testing operations pada objects • Testing object classes • Testing clusters cooperating objects • Testing OO systemsecaralengkap

  35. Pengujian Class Menguji terhadap semua operation yg ada dan perubahan atribut-atributnya.

  36. Cluster Testing Cluster testing digunakan untuk test integrasiterhadapkooperatif object. Identifikasi clusters menggunakan knowledge operation objects dan system features yang diimplementasikan oleh cluster tersebut.

  37. Object-Interaction Testing

  38. Object class testing • Complete test yang menguji class melibatkan • Testing semua operations suatu object • Setting dan interrogating semua attribute object • Menguji object untuk semua state(keadaan) yg mungkin • Inheritance akan mengakibatkan sulitnya perancangan object class tests seperti information yg diuji sulit dilokalisasi.

  39. Contoh PERANCANGAN KASUS PENGUJIAN • Contohperancanganpengujianscenario-based untuk text editor: Use Case : Fix the Final Draft • Background : Use case inimenggambarkanurutanevent yang muncul 1. Cetakseluruhdokumen 2. Periksadokumen, ubahhalamantertentu 3. Untuksetiaphalaman yang diubah, cetakhalamantersebut 4. Kadang-kadang sederetan halaman dicetak – Kebutuhan user : • metoda untuk mencetak satu halaman • metodauntukmencetakbeberapahalamanberurutan – Yang diuji : pengeditansetelahpencetakan – Pengujiberharapuntukmenemukanbahwafungsipencetakanmenyebabkankesalahandalamfungsipengeditan

More Related