Anda di halaman 1dari 25

“PERENCANAAN TESTING DAN IMPLEMENTASI

PERANGKAT LUNAK
MENGGUNAKAN METODE WHITE BOX TESTING DAN
BLACK BOX TESTING DENGAN STRATEGI PENGUJIAN
TOP DOWN DAN BOTTOM UP”

DISUSUN OLEH :

ADITYA FARIS HERYAWAN : 41121190002

IQBAL AHMAD FAUZI ; 41121190004

TUBAGUS MUHAMMAD ICHLAS GHAZALI ; 41121100018

RADEN ARSAAL HAFIDZ NURALAM ; 41121100016

GISELLA AGISTY ADZKA FIKRIA : 41121100010

Sistem Informasi (B)

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNIK

UNIVERSITAS WIDYATAMA 2022/202


i
DAFTAR ISI

DAFTAR ISI .......................................................................................................... 1


BAB I ...................................................................................................................... 1
PENDAHULUAN .................................................................................................. 1
1.1 Latar Belakang ............................................................................................ 1
1.2 Rumusan Masalah ....................................................................................... 3
1.3 Tujuan Penelitian ........................................................................................ 3
BAB II .................................................................................................................... 4
PEMBAHASAN .................................................................................................... 4
BAB III ................................................................................................................. 20
PENUTUP ............................................................................................................ 20
3.1 Kesimpulan ................................................................................................ 20
3.2 Saran ........................................................................................................... 20
DAFTAR PUSTAKA .......................................................................................... 21

i
BAB I

PENDAHULUAN

1.1 Latar Belakang


Indonesia adalah bangsa yang belum sepenuhnya lepas dari
pengaruh arus globalisasi yang mempengaruhi hampir setiap aspek
kehidupan sehari-hari. Salah satu yang berkembang pesat adalah
komputerisasi. Masalah mudah diselesaikan dengan komputerisasi,
terutama saat mengambil keputusan yang menuntut pemrosesan data yang
cepat, akurat, atau andal. Sangat penting untuk menguji program untuk
memastikan bahwa tidak ada kesalahan, untuk mencegah terjadinya
kerugian akibat kesalahan ini. Pengujian juga penting untuk mencegah
terjadinya kesalahan berbahaya ini (Sethi, 2017).
Pengujian dianggap efektif jika mampu memperbaiki kekurangan
tersebut sehingga perangkat lunak akan lebih berkualitas. Pengujian harus
dapat mengungkap kesalahan yang mungkin belum diketahui sebelumnya.
Faktor yang paling penting untuk dipertimbangkan saat pengujian adalah
desain yang baik yang dapat dengan cepat mengidentifikasi kesalahan
sehingga dapat diperbaiki, mempersingkat waktu pengujian. Ada berbagai
langkah yang terlibat dalam pembuatan sistem atau aplikasi, termasuk
analisis, desain, implementasi, pengujian, dan manajemen.
Proses uji coba memakan waktu paling lama dari lima proses ini
untuk diselesaikan. Suatu sistem atau aplikasi harus melalui tahap uji coba
untuk memastikan kualitasnya. Pengujian dilakukan dengan menggunakan
dua pendekatan yang berbeda yaitu secara fungsional (Black Box) dan
secara metodis (White Box) (Irawan, 2017). Aplikasi yang dibuat dengan
buruk dan memiliki kelemahan dapat memperpanjang proses
pengembangan dan meningkatkan biaya proyek. Pengujian program
memainkan peran penting dalam pembuatan aplikasi karena memungkinkan
Anda untuk mengidentifikasi kekurangan dalam perangkat lunak,

1
menentukan apakah memenuhi standar kinerja, dan menilai perbedaan
antara hasil yang diharapkan dan aktual (Pratama, Ristianto, Prayogo,
Nasrullah, & Saifudin, 2020).
Aplikasi Financial Flow berbasis Android akan diuji. Ini
memungkinkan pengguna untuk mencatat arus kas, termasuk pembayaran
dan pendapatan yang dilakukan secara tunai selama periode waktu tertentu.
Tujuan dari program ini adalah untuk mempermudah perencanaan dan
penggunaan keuangan. Keamanan finansial dalam kehidupan sehari-hari
sangat dipengaruhi oleh perencanaan keuangan. Pengujian perangkat lunak
sangat penting karena setiap orang membuat kesalahan saat membuat
perangkat lunak, dan kekurangan di setiap perangkat lunak akan unik.
Mencatat pengeluaran kas merupakan salah satu fungsi Arus Kas (Ningrum,
Suherman, Aryanti, Prasetya, & Saifudin, 2019).
Jika ada kesalahan, informasi dapat disampaikan secara tidak benar
dan pengguna mungkin tidak mengetahui pengeluaran kas baru-baru ini.
Informasi yang salah disampaikan oleh pengguna berpotensi merugikan
tujuan keuangan mereka. Uji coba pada aplikasi Cash Flow dapat dilakukan
untuk mencegah hal tersebut. Pengujian perangkat lunak dilakukan dengan
pemeriksaan modul untuk dapat memeriksa dan menganalisis kode program
yang dibuat benar atau salah dengan menggunakan pendekatan white box
testing (Fatimah & Samsudin, 2019). Untuk menentukan tingkat kesulitan
logika digunakan teknik jalur dasar (Basis Path) (Herlambang, Rachmadi,
Utami, Hakim, & Rohmah, 2019).
Metodologi Berdasarkan uraian di atas, pendekatan yang digunakan
adalah teknik fundamental path atau disebut juga dengan basis path, dan
metode yang digunakan adalah white box method. Pengujian kotak putih
melibatkan pengujian perangkat lunak pada tingkat aliran kode program
untuk menentukan apakah input dan output sesuai dengan persyaratan yang
diperlukan. pengujian berdasarkan prosedural, pengujian desain program
struktural, pengujian berbasis logika, atau pengujian berbasis kode
(Cholifah, Yulianingsih, & Sagita, 2018) juga tersedia (Irawan, 2017). Salah
satu teknik pengujian white box, pendekatan jalur fundamental

2
membutuhkan pembuatan diagram alir untuk skrip program dan
perhitungan kompleksitas siklomatik.
Ujian ini mencoba mengevaluasi keefektifan program dan ketepatan
struktur program (Rahayuda & Santiari, 2017). Jalur dasar adalah jalur
berbeda yang berjalan melalui aliran program dan tidak dapat mengambil
rute yang sama dua kali. Menghitung kompleksitas logis dari aliran program
diperlukan untuk pendekatan pengujian rute dasar, yang juga menggunakan
ukuran sebagai referensi untuk menentukan jumlah jalur eksekusi.

1.2 Rumusan Masalah


Latar belakang tersebut mengarah pada kesimpulan bahwa tantangannya
adalah bagaimana menentukan apakah suatu program berjalan dengan baik
atau masih ada kekurangan yang perlu diperbaiki agar program yang
dikembangkan menjadi program yang berkualitas?

1.3 Tujuan Penelitian


Latar belakang dan rumusan masalah memungkinkan kami untuk
menyimpulkan bahwa tujuan penelitian adalah untuk menentukan apakah
suatu program berfungsi dengan baik atau masih ada kesalahan yang perlu
diperbaiki agar perangkat lunak yang dihasilkan berkualitas tinggi.

3
BAB II

PEMBAHASAN

Pengujian perangkat lunak sangat penting karena setiap orang membuat


kesalahan saat merancang perangkat lunak. Setiap perangkat lunak akan memiliki
serangkaian kesalahan uniknya sendiri (Akiladevi, Vidhupriya, & Sudha, 2018).
Oleh karena itu, pengujian perangkat lunak diperlukan untuk mengonfirmasi dan
memvalidasi bahwa program dibuat sesuai dengan kebutuhan bisnis. Sangat
penting untuk memeriksanya untuk melihat apakah memenuhi persyaratan bisnis
dengan tepat sehingga perangkat lunak dapat ditingkatkan (Ardana, 2019).

White box testing adalah pengujian perangkat lunak pada tingkat alur kode
program, apakah masukan dan keluaran yang sesuai dengan spesifikasi yang
dibutuhkan. (Cholifah, Yulianingsih, & Sagita, 2018), dan pengujian yang
didasarkan pada pengujian design program secara prosedural, secara strctural,
pengujian berbasis logika atau pengujian berbasis kode (Irawan, 2017). Metode
jalur dasar adalah salah satu metode white box testing, di mana dalam proses
pengujian diperlukan untuk membuat flow graph dari program skrip dan juga
menentukan nilai kompleksitas siklomatik. Tes ini bertujuan untuk menganalisis
kebenaran struktur program yang dibuat dan kinerja program (Rahayuda & Santiari,
2017). Basis path adalah suatu jalur unik yang melintasi alur progam dan tidak
diperbolehkan terjadinya perulangan lintasan yang sama. Pada metode pengujian
basic path mengharuskan menghitung kompleksitas logis dari alur program dan
menggunakan ukuran sebagai petunjuk untuk mendefinisikan jumlah jalur
eksekusi. Dalam white box testing menggunakan basis path terdapat beberapa
tahapan yaitu dengan membuat flow graph dari fungsi yang akan diuji, menghitung
cyclometic complexity (CC) dan melakukan unittest (Sakethi, Kurniawan, &
Tantriawan, 2014).

Pengujian di mulai dengan menghitung jumlah skenario yang akan di uji


dengan menggunakan cyclomatic complexity (CC) dengan rumus v = e – n + 2 di
mana e = jumlah jalur, dan n adalah jumlah simpul, untuk mengetahui nilai e dan n
digunakan flow graph. Setelah mendapatkan nilai CC maka dibuat skenario uji.
Pengujian menggunakan unit test, dan Integrated Development Environment (IDE)
android studio. Berikut merupakan hasil hitung CC dan cuplikan kode pengujian:

4
1) Fungsi Bulan

Fungsi bulan, adalah fungsi untuk mendapatkan bulan pada saat ini,
dengan parameter berupa angka, berikut merupakan cuplikan kodenya:

private String getMonthString (String month) {

switch (month) { case "01":

return "JANUARY"

case "02":

return "FEBRUARY";

case "03":

return "MARCH";

case "04":

return "APRIL";

case "05":

return "MAY";

case "06":

return "JUNE";

case "07":

return "JULY";

5
case "08":

return "AUGUST";

case "09":

return "SEPTEMBER";

case "10":

return "OCTOBER";

case "11":

return "NOVEMBER";

case "12":

return "DECEMBER";

default: return "";

Untuk menganalisa jalur eksekusi, selanjutnya dibuat flow graph.


Berdasarkan source code (kode sumber) di atas maka dibuat flow graph seperti pada
Gambar 1.

6
Gambar 1 Flow graph fungsi bulan

Berdasarkan flow graph pada Gambar 1,

jumlah edge € = 37, jumlah node (n) = 26, sehingga nilai CC = 37 – 26 + 2


= 13.

7
Jalur independent yang didapat:

Jalur 1 : 1-2-3-26

Jalur 2 : 1-2-4-5-26

Jalur 3 : 1-2-4-6-7-26

Jalur 4 : 1-2-4-6-8-9-26

Jalur 5 : 1-2-4-6-8-10-11-26

Jalur 6 : 1-2-4-6-8-10-12-13-26

Jalur 7 : 1-2-4-6-8-10-12-14-15-26

Jalur 8 : 1-2-4-6-8-10-12-14-16-17-26

Jalur 9 : 1-2-4-6-8-10-12-14-16-18-19-26

Jalur 10 : 1-2-4-6-8-10-12-14-16-18-20-21-26

Jalur 11: 1-2-4-6-8-10-12-14-16-18-20-22-23-26

Jalur 12 : 1-2-4-6-8-10-12-14-16-18-20-22-24-25-26

Jalur 13: 1-2-4-6-8-10-12-14-16-18-20-22-24-26

Setelah menghitung CC maka jumlah test yang dilakukan sebanyak 13 kali, berikut
merupakan cuplikan kode yang digunakan dalam unit test:
package com.fish.cashflow;

import android.support.test.runner.AndroidJUnit4; import org.junit.Test;


import org.junit.runner.RunWith;
import static org.junit.Assert.assertEquals;

@RunWith(AndroidJUnit4.class) public class GetMonthTest {

@Test
public void jan(){ String tanggal = "01";
String hasilYangDiHarapkan = "JANUARY";
String hasilKalkulasi =Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}

@Test
public void feb(){ String tanggal = "02";

8
String hasilYangDiHarapkan = "FEBRUARY";
String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}

@Test
public void mar(){ String tanggal = "03";
String hasilYangDiHarapkan = "MARCH"; String hasilKalkulasi = Helper
.getMonthString(tanggal)
assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}
@Test
public void apr(){ String tanggal = "04";
String hasilYangDiHarapkan = "APRIL"; String hasilKalkulasi = Helper
.getMonthString(tanggal)
assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}
@Test
public void mei(){ String tanggal = "05";
String hasilYangDiHarapkan = "MAY"; String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}
@Test
public void jun(){ String tanggal = "06";
String hasilYangDiHarapkan = "JUNE"; String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}

@Test
public void jul(){
String tanggal = "07";
String hasilYangDiHarapkan = "JULY"; String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}

@Test
public void agust(){ String tanggal = "08";
String hasilYangDiHarapkan = "AUGUST";
String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}

@Test
public void sept(){ String tanggal = "09";
String hasilYangDiHarapkan =

9
"SEPTEMBER";
String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}

@Test
public void okt(){ String tanggal = "10";
String hasilYangDiHarapkan = "OCTOBER";
String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}

@Test
public void nov(){ String tanggal = "11";
String hasilYangDiHarapkan = "NOVEMBER";
String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}

@Test
public void des(){ String tanggal = "12";
String hasilYangDiHarapkan = "DECEMBER";
String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}

@Test
public void def(){ String tanggal = "-1";
String hasilYangDiHarapkan = ""; String hasilKalkulasi = Helper
.getMonthString(tanggal); assertEquals(hasilYangDiHarapkan,
hasilKalkulasi);
}
}
2) Fungsi Menambahkan Pengeluaran
Fungsi ini digunakan untuk menerima masukan pengeluaran kas dari pengguna
aplikasi dan data akan disimpan ke dalam basis data pada gawai ponsel. Berikut
cuplikan kode:
public boolean insertDataExpense(int id,String expense, String description, String date,
Stringcategory){

SQLiteDatabase db =this

.getWritableDatabase(); ContentValues contentValues =

new ContentValues();

10
contentValues.put(COL_1_E, id); contentValues.put(COL_2_E, expense);
contentValues.put(COL_3_E, description);contentValues.put(COL_4_E, date);
contentValues.put(COL_5_E, category);

long res = db.insert(TABLE_NAME_EXPENSE, null,contentValues);

if(res == -1)return false;

else return true;

Untuk mengidentifikasi jalur eksekusiprogram, selanjutnya dibuat flow graph. Dari source
code (kode sumber) di atas maka dibuat flow graph pada Gambar 2

Gambar 2 Flow graph input pengeluaran

e= 5, n = 5 sehingga nilai CC = 5 – 5 + 2 = 2.Jalur independent yang didapat:


 Jalur 1 : 1-2-3-5
 Jalur 2 : 1-2-4-5

Fungsi menambahkan pengeluaran memilikinilai CC = 2, maka uji coba yang


akan dilakukan sebanyak 2 skenario. Berikutcuplikan code:

package com.fish.cashflow;

import android.content.Context;

import android.support.test.InstrumentationRegistry;import
android.support.test.runner.AndroidJUnit4;

import org.junit.Before;import org.junit.Test;

11
import org.junit.runner.RunWith;

import static org.junit.Assert.assertFalse;import static org.junit.Assert.assertTrue;

@RunWith(AndroidJUnit4.class)public class DatabaseTest {

private Context appContext;private DatabaseHelper db;

private int id = 11;

private String expanse = "50000";

private String desc = "Test Save Expanses";private String date = "20180201";

private String category ="ENTERTAINMENT";

@Before

public void setup(){

appContext = InstrumentationRegistry

.getTargetContext();

db = new DatabaseHelper(appContext);

@Test()

public void saveExpansesData(){

boolean status = db.insertDataExpense(id,expanse,desc,date,

category);

assertTrue(status);

@Test()

public void saveExpansesData2(){

boolean status2 = db.insertDataExpense(id,expanse,desc,date,

category);

assertFalse(status2);

12
}

Black Box

Pada Black Box Testing dilakukan pengujian yang didasarkan pada detail
aplikasi seperti tampilan aplikasi, fungsi-fungsi yang ada pada aplikasi, dan
kesesuaian alur fungsi dengan bisnis proses yang diinginkan oleh customer. Black-
box Testing ini lebih menguji ke Tampilan Luar(Interface) dari suatu aplikasi agar
mudah digunakan oleh Customer. Pengujian ini tidak melihat dan menguji souce
code program. Black-box Testing bekerja dengan mengabaikan struktur control
sehingga perhatianya hanya terfokus pada informasi domain.

Keuntungan dari Black-box Testing :

 Penguji tidak perku memiliki pengetahuan tentang baasa pemograman


tertentu
 Pengujian yang dilakukan berdasarkan sudut pandang user agar dapat
mengungkapkan inkosistensi atau ambiguitas dalam spesifikasi.
 Programmer dan tester memiliki ketergantungan satu sama lain

Kekurangan Black-box Testing :

 Uji kasus sulit disain tanpa spesifikasi yang jelas


 Kemungkinan memiliki pengulangan tes yang sudah dilakukan oleh
programmer
 Beberapa bagian back end tidak diuji sama sekali.

Teknik Black-box Testing

1. Equivalence Partitioning
Cara kerja teknik ini adalah dengan melakukan partition atau pembagian
menjadi beberapa partisi dari input data.
2. Boundary Value Analysis
Teknik ini lebih fokus kepada boundary, dimana adakah error dari luar
atau sisi dalam software, minimum, maupun maximum nilai dari error
yang didapat.
3. Fuzzing
Fuzz merupakan teknik untuk mencari bug / gangguan dari software dengan
menggunakan injeksi data yang terbilang cacat ataupun sesi semi-otomatis.
4. Cause-Effect Graph
Ini adalah teknik testing dimana menggunakan graphic sebagai pacuannya.
Dimana dalam grafik ini menggambarkan relasi diantara efek dan
penyebab dari error tersebut.

13
5. Orthogonal Array Testong
Dapat digunakan jika input domain yang relatif terbilang kecil ukurannya,
tetapi cukup berat untuk digunakan dalam skala besar.
6. All Pair Testing
Dalam teknik ini, semua pasangan dari test case di desain sedemikian rupa
agar dapat di eksekusi semua kemungkinan kombinasi diskrit dari seluruh
pasangan berdasar input parameternya. Tujuannya testing ini adalah
memiliki pasangan test case yang mencakup semua pasangan tersebut.
7. State Transition
Testing ini berguna untuk melakukan pengetesan terhadap kondisi dari
mesin dan navigasi dari UI dalam bentuk grafik.

Blackbox dan Whitebox sejenis Untuk menguji input dan mempartisinya


menjadi beberapa grup sesuai dengan fungsinya, penulis menggunakan teknik
Equivalence Partitioning (EP). sehingga dapat diperoleh test case yang valid
(Aristoteles, Wardiyanto, & Pratama, 2015). Berbagai tahapan akan dilakukan
dalam penelitian ini. Dengan menggunakan pendekatan Equivalence Partitions,
Test Case dari perangkat lunak yang akan diuji ditentukan terlebih dahulu, dan nilai
partisi input dan output standar kemudian diinisialisasi.

Hal ini dilakukan untuk membangun dataset berupa dokumentasi pengujian


dengan menggunakan metode Equivalence Partitions dan nilai tingkat keampuhan
dari teknik Equivalence Partitions. Tabel desain Test Case digunakan untuk
menentukan apakah program memenuhi persyaratan yang diinginkan atau masih
perlu diperbarui untuk menyediakan program yang lebih berkualitas. Penjelasan
dari berbagai tabel desain kasus uji berdasarkan partisi kesetaraan disediakan di
bawah ini.

14
Gambar 1 Tampilan Form Login

Dengan memasukkan data yang tidak sesuai dengan tipe datanya maka
pengujian ini dijalankan pada Form Login. Jika pengguna memasukkan huruf "abc"
atau angka "123" atau kombinasi keduanya, seperti "abc123", dengan maksimal 50
huruf, rencana pengujian data Nama Pengguna akan valid. Jika Username diisi lebih
dari 50 huruf atau angka, data menjadi tidak valid. Jika kata sandi dimasukkan
menggunakan huruf "abc" atau angka "123" atau kombinasi keduanya "abc123",
dengan maksimal 20 huruf, rencana uji kata sandi data akan sah. Jika Password
yang dimasukkan dan data yang dimasukkan melebihi 20 huruf selain angka, maka
data tersebut menjadi tidak valid.

Tabel 1 Rancangan Test Case Form Login


Id Deskripsi Pengujian Hasil yang Diharapkan
L01 Klik tombol Login setelah memasukkan Setelah form Login ditutup
“dandi 123” untuk Username dan “dan dan form Data sudah
123” untuk Password, dengan asumsi data ditampilkan, maka akses
yang dimasukkan sesuai dengan informasi Login berhasil.
yang ada di database.
L02 Jika data yang dimasukkan merupakan Akses Masuk Gagal; sistem
data yang belum ada atau belum tidak dapat mengakses
tersimpan di database, masukkan formulir Data, dan formulir

15
“abc123” untuk Username dan “abc123” Login masih ditampilkan.
untuk Password, lalu klik tombol Login.

Gambar 2 Tampilan Form Data

Formulir Data digunakan untuk pengujian berikut, yang melibatkan


memasukkan data yang tidak sesuai dengan tipe data. Jika NIP diisi dengan angka
“123” dan tidak boleh kosong, maka data NIP test plan dinyatakan sah. Sebaliknya,
jika NIP diisi dengan huruf "abc", maka datanya tidak valid. Menurut rencana
pengujian, nama data harus mengandung huruf "abc" dan tidak boleh kosong. Jika
tidak, itu tidak akan dianggap asli. Sebaliknya, jika nama diisi dengan angka "123",
datanya tidak valid.

Tabel 2 Rancangan Test Case Form Data

16
Id Deskripsi Pengujian Hasil yang Diharapkan
A01 Pilih tombol radio Komunikasi, Inovasi, Informasi tersebut akan
Disiplin, dan Loyalitas pada tombol disimpan ke database,
radio "Cukup(2)", lalu klik Simpan. yang kemudian akan
Isikan NIP dengan "5", nama dengan ditampilkan di tabel
"dandi", dan sales dengan "80". yang berbeda.
A02 Anda hanya perlu mengklik Simpan Menjaga agar data tidak
setelah memasukkan "abc" untuk NIP, disimpan ke database.
"123" untuk Nama, dan "abc" untuk
Penjualan, dan setelah memilih tombol
radio Komunikasi, Inovasi, Disiplin, dan
Loyalitas pada tombol radio "Cukup(2)".

Data di Rencana Tes Penjualan akan akurat jika diisi menggunakan angka
"123". Sebaliknya, jika penjualan dimasukkan menggunakan huruf "abc", datanya
tidak valid. Salah satu data pada radiobutton harus dipilih untuk rencana uji
Komunikasi, Inovasi, Disiplin, dan Loyalitas. Hal tersebut dapat diuji berdasarkan
rancangan kasus uji (test case) yang dibuat pada Tabel 1 dan 2. Tabel 4
menampilkan hasil pengujian.

Tabel 4 Hasil Pengujian

Id Deskripsi Hasil yang Hasil Pengujian Kesimpulan


Pengujian Diharapkan

Username harus Setelah berhasil Sistem akan Sesuai


L01 diawali dengan login, sistem akan menampilkan
"dandi 123", isikan menampilkan pesan “Login
"dandi 123" pada formulir Data. Berhasil”, dan
kolom Username, kemudian
kemudian klik formulir Data
tombol Login. akan muncul.

17
Klik tombol Sistem masih Username atau Sesuai
L02 Login setelah menampilkan form password yang
memasukkan Login meskipun salah akan
"abc123" untuk upaya login gagal. mengakibatka
Nama Pengguna n sistem
dan Kata Sandi. menampilkan
pesan “salah”
sedangkan
tampilan
masih pada
form login.
A01 Pilih radiobutton Informasi tersebut Ketika data Sesuai
Komunikasi, akan disimpan ke berhasil
Inovasi, Disiplin database, yang disimpan,
dan Loyalitas kemudian akan akan muncul
pada radiobutton ditampilkan di tabel kalimat "Data
"Cukup(2)". yang berbeda. Berhasil
Masukkan NIP Disimpan",
dengan "5", dan data
Nama dengan tersebut
"dandi", dan kemudian
Penjualan ditampilkan
dengan "80". di tabel yang
Langkah berbeda.
selanjutnya klik
Save.
A02 Anda hanya perlu Menjaga agar Muncul Sesuai
mengklik Simpan data tidak pesan error
setelah disimpan ke karena data
memasukkan database. tidak bisa
"abc" untuk NIP, disimpan.
"123" untuk

18
Nama, dan "abc"
untuk Penjualan,
dan setelah
memilih tombol
radio
Komunikasi,
Inovasi, Disiplin,
dan Loyalitas
pada tombol radio
"Cukup(2)".

Fungsi login dicoba dua kali, fungsi simpan diuji enam kali, fungsi edit diuji
satu kali, dan fungsi hapus diuji satu kali. Ada total empat fungsi yang diuji. Jadi,
total ada sepuluh tes. Satu fungsi menemukan kesalahan, sementara tiga fungsi
lainnya tidak menemukan kesalahan.

Top-Down merupakan bagian integral dari proses pengembangan Top-


Down dengan proses pengembangan dimulai dengan komponen tingkat tinggi
berjalan kebawah menelusuri hierarki komponen . program dinyatakan sebagai satu
komponen abstrak dengan sub-komponen direpresentasikan dengan stub
(potongan). stub memiliki interface yang sama dengan komponen tetapi
fungsionalitasnya sangat terbatas. Setelah komponen tingkat paling atas deprogram
dan diuji , sub-komponennya diimplementasi dan diuji dengan cara yang sama.
Proses ini berlanjut sampai komponen tingkat paling bawah diimplementasi.
Seluruh sistem dengan demikian telah diuji.

Bottom Up adalah sebuah pendekatan untuk pengujian terpadu dimana


komponen tingkat terendah diuji terlebih dahulu, kemudian digunakan untuk
memfasilitasi pengujian komponen tingkat yang lebih tinggi. Proses ini terus
diulang secara hirarki. Bila kita melakukan pembuatan sebuah program misalnya
membuat sebuah website dari awal Planning ,Control ,Design ,Coding ,Testing
,Operation and maintenance belum kita lakukan testing setelah programnya selesai
atau ada barulah kita lakukan testing menggunakan bottom-up tes .

19
BAB III

PENUTUP

3.1 Kesimpulan
Tanpa memahami kode program yang digunakan, pengujian aplikasi
dengan pengujian blackbox berusaha untuk menentukan apakah program
tersebut sama dengan tugas yang dilakukannya. Berdasarkan pengujian
sistem seleksi terlaris yang digunakan, dapat disimpulkan bahwa pengujian
menggunakan pendekatan Black Box dan White Box berdasarkan
Equivalence Partitions dapat membantu dalam membuat kasus uji,
pengujian kualitas, dan menemukan kesalahan tersembunyi yang
disebabkan oleh kesalahan ketik. .
Ditemukan kesalahan saat mengedit data di aplikasi pemilihan
penjualan terbaik. Masalahnya tidak konsisten dengan pesan yang
ditampilkan, karena data disimpan dengan benar meskipun faktanya data
tidak berubah. Pengujian ini mengungkapkan bahwa formulir aplikasi untuk
sistem pemilihan penjualan terbaik memiliki celah kesalahan. Kesalahan-
kesalahan tersebut diharapkan dapat diperbaiki untuk meningkatkan
kualitas aplikasi yang dibuat.

3.2 Saran
Penggunaan pendekatan Blackbox dan Whitebox Testing tambahan, seperti
Boundary Value atau Error Guessing, untuk mengungkap masalah atau
kekurangan lebih lanjut dalam pengembangan aplikasi ini disarankan untuk
meningkatkan kualitas program akhir dan kemampuannya untuk memberi
manfaat bagi pengguna aplikasi.

20
DAFTAR PUSTAKA

Akiladevi, R., Vidhupriya, P., & Sudha, V. (2018). Software Testing Tools.
International Journal of Pure and Applied Mathematics, 118(18), 1783-
1800.

Ardana, I. S. (2019). Pengujian Software Menggunakan Metode Boundary Value


Analysis dan Decision Table Testing. Jurnal Teknologi Informasi, XIV(03),
40-47.

Aristoteles, Wardiyanto, & Pratama, A. A. (2015). Sistem Pakar Diagnosa Penyakit


Pada Ikan Budidaya Air Tawar dengan Metode Forward Chaining. Jurnal
Komputasi, 3(2), 99-168.

Hidayat, T., & Muttaqin, M. (2018). Pengujian Sistem Informasi Pendaftaran dan
Pembayaran Wisuda Online menggunakan Black Box Testing dengan
Metode Equivalence Partitioning dan Boundary Value Analysis. Jurnal
Teknik Informatika UNIS, 6(1), 25-29.

Latif, A. (2015). Implementasi Kriptografi Menggunakan Metode Advanced


Encryption Standar (AES) Untuk Pengamanan Data Teks. Jurnal Ilmiah
Mustek Anim, 4(2), 163-172.

Mukhayaroh, A. (2016). Sistem Pendukung Keputusan Pemilihan Dsitribution


Sales Supervisor Dengan Metode FMADM-SAW Pada PT.Nirmala Pangan
Sejahtera Bekasi. Informatics For Educators And Professionals, 1(1), 51-
64.

Mustaqbal, M. S., Firdaus, R. F., & Rahmadi, H. (2015). Pengujian Aplikasi


Menggunakan Black Box Testing Boundary Value Analysis (Studi Kasus :
Apilkasi Prediksi Kelulusan SNMPTN). Jurnal Ilmiah Teknologi Informasi
Terapan, 1(3), 31-36.

21
MZ, M. K. (2016). Pengujian Perangkat Lunak Metode Black Box Berbasis
Equivalence Partitions Pada Aplikasi Sistem Informasi Sekolah. Jurnal
Mikrotik, 6(3), 30-48.

Sasmito, G. W. (2017). Penerapan Metode Waterfall Pada Desain Sistem Informasi


Geografis Industri Kabupaten Tegal. Jurnal Pengembangan IT (JPIT), 2(1),
7-12.

Sethi, M. A. (2017). A Review Paper On Levels, Types & Techniques In Software


Testing. International Journal of Advanced Research In Computer Science,
8(7), 269-271.

Wahyudi, R., Utami, E., & Arief, M. R. (2016). Sistem Pakar E-Tourism Pada
Dinas Pariwisata D.I.Y Menggunakan Metode Forward Chaining. Jurnal
Ilmiah DASI, 17(2), 67-75.

Wahyudi, S., Suheri, H., & Nurhadian, T. (2015). Impelementasi Sistem Keputusan
Pengangkatan Karyawan Tetap PT. Imanuel Surya Utama Menggunakan
Metode SAW. Jurnal PROSISKO, 2(1), 34-41.

Susilo, J. (2014). Aplikasi Pengujian White Box IBII Online Jugde. Jurnal
Informatika dan Bisnis, 3(2), 56-69.

Jaya, T. S. (2018). Pengujian Aplikasi dengan Metode Blackbox Testing Boundary


Value Analysis (Studi Kasus: Kantor Digital Politeknik Negeri
Lampung). Jurnal Informatika: Jurnal Pengembangan IT, 3(1), 45-48.

Cholifah, W. N., Yulianingsih, & Sagita, S. M. (2018). Pengujian Black Box


Testing Pada Aplikasi Action & Strategy Berbasis Android Dengan
Teknologi Phonegap. Jurnal String, 206-210.

Irawan, Y. (2017). Pengujian Sistem Informasi Pengelolaan Pelatihan Kerja


UPT BLK Kabupaten Kudus. Sentra Penelitian Engineering dan
Edukasi, 56-63.

Sakethi, D., Kurniawan, D., & Tantriawan, H. (2014). Pengujian dan Perawatan
Sistem Informasi Menggunakan White Box Testing. Ilmu Komputer Unila
Publishing Network all right reserved, 27-35.

22
Rahayuda, I. S., & Santiari, N. L. (2017). Jurnal Ilmiah Kursor Menuju Solusi
Teknologi Informasi. Basis Path Testing Of Iterative Deepening Search
And Held-Karp On Pathfinding Algorithm, 39 - 48.

23

Anda mungkin juga menyukai