TESTING DAN IMPLEMENTASI SISTEM APLIKASI DATA MATA KULIAH

dokumen-dokumen yang mirip
Siklus Pengembangan Perangkat Lunak

Sistem (3 sks) Black Box Testing (1) Black Box Testing

Nama : Rendi Setiawan Nim :

Testing Implementasi Sistem. Black Box Testing Equivalence Partitioning & Boundary Value Analysis

Dibuat Oleh : 1. Andrey ( )

Materi. Definisi Test Case White Box Testing Blackbox Testing Teknik Testing yang Lain Penggunaan Metode Tes

Teknik Informatika S1

Testing dan Implementasi Sistem

Teknik Informatika S1

Teknik Informatika S1

White Box Testing dan Black Box Testing, Perbedaannya Serta Contohnya.

A. Pengujian Perangkat Lunak

Tugas Rekayasa Perangkat Lunak

Testing dan Implementasi Sistem

4/18/14 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta

Pendahuluan. Tes Implementasi System. Yahya Erdipasa, ST., M.Kom (candidate) Teknik Informatika

Software Testing Technique

PENGUJIAN PERANGKAT LUNAK

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta

BAB 6 METODE PENGUJIAN

MAKALAH DESAIN TEST CASE. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

SATUAN ACARA PERKULIAHAN(SAP)

PENGUJIAN PERANGKAT LUNAK (SOFTWARE TESTING)

TESTING & IMPLEMENTASI SISTEM 4KA. Teknik Pengujian Perangkat Lunak. helen.staff.gunadarma.ac.id

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

SATUAN ACARA PERKULIAHAN PROGRAM STUDI : S1 SISTEM INFORMASI

Hubungan antara rencana pengujian dan proses pengembangan system. Tim RPL 1 3

TEKNIK PENGUJIAN PERANGKAT LUNAK. Ign.F.Bayu Andoro.S, M.Kom

Teknik Unit Testing. Pressman, Roger S/W Engineering edisi 5/7 chapter 17

14. PENGUJIAN PERANGKAT LUNAK Dasar-dasar Pengujian 14.2 Teknik Pengujian 14.3 Strategi Pengujian dan V&V

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN PROGRAM STUDI: S1 SISTEM INFORMASI Semester : 7

SATUAN ACARA PERKULIAHAN (SAP)

BAB 1 PENDAHULUAN. Secara umum, diketahui bahwa dalam suatu siklus pengembaangan perangkat lunak selalu terdapat empat proses utama, yaitu :

Pengujian Software. Teknik Pengujian Software. Apa yang Ditunjukan Pengujian. Tujuan Pengujian. Prinsip Pengujian. Testability : Kemudahan Diuji

Rekayasa Perangkat Lunak

Testing is the exposure of a system to trial input to see wheter it produces corect output Adalah proses eksekusi suatu program dengan maksud

BAB II LANDASAN TEORI. harapan akan memperoleh laba dari adanya transaksi-transaksi tersebut dan. atas barang atau jasa dari pihak penjual ke pembeli.

3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta

Teknik-Teknik Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

SOFTWARE TESTING. Ratna Wardani

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

Definisi Black Box. pemenuhan sistem atau komponen dengan kebutuhan fungsional tertentu. q Menurut Myers (1979) :

TESTING PROGRAM. Pertemuan Nurul Adhayanti

BAB II LANDASAN TEORI. pembelian dilakukan dengan mengubah bentuk barang. 2003). Menurut Soemarso S.R (1994) kegiatan pembelian dalam perusahaan

Rekayasa Perangkat Lunak TI1153

Gambar (a) PDL for test design

Teknik Informatika S1

Pengantar Test dan Implementasi Sistem. Rudi Susanto

Teknik Pengujian (2) Whitebox Testing

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

Testing & Implementa si Sistem -Pengenalan. Pertemuan ke - 1

PENERAPAN METODA WHITE-BOX TESTING UNTUK MENGETAHUI KESESUAIAN KEBUTUHAN NON-FUNGSIONAL PRODUK PADA PERANGKAT A B S T R A K

Rekayasa Perangkat Lunak

Silabus dan Satuan Acara Perkuliahan

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing

White Box Testing Merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case.

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

BAB II LANDASAN TEORI. sehingga komputer dapat memproses input menjadi output.

Pengujian Perangkat Lunak

PENGUJIAN PERANGKAT LUNAK DENGAN MENGGUNAKAN METODE WHITE BOX DAN BLACK BOX

TINJAUAN PUSTAKA. Pengujian adalah proses eksekusi program untuk menemukan kesalahan.

1. Dr. I Ketut Eddy Purnama, ST.,MT. 2. Ahmad Zaini, ST.,M.Sc. Asti Nurhayati

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

BAB V IMPLEMENTASI SISTEM. tersebut siap diterapkan atau diimplementasikan. Tahap Implementasi Sistem

TEKNIK PENGUJIAN PERANGKAT LUNAK

Teknik Informatika S1

BAB I PENDAHULUAN 1.1. Latar belakang

PENGUJIAN PERANGKAT LUNAK. Muhammad Riza Hilmi, ST.

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. ditulis dan diterjemahkan oleh language software (bahasa Pemrograman) untuk

BAB III LANDASAN TEORI. pertama adalah sistem, dan yang kedua adalah sistem informasi itu sendiri.

Testing dan Implementasi

BAB 1 PENDAHULUAN. 1.1 Aplikasi Pengolahan Nilai Sementara Mahasiswa

BAB II LANDASAN TEORI. perusahaan khususnya perusahaan perdagangan. Performance perusahaan harus

Black-Box Testing. Julian Supardi, M.T. Sumber Slide: Oerip S. Diterjemahkan Oleh: Rosa Ariani Sukamto.

Teknik Pengujian (3) Blackbox Testing

BAB III METODE PENELITIAN. testing dalam suatu siklus hidup pengebangan software. White box testing adalah

METODE PENGUJIAN PERANGKAT LUNAK

BAB III OBJEK DAN METODE PENELITIAN. Dalam analisis sistem ini akan diuraikan sejarah singkat dari Apotek 55 yang

LANDASAN TEORI. perusahaan yang usaha utamanya membeli obat untuk dijual kembali dengan

SATUAN ACARA PERKULIAHAN MATA KULIAH TESTING & IMPLEMENTASI SISTEM (KA) KODE / SKS : KK / 3 SKS

10/21/2016. Titan Parama Yoga, S.Kom, M.Kom

BAB II LANDASAN TEORI. terpadu untuk mengembangkan rencana rencana strategis yang diarahkan pada

Black box testing ISQA

BAB II LANDASAN TEORI. Menurut Mulyadi (2008:202), penjualan merupakan aktivitas yang

SISTEM INFORMASI HARGA POKOK PRODUKSI KAYU LAPIS PADA PT. KTC

Pengujian Perangkat Lunak Berorientasi Objek. Tim RPL Teknik Informatika

BAB III ANALISA DAN PERANCANGAN. Pada dasarnya perancangan sistem yang dibuat oleh peneliti adalah

BAB II LANDASAN TEORI. aplikasi sesuai dengan tujuan penelitian yang diharapkan. Aplikasi Penilaian Kinerja Karyawan ini antara lain sebagai berikut.

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

BAB IV HASIL DAN UJI COBA

Transkripsi:

TESTING DAN IMPLEMENTASI SISTEM APLIKASI DATA MATA KULIAH LAPORAN PENGUJIAN Oleh : Ledy (08.211.4327) Kennedy Anthony Suyanto (08.211.1738) (08.211.1487) (08211.3844) PROGRAM STUDI SISTEM INFORMASI BISNIS SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) MIKROSKIL MEDAN 2010

BAB 1 PENDAHULUAN 1.1 Latar Belakang Secara natural pengembangan software bukanlah suatu hal yang mudah, bahkan mempunyai kecenderungan untuk mengalami kegagalan. Oleh karena itu berorientasi pada kualitas adalah salah satu usaha dalam menurunkan tingkat resiko terjadinya kegagalan proyek. Perlu diketahui dari data statistik di tahun 1995, perusahaan dan agen pemerintahan Amerika Serikat telah menghabiskan dana 81 bilyun US$ untuk proyek software yang dibatalkan, dengan rincian sebagai berikut: 31.1 % Proyek dibatalkan sebelum selesai. 52.7 % Proyek mengalami pembengkakan biaya sebesar 189% dari nilai estimasi. 9.0 % Proyek selesai tepat waktu dan anggaran. Dengan berorientasi pada kualitas, maka organisasi software akan dapat melakukan proses analisa, evaluasi dan pengembangan yang berkesinambungan untuk mencapai suatu proses pengembangan software yang semakin lama semakin efektif, efisien, terukur, terkendali dan dapat diulang secara konsisten dalam menghasilkan suatu produk (software) yang berkualitas, tepat waktu dan pendanaan. Dimana hal ini akan memberikan suatu jaminan bagi pelanggan / klien untuk mendapatkan produk seperti yang diharapkan, sehingga akan menambah kepercayaan mereka akan kemampuan pengembang, hal ini sangat dibutuhkan bagi organisasi software karena hubungan klien dan pengembangan adalah untuk jangka panjang dan berkesinambungan (marital status). 1.2 Rumusan Masalah Permasalahan yang dihadapi dalam pengembangan aplikasi untuk menampilkan data mata kuliah adalah: 1. Bagaimana memastikan aplikasi dikembangkan sesuai dengan desain dan model yang sudah ditetapkan? 2. Bagaimana menemukan mengurangi error? 3. Bagaimana memastikan aplikasi sudah memenuhi keinginan atau kebutuhan dari pengguna yang sebenarnya?

1.3 Ruang Lingkup Pembahasan Melihat beragamnya permasalahan yang ditemukan, penulis membatasi permasalahan yang akan diteliti dengan maksud agar masalah tidak menyimpang dari tujuannya, maka penulis membatasi permasalahan tersebut sebagai berikut : a. Pengujian secara Whitebox dilakukan dengan menguji logika alur (logical flow) dari aplikasi dengan teknik Basis Path Testing b. Pengujian secara Blackbox dilakukan dengan menguji fungsi,input dan output dari aplikasi dengan teknik Functional Analysis, Equivalence Class Partitioning, dan Boundary Value Analysis 1.4 Tujuan dan Manfaat a. Adapun yang menjadi tujuan dari pengujian ini adalah untuk menemukan error yang terdapat pada aplikasi untuk menampilkan data mata kuliah dengan menggunakan metode Whitebox dan Blackbox yang ada pada Testing Sistem. b. Manfaat yang diperoleh dari pengujian tersebut adalah sebagai masukan kepada penulis aplikasi untuk memperbaiki error yang ditemukan pada pengujian. c. Manfaat lain dari pengujian ini adalah dapat dijadikan sebagai pemahaman lebih lanjut mengenai testing dan implementasi sistem yang sangat penting untuk dipelajari oleh penulis. 1.5 Metodologi Pengujian Adapun metode pengujian merujuk pada metode testing dan implementasi sistem, yakni Whitebox dengan Basis Path Testing dan Blackbox dengan Functional Analysis, Equivalence Class Partitioning dan Boundary Value Analysis. Ada empat kegiatan umum dalam melakukan pengujian dengan metode Whitebox dengan teknik Basis Path Testing, yaitu: 1. Gunakan desain atau kode sebagai dasar membuat Flow Graph 2. Berdasarkan Flow Graph, tentukan Cyclomatic Complexity 3. Tentukan kelompok basis dari jalur independen secara linier 4. Desain test cases yang akan digunakan untuk eksekusi tiap jalur dalam kelompok basis

Ada tiga kegiatan umum dalam melakukan pengujian dengan metode Blackbox dengan teknik Functional Analysis, yaitu: 1. Mendapatkan informasi spesifikasi functional sistem yang berupa fungsi-fungsi yang ada, masukan dan inisialisasi yang dibutuhkan, keluaran apa saja yang harus dipenuhi. Jika tidak ada penguji harus membuat spesifikasi fungsional. 2. Menganalisa tiap fungsi secara terpisah untuk mendefinisikan sekumpulan kriteria tes 3. Analisa tiap pemrosesan fungsi masukan dan keluaran untuk menentukan apa yang dibutuhkan tes. Fokus pada tiap fungsi untuk menganalisa: Kriteria fungsi. Keluaran-keluaran fungsi. Masukan-masukan fungsi. Kondisi-kondisi internal fungsi. Status-status internal fungsi. Ada empat kegiatan umum dalam melakukan pengujian dengan metode Blackbox dengan teknik Equivalence Class Partitioning, yaitu: 1. Tester menyediakan suatu model komponen yang dites yang merupakan partisi dari nilai masukan dan keluaran komponen. 2. Masukan dan keluaran dibuat dari spesifikasi dari tingkah laku komponen. 3. Partisi adalah sekumpulan nilai, yang dipilih dengan suatu cara dimana semua nilai di dalam partisi, diharapkan untuk diperlakukan dengan cara yang sama oleh komponen (seperti mempunyai proses yang sama). 4. Partisi untuk nilai valid dan tidak valid harus ditentukan. Ada lima kegiatan umum dalam melakukan pengujian dengan metode Blackbox dengan teknik Boundary Value Analysis, yaitu: 1. Tester menyediakan suatu model komponen yang dites yang merupakan partisi dari nilai masukan dan keluaran komponen. 2. Masukan dan keluaran dibuat dari spesifikasi dari tingkah laku komponen. 3. Partisi adalah sekumpulan nilai, yang dipilih dengan suatu cara dimana semua nilai di dalam partisi, diharapkan untuk diperlakukan dengan cara yang sama oleh komponen (seperti mempunyai proses yang sama). 4. Partisi untuk nilai valid dan tidak valid harus ditentukan. 5. Tentukan nilai batas-batas dari kelas untuk test cases.

BAB 2 LANDASAN TEORI 2.1 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 (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. 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. 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.

2.2 Tujuan Testing Untuk mendapatkan informasi reliable terhadap software dengan cara termudah dan paling efektif, antara lain: Apakah software telah siap digunakan? Apa saja resikonya? Apa saja kemampuannya? Apa saja keterbatasannya? Apa saja masalahnya? Apakah telah berlaku seperti yang diharapkan? 2.3 Definisi Kualitas Menurut CROSBY: Kualitas adalah pemenuhan terhadap kebutuhan. Menurut ISO-8402: Kualitas adalah keseluruhan dari fitur yang menjadikan produk dapat memuaskan atau dipakai sesuai kebutuhan dengan harga yang terjangkau. Menurut W.E. Perry: Kualitas adalah pemenuhan terhadap standar. Menurut R. Glass: Kualitas adalah tingkat kesempurnaan. Menurut J. Juran: Kualitas adalah tepat guna Hubungan Testing dan Kualitas Definisi software berkualitas adalah software yang bebas error dan bug secara obyektif, tepat waktu dan dana, sesuai dengan kebutuhan atau keinginan dan maintainable. Obyektifitas adalah suatu proses pembuktian yang terstruktur, terencana dan tercatat terdokumentasi dengan baik. Pendekatan obyektif sangat diperlukan karena kualitas adalah suatu hal yang tidak nyata dan subyektif (tergantung pada pelanggan dan hal-hal lain yang mempengaruhinya secara keseluruhan). Testing membuat kualitas dapat dilihat secara obyektif,karena testing merupakan pengukuran dari kualitas software. Testing = pengendalian kualitas (Quality Control - QC), dan QC mengukur kualitas produk. Quality Assurance (QA) mengukur kualitas proses yang digunakan untuk membuat produk berkualitas. Testing tidak dapat memastikan kualitas software, namun dapat memberikan kepercayaan atau jaminan terhadap software dalam suatu tingkat tertentu. Testing merupakan pembuktian dalam suatu kondisi terkendali, dimana software difungsikan sebagaimana yang diharapkan pada test case yang digunakan. QA dan pengembangan produk adalah aktifitas yang berjalan secara paralel. QA meliputi review dari metode pengembangan dan standar, review dari semua dokumentasi (tidak hanya untuk standarisasi tapi juga verifikasi dan kejelasan isi). Secara keseluruhan QA juga meliputi validasi kode. Tugas dari QA adalah superset dari testing. Misinya adalah untuk membantu dalam minimalisasi resiko kegagalan proyek.

Tiap individu QA harus memahami penyebab kegagalan proyek dan membantu tim untuk mencegah, mendeteksi dan membenahi masalah. Kadang tim testing direferensikan sebagai tim QA. Faktor Kualitas secara Umum Ada 3 faktor kualitas software secara umum, yaitu fungsionalitas, rekayasa, dan adaptabilitas. Ketiga faktor utama ini dapat juga disebut sebagai dimensi dari ruang lingkup kualitas software. Tiap faktor akan dibagi-bagi lagi ke dalam faktor-faktor komponen yang lebih detil untuk lebih menjelaskannya. Faktor Kualitas secara Umum Testing harus dapat mengukur semua faktor-faktor yang berhubungan, dan tiap faktor akan mempunyai tingkat kepentingan berbeda-beda antara satu aplikasi dengan aplikasi yang lain. Contohnya pada sistem bisnis yang umum komponen faktor kegunaan dan maintainabilitas merupakan faktor-faktor kunci, dimana untuk program yang bersifat teknik mungkin tidak menjadi faktor kunci. Agar testing dapat sepenuhnya efektif, maka harus dijalankan untuk melakukan pengukuran tiap faktor yang berhubungan, dan kualitas dapat menjadi nyata dan terlihat. 2.4 Whitebox Testing Kadang disebut juga glass box testing atau clear box testing, adalah suatu metode disain test case yang menggunakan struktur kendali dari disain prosedural. Metode disain test case ini dapat menjamin: Semua jalur (path) yang independen / terpisah dapat dites setidaknya sekali tes. Semua logika keputusan dapat dites dengan jalur yang salah dan atau jalur yang benar. Semua loop dapat dites terhadap batasannya dan ikatan operasionalnya. Semua struktur internal data dapat dites untuk memastikan validitasnya. Seringkali white box testing diasosiasikan dengan pengukuran cakupan tes (test coverage metrics), yang mengukur persentase jalur-jalur dari tipe yang diplih untuk dieksekusi oleh test cases. Mengapa melakukan white box testing bilamana black box testing berfungsi untuk testing pemenuhan terhadap kebutuhan / spesifikasi? Kesalahan logika dan asumsi yang tidak benar kebanyakan dilakukan ketika coding untuk kasus tertentu. Dibutuhkan kepastian bahwa eksekusi jalur ini telah dites. Asumsi bahwa adanya kemungkinan terhadap eksekusi jalur yang tidak benar. Dengan white box testing dapat ditemukan kesalahan ini Kesalahan penulisan yang acak. Seperti berada pada jalur logika yang membingungkan pada jalur normal.

Cakupan pernyataan, cabang dan jalur Cakupan pernyataan, cabang dan jalur adalah suatu teknik white box testing yang menggunakan alur logika dari program untuk membuat test cases. Yang dimaksud dengan alur logika adalah cara dimana suatu bagian dari program tertentu dieksekusiu saat menjalankan program. Cakupan pernyataan, cabang dan jalur Suatu flow graph terbentuk dari: Nodes (titik), mewakili pernyataan (atau sub program) yang akan ditinjau saat eksekusi program. Edges (anak panah), mewakili jalur alur logika program untuk menghubungkan satu pernyataan (atau sub program) dengan yang lainnya. Branch nodes (titik cabang), titik-titik yang mempunyai lebih dari satu anak panah keluaran. Branch edges (anak panah cabang), anak panah yang keluar dari suatu cabang Paths (jalur), jalur yang mungkin untuk bergerak dari satu titik ke lainnya sejalan dengan keberadaan arah anak panah. Disain cakupan tes Untuk mendisain cakupan dari tes, perlu diketahui tahap-tahap sebagai berikut: 1. Menganalisa source code untuk membuat flow graph. 2. Mengidentifikasi jalur tes untuk mencapai pemenuhan tes berdasarkan pada flow graph. 3. Mengevaluasi kondisi tes yang akan dicapai dalam tiap tes. 4. Memberikan nilai masukan dan keluaran berdasarkan pada kondisi.

Cyclomatic Complexity Adalah pengukuran software yang memberikan pengukuran kuantitatif dari kompleksitas logika program. Pada konteks metode basis path testing, nilai yang dihitung bagi cyclomatic complexity menentuka jumlah jalur-jalur yang independen dalam kumpulan basis suatu program dan memberikan jumlah tes minimal yang harus dilakukan untuk memastikan bahwa semua pernyataan telah dieksekusi sekurangnya satu kali. Jalur independen adalah tiap jalur pada program yang memperlihatkan 1 kelompok baru dari pernyataan proses atau kondisi baru. Rumus Cyclomatic Complexity (Cont.) V(G) = E (edges) N (nodes) + 2 V(G) = P (predicate node) + 1 2.5 Blackbox Testing Black box testing, dilakukan tanpa pengetahuan detil struktur internal dari sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification-based testing, input/output testing atau functional testing. Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software. Black box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing. Kategori error yang akan diketahui melalui black box testing Fungsi yang hilang atau tak benar Error dari antar-muka Error dari struktur data atau akses eksternal database Error dari kinerja atau tingkah laku Error dari inisialisasi dan terminasi Boundary Value Analysis Untuk suatu alasan yang tidak dapat sepenuhnya dijelaskan, sebagian besar jumlah errors cenderung terjadi di sekitar batasan dari domain masukan daripada di pusat nya. Karena alasan inilah boundary value analysis (BVA) dikembangkan sebagai salah satu teknik testing. Boundary value analysis adalah suatu teknik disain test cases yang berguna untuk melakukan pengujian terhadap nilai sekitar dari pusat domain masukan. Teknik boundary value analysis merupakan komplemen dari teknik equivalence partitioning. Setelah dilakukan pemilihan tiap elemen suatu kelas ekuivalensi (menggunakan equivalence partitioning), BVA melakukan pemilihan nilai batas-batas dari kelas untuk test cases. BVA tidak hanya berfokus pada kondisi masukan, BVA membuat test cases dari domain keluaran juga. Boundary-values merupakan nilai batasan darikelas-kelas ekuivalensi. Contoh: Senin dan Minggu untuk hari. Januari dan Desember untuk bulan.

(-32767) dan 32767 untuk 16-bit integers. Satu karakter string dan maksimum panjang string. Test cases dilakukan untuk menguji nilai-nilai di kedua sisi dari batasan. Nilai tiap sisi dari batasan yang dipilih, diusahakan mempunyai selisih sekecil mungkin dengan nilai batasan (misal: selisih 1 untuk bilangan integers). Equivalence Class Partitioning Tester menyediakan suatu model komponen yang dites yang merupakan partisi dari nilai masukan dan keluaran komponen. Masukan dan keluaran dibuat dari spesifikasi dari tingkah laku komponen. Partisi adalah sekumpulan nilai, yang dipilih dengan suatu cara dimana semua nilai di dalam partisi, diharapkan untuk diperlakukan dengan cara yang sama oleh komponen (seperti mempunyai proses yang sama). Partisi untuk nilai valid dan tidak valid harus ditentukan. Contoh ilustrasi Suatu fungsi, generate_grading, dengan spesifikasi sebagai berikut: Fungsi mempunyai dua penanda, yaitu Ujian (di atas 75) dan Tugas (di atas 25). Fungsi melakukan gradasi nilai kursus dalam rentang A sampai D. Tingkat gradasi dihitung dari kedua penanda, yang dihitung sebagai total penjumlahan nilai Ujian dan nilai Tugas, sebagaimana dinyatakan berikut ini: Lebih besar dari atau sama dengan 70 A Lebih besar dari atau sama dengan 50, tapi lebih kecil dari 70 B Lebih besar dari atau sama dengan 30, tapi lebih kecil dari 50 C Lebih kecil dari 30 D Dimana bila nilai berada di luar rentang yang diharapkan akan muncul pesan kesalahan ( FM ). Semua masukan berupa integer. Nilai masukan dapat berupa nilai bukan integer. Sebagai contoh: Ujian = real number Ujian = alphabetic Tugas = real number Tugas = alphabetic

Berikutnya, keluaran dari fungsi generate-grading Partisi ekuivalensi juga termasuk nilai yang tidak valid. Sulit untuk mengidentifikasi keluaran yang tidak dispesifikasikan, tapi harus tetap dipertimbangkan, seolah-olah dapat dihasilkan / terjadi, misal: Gradasi = E Gradasi = A+ Gradasi = null Pada contoh ini, didapatkan 19 partisi ekuivalensi. Dalam pembuatan partisi ekuivalensi, tester harus melakukan pemilihan secara subyektif. Contohnya, penambahan masukan dan keluaran tidakvalid. Karena subyektifitas ini, maka partisi ekuivalensi dapat berbeda-beda untuk tester yang berbeda.

3.1 Whitebox Testing 3.1.1 Basis Path Testing BAB 3 HASIL DAN PEMBAHASAN Source code (dalam bahasa VB.Net) 1 If txtcarikodemk.text <> "" Then loaddata(query & " where KodeMK =" & txtcarikodemk.text.tostring.trim) 2 ElseIf txtsks.text <> "" Then loaddata(query & " where SKS =" & txtsks.text.tostring.trim) 3 ElseIf cmbbsem.text <> "" Then loaddata(query & " where KetSem =" & CInt(cmbbSem.Text.ToString.Trim)) 4 Else MsgBox("maaf silahkan masukkan data sebelum menekan tombol cari") 5 End If Private Sub loaddata(byval query As String) 6 totmatkul = 0 Me.lsvTampil.Items.Clear() Using conn As New SqlConnection("Data Source =LEDYLIM-PC\SQLEXPRESS; _ initial catalog = Akademik; user id= sa; password = sa ;integrated security = true") conn.open() Using cmd As New SqlCommand(query, conn) Using reader As SqlDataReader = cmd.executereader() 7 If reader.hasrows Then 8 While reader.read Dim lvi As New ListViewItem Dim i As Integer 9 i += 1 lvi = lsvtampil.items.add(i) lvi.subitems.add(reader("kodemk").tostring().trim) Dim nama As String = reader("namamk").tostring().trim lvi.subitems.add(nama) Dim ketsem As String = reader("ketsem").tostring().trim lvi.subitems.add(ketsem) Dim sks As String = reader("sks").tostring().trim lvi.subitems.add(sks) totmatkul = totmatkul + sks 10 End While 11 End If End Using

End Using End Using End Sub Gambar flowgraph Cyclometic Complexity Predicate+1 Region+1 Edges- Nodes+2 5+1 = 6 5+1 = 6 14-10+2 =6 Nm Jalur Path Jalur 1 1-2-3-4-5 (*) Jalur 2 1-6-7-10-11-5 Jalur 3 1-2-6-7-10-11-5 Jalur 4 1-2-3-6-7-10-11-5 Jalur 5 1-6-7-8-9-8-10-11-5 Jalur 6 1-2-6-7-8-9-8-10-11-5 Jalur 7 1-2-3-6-7-8-9-8-10-11-5 (*) : zero path

Test Cases Test case jalur (Path) 1 : 1-2-3-4-5 Nilai(txtCariKodeMK) : input tidak valid, dimana txtcarikodemk.text = "" Nilai(txtSKS) : input tidak valid, dimana txtsks.text = "" Nilai(cmbbSem) : input tidak valid, dimana cmbbsem.text= "" Hasil yang diharapkan : Sistem keluar dari loop dan sub program Test case jalur (Path) 2 : 1-6-7-10-11-5 Nilai(txtCariKodeMK) : input valid, dimana txtcarikodemk.text = MKB102 Nilai(reader.HasRows) : input tidak valid, dimana reader.hasrows= false Hasil yang diharapkan : Sistem keluar dari loop dan sub program Test case jalur (Path) 3 : 1-2-6-7-10-11-5 Nilai(txtCariKodeMK) : input tidak valid, dimana txtcarikodemk.text = "" Nilai(txtSKS) : input valid, dimana txtsks.text = 2 Nilai(reader.HasRows) : input tidak valid, dimana reader.hasrows= false Hasil yang diharapkan : Sistem keluar dari loop dan sub program Test case jalur (Path) 4 : 1-2-3-6-7-10-11-5 Nilai(txtCariKodeMK) : input tidak valid, dimana txtcarikodemk.text = "" Nilai(txtSKS) : input tidak valid, dimana txtsks.text = "" Nilai(cmbbSem) : input valid, dimana cmbbsem.text= 2 Nilai(reader.HasRows) : input tidak valid, dimana reader.hasrows= false Hasil yang diharapkan : Sistem keluar dari loop dan sub program Test case jalur (Path) 5 : 1-6-7-8-9-8-10-11-5 Nilai(txtCariKodeMK) : input valid, dimana txtcarikodemk.text = MKB102 Nilai(reader.HasRows) : input valid, dimana reader.hasrows= true Hasil yang diharapkan : Sistem keluar dari loop dan sub program Hasil yang diharapkan : Sistem melakukan *process read+ dan *write to list view+. Test case jalur (Path) 6 : 1-2-6-7-8-9-8-10-11-5 Nilai(txtCariKodeMK) : input tidak valid, dimana txtcarikodemk.text ="" Nilai(txtSKS) : input valid, dimana txtsks.text = 2 Nilai(reader.HasRows) : input valid, dimana reader.hasrows= true Hasil yang diharapkan : Sistem keluar dari loop dan sub program Hasil yang diharapkan : Sistem melakukan *process read+ dan *write to list view+. Test case jalur (Path) 7 : 1-2-3-6-7-8-9-8-10-11-5 Nilai(txtCariKodeMK) : input tidak valid, dimana txtcarikodemk.text ="" Nilai(txtSKS) : input tidak valid, dimana txtsks.text = "" Nilai(cmbbSem) : input valid, dimana cmbbsem.text= 2 Nilai(reader.HasRows) : input valid, dimana reader.hasrows= true Hasil yang diharapkan : Sistem keluar dari loop dan sub program Hasil yang diharapkan : Sistem melakukan *process read+ dan *write to list view+.

3.2 Blackbox Testing 3.2.1 Functional Analysis - Kriteria Fungsi No. Kriteria Test Case 1 Data Mata Kuliah Ditampilkan pada listview FUNGSI-01-001 - Keluaran Fungsi No. Keluaran Kemampuan akses Kebenaran Test Case 1 Data Mahasiswa ditampilkan sesuai dengan pilihan masukan Dapat diobservasi dari listview Field Mata Kuliah yang ditampilkan sesuai dengan Masukan Semester oleh Pengguna FUNGSI-02-001 - Masukan Fungsi No. Masukan Kebutuhan Test Case 1 Semester Nilai Semester digunakan menentukan data Mata Kuliah Semester berapa yang akan ditampilkan FUNGSI-01-001 - Masukan yang tidak valid No. Masukan Perlakuan Test Case 1 Semester 2 Semester Jika nilai(value) semester tidak diisi maka muncul pesan error dan membatalkan tampilan data mata kuliah Jika nilai(value) semester tidak ada dalam database maka muncul pesan error dan membatalkan tampilan data mata kuliah FUNGSI-01-001 FUNGSI-01-001 FUNGSI-03-001 - Kondisi Internal Fungsi No. Kondisi Internal Efek Test Case 1 Data Semester yang dipilih ditemukan dalam database Data Mata Kuliah Dapat Ditampilkan FUNGSI-02-001

No. Kondisi Perlakuan Test Case 1 Data Semester yang dipilih tidak ditemukan dalam database Data Mata Kuliah tidak Dapat Ditampilkan FUNGSI-03-001 - Status Internal Fungsi No. Keluaran Kemampuan akses Kebenaran Test Case 1 Setiap kali terjadi perubahan masukan data dan di klik tombol cari maka sistem akan mengakses data dari database Total SKS akan berubah sesuai jumlah SKS yang muncul pada listview dapat diakses dari form utama membuka dan menutup aplikasi dengan memasukkan 2 input yang berasal dari record yang sama FUNGSI-04-001

Test Case Test Case ID : FUNCTION : Data Assumption : Deskripsi : FUNGSI-01-001 Menampilkan Data Mata Kuliah Database Akademik sudah di attach Menampilkan Data Mata Kuliah, melalui listview pada form Data Mata Kuliah Aksi 1. Aplikasi Data Mata Kuliah dijalankan melalui icon pada Desktop 2.Memilih Opsi Masukan dengan Click pada Radio Button 3. Memasukkan pilihan Data dari pilihan yang tersedia dan Klik Satu kali pada button Cari State Awal atau Tampilan Data Hasil yang diharapkan (Response) Desktop Tidak Form Utama Data Mata Kuliah Form Data Mata Kuliah Form Data Mata Kuliah Tidak Semester : 1 Pemakai diizinkan memasukkan pilihan Data melalui media yang tersedia Data ditampilkan pada field-field yang sesuai Matrik Test Case Tujuan Test Menentukan Pengecekan untuk tombol cari Hasil yang diharapkan Penolakan Pesan Kesalahan yg ditampilkan Rancangan Test Case click tombol cari tanpa memberikan masukan Hasil yang sebenarnya Pesan Kesalahan/ penolakan ditampilkan Menentukan Pengecekan masukan Pilihan Semester Input dengan mengetikkan value yang salah Pesan Kesalahan/ penolakan ditampilkan

Test Case ID : FUNCTION : Data Assumption : Deskripsi : FUNGSI-02-001 Menampilkan Data Mata Kuliah Database Akademik sudah di attach Menampilkan Data Mata Kuliah sesuai dengan yang diinginkan user Aksi 1. Aplikasi Data Mata Kuliah dijalankan melalui icon pada Desktop State Awal atau Tampilan Desktop Data Tidak Hasil yang diharapkan (Response) Form Utama Data Mata Kuliah 2.Memilih Opsi Masukan dengan Click pada Radio Button 3. Memasukkan pilihan Data dari pilihan yang tersedia dan Klik Satu kali pada button Cari Form Data Mata Kuliah Form Data Mata Kuliah Tidak Semester : 1 Pemakai diizinkan memasukkan pilihan Data melalui media yang tersedia Data Mata Kuliah yang ditampilkan merupakan mata kuliah pada Semester 1 Matrik Test Case Tujuan Test Keluaran Data Mata Kuliah Hasil yang diharapkan Pesan Kesalahan Penolakan yg ditampilkan Rancangan Test Case Input dengan memilih value = 1 Hasil yang sebenarnya ditampilkan Data Mata Kuliah semester 1 Keluaran Total SKS Menjumlahkan SKS masingmasing MataKuliah yang ditampilkan Jumlah SKS dari masingmasing mata kuliah sama dengan total SKS

Test Case ID : FUNCTION : Data Assumption FUNGSI-03-001 Menampilkan Data Mata Kuliah : Database Akademik sudah di attach Deskripsi : Menampilkan Data Mata Kuliah sesuai dengan yang diinginkan user Aksi 1. Aplikasi Data Mata Kuliah dijalankan melalui icon pada Desktop 2.Memilih Opsi Masukan dengan Click pada Radio Button 3. Mengetikkan data pada box pilihan dan Klik Satu kali pada button Cari State Awal atau Tampilan Data Hasil yang diharapkan (Response) Desktop Tidak Form Utama Data Mata Kuliah Form Data Mata Kuliah Form Data Mata Kuliah Tidak Semester :10 Pemakai diizinkan memasukkan pilihan Data melalui media yang tersedia Data Mata tidak ditampilkan karena box pilihan hanya menerima input dari pilihan yang ada Matrik Test Case Tujuan Test Masukan Data Mata Kuliah Hasil yang diharapkan Pesan Penolakan Kesalahan yg ditampilkan V Rancangan Test Case mengetikkan Semester = 10 ke dalam combobox Hasil yang sebenarnya Tidak dapat memasukkan data melalui pengetikan

Test Case ID : FUNGSI-04-001 FUNCTION : Menampilkan Data Mata Kuliah Data Assumption : Database Akademik sudah di attach Deskripsi : Mengamati perubahan status internal Aksi 1. Aplikasi Data Mata Kuliah dijalankan melalui icon pada Desktop State Awal atau Tampilan Desktop Data Tidak Hasil yang diharapkan (Response) Form Utama Data Mata Kuliah 2.Memilih Opsi Masukan dengan Click pada Radio Button 3. Memasukkan pilihan Data dari pilihan yang tersedia dan Klik Satu kali pada button Cari Form Data Mata Kuliah Form Data Mata Kuliah Tidak Semester :1 dan SKS = 2 Pemakai diizinkan memasukkan pilihan Data melalui media yang tersedia Data Mata Kuliah yang ditampilkan merupakan mata kuliah pada Semester 1 Matrik Test Case Tujuan Test melihat indikasi status internal Hasil yang diharapkan Pesan Kesalahan Penolakan yg ditampilkan Rancangan Test Case memasukkan 2 data yang berasal dari record yang sama untuk melihat perubahan status internal Hasil yang sebenarnya apabila 2 data yang dipilih berasal dari record yang sama maka akan ditampilkan hasil bersesuaian

3.2.2 Boundary Value Analysis 3.2.3 Equivalence Class Partitioning SKS = Integer SKS = Alphabetic SKS = Real number SKS = Symbol SKS = Null(kosong) SKS = Float

BAB 4 KESIMPULAN DAN SARAN Kesimpulan dari pengujian yang dilakukan terhadap aplikasi adalah : -Aplikasi tersebut cukup baik, dimana tidak ada error yang ditemukan Saran saran yang diberikan untuk penulis aplikasi adalah: -Aplikasi tersebut sebaiknya memberikan comment balloon yang berisi penjelasan terhadap field terkait.

BAB 5 DAFTAR PUSTAKA Sumber Internal - Bapak Roni Yunis,S.Kom,MT, Bahan Pengajaran Testing dan Implementasi Sistem - Rex Black, Managing The Testing Process,Wiley 2002. - Roger S. Pressman, Software Engineering A Practitioner s Approach, Sixth Edition,McGraw-Hill 2005. - William Perry, Effective Methods for Software Testing, Wiley Sumber Eksternal - http://www.westfallteam.com/papers/basis_path_testing_paper.pdf - http://agile.csc.ncsu.edu/sematerials/blackbox.pdf - http://agile.csc.ncsu.edu/sematerials/whitebox.pdf - http://www.testplant.com/download_files/bb_vs_wb_testing.pdf - http://www.testingeducation.org/bbst/foundations/foundationslides001.pdf - http://www.testingeducation.org/bbst/foundations/foundationslides002.pdf - http://www.testingeducation.org/bbst/foundations/foundationslides003.pdf - http://www.testingeducation.org/bbst/foundations/foundationslides004.pdf