Anda di halaman 1dari 24

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 pusatnya.
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.
BAB 3
HASIL DAN PEMBAHASAN
3.1 Whitebox Testing
3.1.1 Basis Path Testing

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
1
0 End While
1
1 End If
End Using
End Using
End Using
End Sub

Gambar flowgraph

Cyclometic Complexity
Region
Predicate+1 +1 Edges-Nodes+2
5+1 = 6 5+1 = 14-10+2 =6
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

Test Cases (*) : zero path


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
N
o. Kriteria Test Case
Data Mata Kuliah
1 Ditampilkan pada listview FUNGSI-01-001

- Keluaran Fungsi
N Kemampuan
o. Keluaran akses Kebenaran Test Case
Field Mata Kuliah
Data Mahasiswa Dapat yang ditampilkan
FUNGSI-02-
1 ditampilkan sesuai diobservasi sesuai dengan
001
dengan pilihan masukan dari listview Masukan Semester
oleh Pengguna

- Masukan Fungsi
No
. Masukan Kebutuhan Test Case
Nilai Semester
digunakan
menentukan data FUNGSI-01-
1 Semester
Mata Kuliah Semester 001
berapa yang akan
ditampilkan
- Masukan yang tidak valid
No
. Masukan Perlakuan Test Case
1 Semester Jika nilai(value) FUNGSI-01-
semester tidak diisi
maka muncul pesan
error dan
001
membatalkan
tampilan data mata
kuliah
Jika nilai(value)
semester tidak ada
dalam database maka FUNGSI-01-
2 Semester muncul pesan error 001 FUNGSI-
dan membatalkan 03-001
tampilan data mata
kuliah

- Kondisi Internal Fungsi


N
o. Kondisi Internal Efek Test Case

Data Semester yang dipilih FUNGSI-02-


1 Data Mata Kuliah Dapat Ditampilkan
ditemukan dalam database 001

N
o. Kondisi Perlakuan Test Case
Data Semester yang dipilih
Data Mata Kuliah tidak Dapat FUNGSI-03-
1 tidak ditemukan dalam
Ditampilkan 001
database

- Status Internal Fungsi


N Kemampuan
o. Keluaran akses Kebenaran Test Case
Setiap kali terjadi
membuka dan
perubahan masukan data
menutup aplikasi
dan di klik tombol cari maka
dengan
sistem akan mengakses dapat diakses FUNGSI-04-
1 memasukkan 2
data dari database Total dari form utama 001
input yang berasal
SKS akan berubah sesuai
dari record yang
jumlah SKS yang muncul
sama
pada listview
Test Case ID : FUNGSI-01-001
Menampilkan Data
FUNCTION : Mata Kuliah
Data Assumption Database Akademik sudah di
: attach
Menampilkan Data Mata Kuliah , melalui listview pada
Deskripsi : form Data Mata Kuliah

State Awal
Hasil yang diharapkan
Aksi atau Data
(Response)
Tampilan
1. Aplikasi Data Mata Kuliah
Form Utama Data Mata
dijalankan melalui icon pada Desktop Tidak
Kuliah
Desktop
Pemakai diizinkan
2.Memilih Opsi Masukan dengan Form Data memasukkan pilihan Data
Tidak
Click pada Radio Button Mata Kuliah melalui media yang
tersedia
3. Memasukkan pilihan Data dari
Form Data Semester Data ditampilkan pada
pilihan yang tersedia dan Klik
Mata Kuliah :1 field-field yang sesuai
Satu kali pada button Cari
Test Case

Matrik Test Case

Tujuan Test Hasil yang Rancanga Hasil yang


diharapkan n Test sebenarnya
Pesan
Kesalaha
Penolak
n yg Case
an
ditampilk
an
click tombol
Menentukan
cari tanpa Pesan Kesalahan/
Pengecekan untuk
memberika penolakan ditampilkan
tombol cari
n masukan
Input
Menentukan dengan
Pesan Kesalahan/
Pengecekan masukan mengetikka
penolakan ditampilkan
Pilihan Semester n value
yang salah

Test Case ID : FUNGSI-02-001


Menampilkan Data Mata
FUNCTION : Kuliah
Data Assumption Database Akademik sudah
: di attach
Menampilkan Data Mata Kuliah sesuai dengan yang
Deskripsi : diinginkan user

State
Awal
Hasil yang diharapkan
Aksi atau Data
(Response)
Tampila
n
1. Aplikasi Data Mata Kuliah Desktop Form Utama Data Mata
dijalankan melalui icon pada Tidak Kuliah
Desktop
2.Memilih Opsi Masukan dengan Form Pemakai diizinkan
Click pada Radio Button Data memasukkan pilihan Data
Tidak
Mata melalui media yang tersedia
Kuliah
3. Memasukkan pilihan Data dari Form Data Mata Kuliah yang
pilihan yang tersedia dan Klik Satu Data Semest ditampilkan merupakan
kali pada button Cari Mata er : 1 mata kuliah pada Semester
Kuliah 1
Matrik Test Case

Hasil yang
diharapkan
Pesan
Rancangan Hasil yang
Tujuan Test Kesalah
Penolaka Test Case sebenarnya
an yg
n
ditampil
kan
Input dengan ditampilkan Data Mata
Keluaran Data Mata Kuliah semester 1
memilih value
Kuliah
=1
Menjumlahkan Jumlah SKS dari
SKS masing- masing-masing mata
masing kuliah sama dengan
Keluaran Total SKS
MataKuliah total SKS
yang
ditampilkan

Test
Case
ID : FUNGSI-03-001
FUNCTIO Menampilkan Data Mata
N: Kuliah
Data
Assumpt Database Akademik sudah di
ion : attach
Deskrips Menampilkan Data Mata Kuliah sesuai dengan yang
i: diinginkan user

State
Awal
Hasil yang diharapkan
Aksi atau Data
(Response)
Tampila
n
1. Aplikasi Data Mata Kuliah Desktop Tidak Form Utama Data Mata
dijalankan melalui icon pada Kuliah
Desktop
2.Memilih Opsi Masukan Form Tidak Pemakai diizinkan
dengan Click pada Radio Data memasukkan pilihan Data
Button Mata melalui media yang tersedia
Kuliah
3. Mengetikkan data pada Form Semest Data Mata tidak ditampilkan
box pilihan dan Klik Satu kali Data er :10 karena box pilihan hanya

Matrik Test
Case
Hasil yang
diharapkan
Pesan
Rancangan Hasil yang
Tujuan Test Kesalaha
Penolak Test Case sebenarnya
n yg
an
ditampilk
an
mengetikkan Tidak dapat
Masukan Data Semester = memasukkan data
Mata Kuliah V 10 ke dalam melalui pengetikan
combobox

Test
Case
ID : FUNGSI-04-001
FUNCTI Menampilkan Data Mata
ON : Kuliah
Data
Assump
tion : Database Akademik sudah di attach
Deskrip Mengamati perubahan status
si : internal

State
Awal
Hasil yang diharapkan
Aksi atau Data
(Response)
Tampila
n
1. Aplikasi Data Mata Kuliah Desktop Form Utama Data Mata
dijalankan melalui icon pada Tidak Kuliah
Desktop
2.Memilih Opsi Masukan Form Pemakai diizinkan
dengan Click pada Radio Data memasukkan pilihan
Tidak
Button Mata Data melalui media yang
Kuliah tersedia
3. Memasukkan pilihan Data Form Data Mata Kuliah yang
dari pilihan yang tersedia dan Data Semester :1 ditampilkan merupakan
Klik Satu kali pada button Mata dan SKS = 2 mata kuliah pada
Cari Kuliah Semester 1
Matri
k
Test
Case
Hasil yang
diharapkan
Pesan
Tujuan Rancangan
Kesalah Hasil yang sebenarnya
Test Penolak Test Case
an yg
an
ditampil
kan
memasukkan 2 apabila 2 data yang
data yang dipilih berasal dari record
melihat berasal dari yang sama maka akan
indikasi record yang ditampilkan hasil
status sama untuk bersesuaian
internal melihat
perubahan
status internal
3.2.2 Boundary Value Analysis

3.2.3 Equivalence Class Partitioning


SKS = Integer SKS = Symbol
SKS = Alphabetic SKS = Null(kosong)
SKS = Real number 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 Practitioners 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

Anda mungkin juga menyukai