Anda di halaman 1dari 12

“PENGUJIAN PERANGKAT LUNAK”

Disusun Guna Untuk Memenuhi Tugas Rekayasa Perangkat Lunak


Dosen Pengampu
Farurrozi Lubis M.Sc.IT

DISUSUN OLEH
KELOMPOK 6 PTIK A :
1. AMRI FAJAR PRATAMA ( 5212451003 )
2. OTNIEL KRISTIAN MANURUNG ( 5212451006 )
3. KHAIRUL AZMI ( 5183151034 )

PROGRAM TEKNOLOGI INFORMATIKA DAN KOMPUTER


FAKULTAS TEKNIK
UNIVERSITAS NEGRI MEDAN
2022
KATA PENGANTAR

Puji syukur kami ucapkan kepada Tuhan Yang Maha Esa, karena berkat rahmat dan
karuniaNyalah kami dapat menyelesaikan tugas makalah yang berjudul “PENGUJIAN
PERANGKAT LUNAK” dengan baik dan selesai pada waktu yang ditentukan.

Dalam makalah ini kami membahas serta menjelaskan mengenai materi pengertian dan
pengambaran perangkat lunak.

Kami juga mengucapkan terima kasih kepada dosen pengamppu mata kuliah Rekayasa
Perangkat Lunak yaitu Bapak Fahrurozi Lubis,M.Sc.,IT. dan juga kepada rekan-rekan yang
telah banyak memberikan masukan untuk makalah ini.

Kami juga mengakui bahwa dalam makalah ini masih terdapat banyak kekurangan baik
kata, kalimat maupun isi dari setiap pembahasan yang ada. Maka dari itu kami mengharapkan
kritik dan saran yang membangun demi penyempurnaan makalah ini.

Akhir kata kami mengharapkan semoga makalah ini bermanfaat bagi pembaca yang
membaca makalah ini.

Medan, 3 Juni 2022

Penyusun

i
DAFTAR ISI

KATA PENGANTAR .......................................................................i


DAFTAR ISI.......................................................................................ii
BAB I PENDAHULUAN...................................................................1
1.1 Latar Belakang.............................................................................1
1.2 Rumusan Masalah........................................................................1
1.3 Tujuan..........................................................................................1

BAB II PEMBAHASAN.....................................................................2
2.1 White Box Testing.......................................................................2

2.2 Black Box Testing.......................................................................4

2.3 Strategi Pengujian Perangkat Lunak ...........................................6

BAB III PENUTUP.............................................................................8


3.1 Kesimpulan..................................................................................8

3.2 Saran dan Kritik...........................................................................8

DAFTAR PUSTAKA .........................................................................9

ii
BAB I

PENDAHULUAN
1.1 LATAR BELAKANG
Pengujian perangkat lunak adalah proses atau rangkaian proses yang dirancang untuk
memastikan bahwa program computer menjalankan apa yang seharusnya dilakukan dan
sebaliknya, memastikan program agar tidak melakukan hal yang tidak diharapkan. Sebuah
perangkat lunak seharusnya dapat diprediksi dan konsisten.
Tugas utama dari seorang penguji adalah untuk menemukan bug atau error sebanyak
mungkin serta mengetahui bagaimana error atau bug itu dihasilkan. Sehingga dapat dikatakan
bahwa pengujian adalah proses mengeksekusi program dengan tujuan untuk menemukan error.
Pengujian merupakan proses penting dalam siklus pengembangan software untuk memastikan
kualitas dari sebuah software.

1.2 RUMUSAN MASALAH


Berdasarkan latar belakang masalah yang telah dipaparkan adapun beberapa materi yang
akan dibahas dalam makalah ini yaitu sebagai berikut:
1. Apa yang dimaksud dengan White Box Testing?
2. Apa yang dimaksud dengan Black Box Testing?
3. Bagaimana yang dimaksud dengan Strategi Pengujian Perangkat Lunak?

1.3 TUJUAN
Tujuan dari penulisan makalah ini adalah untuk memahami penjelasan dan pengambaran
mengenai Pengujian Perangkat Lunak antara lain :
1. Untuk mengetahui apa yang dimaksud dengan White Box Testing.
2. Untuk mengetahui bagaimana Bentuk Strategi Pengujian Perangkat Lunak.
3. Untuk mengetahui apa saja kelebihan dan kekurangan White Box Testing dan Black Box
Testing.

1
BAB II
PEMBAHASAN

2.1 White Box Testing


Lain halnya dengan black box testing yang hanya melihat hasil input dan output dari
perangkat lunak, pengujian white box testing berfokus pada aliran input dan output dari
perangkat lunak.
Untuk melakukan pengujian ini, penguji/tester perlu memiliki kemampuan dalam
memahami kode dari suatu program sehingga pengujian ini tidak bisa dilakukan oleh sembarang
orang.

Teknik-Teknik Pengujian
Berikut ini adalah teknik yang dapat digunakan untuk melakukan white box testing pada
perangkat lunak:

 Basis path testing


Teknik pertama adalah basis path testing. Teknik bertujuan untuk mengukur kompleksitas kode
program dan mendefinisikan alur yang dieksekusi.

 Branch coverage
Kemudian ada branch coverage. Pengujian ini dirancang agar setiap branch code diuji setidaknya
satu kali.

 Condition coverage
Selanjutnya adalah teknik condition coverage, tujuannya untuk menguji seluruh kode agar
menghasilkan nilai TRUE atau FALSE. Dengan begitu, tester dapat memastikan perangkat lunak
dapat bekerja dan mengeluarkan output sesuai dengan input dari pengguna.

 Loop testing
Ada juga teknik loop testing. Pengujian ini yang wajib dilakukan untuk menguji berbagai
perulangan/looping yang ada dalam program, seperti do-while, for, dan while. Dalam pengujian

2
ini kamu juga dapat memeriksa kondisi dari perulangan, apakah sudah berjalan dengan benar
atau tidak.

 Multiple condition coverage


Berikutnya adalah multiple condition coverage. Teknik ini dilakukan untuk menguji seluruh
kombinasi dari kode yang mungkin digunakan dalam berbagai kondisi. Seluruh kombinasi harus
diuji minimal satu kali, tujuannya untuk memastikan perangkat lunak agar berjalan dengan baik.

 Statement coverage
Teknik terakhir adalah statement coverage. Teknik ini dilakukan minimal satu kali untuk
menguji setiap statement dalam perangkat lunak. Dengan pengujian ini, kamu dapat mengetahui
kode-kode yang error sehingga dapat segera memperbaikinya.

Kelebihan dan Kekurangan


Ketika white box testing digunakan untuk menguji perangkat lunak, ada beberapa
kelebihan dan kekurangan yang bisa kamu dapatkan. Berikut ini adalah kelebihan dan
kekurangannya:

Kelebihan
 Meningkatkan ketelitian dalam mengimplementasikan perangkat lunak.
 Memudahkan dalam menemukan kesalahan atau bug dalam perangkat lunak yang
sebelumnya tidak terlihat.
 Memudahkan pengujian karena dilakukan secara menyeluruh sehingga memperkecil
kemungkinan terjadinya error pada kode.
 Meminimalisir error atau bug karena pengujian dapat dilakukan sebelum perangkat lunak
diluncurkan.
Kekurangan
 Menyusahkan karena pengujian ini cukup kompleks.
 Memerlukan waktu kembali ketika menambahkan atau mengganti kode, karena kamu
perlu menguji keseluruhan kode kembali.

3
 Memakan sumber daya yang banyak karena White-box testing termasuk ke dalam
pengujian yang cukup mahal.

2.2 Black Box Testing


Black box testing atau dapat disebut juga Behavioral Testing adalah pengujian yang
dilakukan untuk mengamati hasil input dan output dari perangkat lunak tanpa mengetahui
struktur kode dari perangkat lunak. Pengujian ini dilakukan di akhir pembuatan perangkat lunak
untuk mengetahui apakah perangkat lunak dapat berfungsi dengan baik.
Untuk melakukan pengujian, penguji tidak harus memiliki kemampuan menulis kode
program. Pengujian ini dapat dilakukan oleh siapa saja.

Teknik-teknik Black Box Testing


Ada beberapa teknik yang biasanya digunakan untuk menguji perangkat lunak. Berikut ini
adalah teknik-tekniknya:

 All pair testing


Teknik all pair testing ini dikenal juga dengan pairwise testing. Pengujian ini digunakan untuk
menguji semua kemungkinan kombinasi dari seluruh pasangan berdasarkan input parameternya.

 Boundary value analysis


Teknik ini berfokus pada pencarian error dari luar atau sisi dalam perangkat lunak.

 Cause-effect graph
Berikutnya adalah teknik cause-effect graph. Teknik pengujian ini menggunakan grafik sebagai
patokannya. Grafik ini menggambarkan relasi antara efek dan penyebab dari error.

 Equivalence partitioning
Teknik ini bekerja dengan cara membagi data input dari beberapa perangkat lunak menjadi
beberapa partisi data.

4
 Fuzzing
Fuzzing merupakan teknik pencarian bug dalam perangkat lunak dengan memasukan data yang
tidak sempurna.

 Orthogonal array testing


Selanjutnya adalah orthogonal array testing. Teknik ini digunakan jika input berukuran kecil,
akan tetapi cukup berat jika digunakan dalam skala yang besar.

 State transition
Terakhir adalah state transition. Teknik ini berguna untuk melakukan pengujian terhadap mesin
dan navigasi dari UI dalam bentuk grafik.

Keuntungan
Ketika behavioral testing digunakan dalam pengujian perangkat lunak, ada beberapa keuntungan
yang dapat diperoleh dari pengujian tersebut. Berikut ini adalah keuntungannya:

 Penguji tidak harus memiliki pengetahuan tentang suatu bahasa pemrograman.


 Pengujian dilakukan berdasarkan sudut pandang pengguna. Hal tersebut dilakukan agar
dapat menemukan inkonsistensi dalam perangkat lunak.
 Pengembang dan penguji memiliki ketergantungan satu dengan yang lainnya.
 Penguji tidak perlu memeriksa kode.
 Memungkinkan penguji dan pengembang bekerja secara independen tanpa mengganggu
proses kerja satu sama lain.

Kekurangan
Selain memiliki keuntungan, behavioral testing juga memiliki kekurangan. Berikut ini adalah
beberapa kekurangannya:

 Memiliki kemungkinan kesalahan tidak terdeteksi karena kurang teliti dan tidak adanya
pengetahuan teknis.
 Ada bagian back-end yang tidak diuji sama sekali.

5
 Kemungkinan pengujian dilakukan kembali oleh programmer.

2.3 Strategi Pengujian Perangkat Lunak


Strategi pengujian perangkat lunak merupakan proses integrasi metode perancangan kasus
uji kedalam bentuk urutan langkah pengujian perangkat lunak. Strategi pengujian perangkat
lunak dapat dipandang sebagai urutan langkah seperti pada pengembangan perangkat lunak.
Strategi pengujian perangkat lunak secara berurutan adalah pengujian unit (unit testing),
integration testing dan system testing.
1. Pengujian Unit
Pengujian Unit (Unit Testing) adalah pengujian yang difokuskan pada unit terkecil dari
program(modul). Pengujian ini didasarkan pada informasi dari deskripsi perancangan detil
perangkat lunak.Pada umumnya pengujian ini dilakukan secarawhite-box dan source code
based testing denganmelakukan pengecekan jalur khusus pada strukturkendali modul untuk
meyakinkan kelengkapancakupan dan deteksi maksimum kesalahan.

2. Pengujian Integrasi
Pengujian Integrasi (Integration Testing) adalah Pengujian yang difokuskan pada
gabungan unit-unit Atau modul-modul yang membentuk kesatuan Fungsional. Pengujian ini
didasarkan pada informasi Dari deskripsi perancangan awal perangkat lunak. Pengujian ini
dilakukan untuk menemukan Kesalahan antarmuka antar modul. Pengujian ini Umumnya
dilakukan oleh pengembang sendiri atau Dilakukan antar pengembang. Pada umumnya
Pengujian ini dilakukan secara white-box dan black-Box.
Pada pengujian integrasi dikenal istilah integrasi Non-incremental, dan integrasi
incremental. Integrasi non-incremental adalah proses integrasi Yang menggunakan cara
penggabungan langsung Modul-modul yang terlibat. Program kemudian diuji Secara
keseluruhan. Hal ini bisa menyebabkan Terjadinya kesalahan yang kompleks karena
Perkembangan program yang besar. Sedang integrasi incremental adalah integrasi yang
Dilakukan secara bertahap. Pengujian juga dilakukan Per segmen sehingga kesalahan dapat
dengan mudah Diisolasi dan diperbaiki.

3. Pengujian Sistem
Pengujian sistem adalah pengujian yang dilakukan Pada sistem komputer (computer-
based system) Secara keseluruhan. Pengujian ini umumnya dilakukan oleh pengembang
Bersamaan dengan pengembang lain, karena Pengujian yang dilakukan berhubungan dengan

6
Elemen lain perangkat lunak. Pengujian ini Dilakukan untuk mengantisipasi masalah-
masalah Antarmuka dan perancangan jalur penanganan Kesalahan antar sistem pada
perangkat lunak. Pengujian sistem dilakukan dengan mensimulasikan Data salah atau data
yang berpotensi salah pada Antarmuka perangkat lunak.
Pengujian sistem terdiri Dari beberapa proses pengujan yang berbeda Karakteristiknya.
Pengujian ini mempunyai tujuanUtama untuk melakukan validasi sistem secaraKeseluruhan
dan melihat apakah proses integrasi dan kinerja masing-masing elemen sistem sesuai dengan
yang dibutuhkan. Pengujian ini juga berfokus pada validasi apakah perangkat lunak sudah
sesuai dengan harapanpemakai.Pengujian ini dilakukan secara black-box danspecification-
based testing. Urutan pengujian inidituangkan dalam perencanaan pengujian (test plan),yaitu
dengan mendefinisikan prosedur pengujianyang kemudian dilanjutkan dengan menentukan
datauji.

7
BAB III
PENUTUP

3.1 Kesimpulan
Pengujian perangkat lunak adalah proses atau rangkaian proses yang dirancang untuk
memastikan bahwa program computer menjalankan apa yang seharusnya dilakukan dan
sebaliknya, memastikan program agar tidak melakukan hal yang tidak diharapkan.
White box testing atau yang dapat diartikan menjadi “pengujian kotak putih” adalah
pengujian yang dilakukan untuk menguji perangkat lunak dengan cara menganalisa dan meneliti
struktur internal dan kode dari perangkat lunak.
Black box testing atau dapat disebut juga Behavioral Testing adalah pengujian yang
dilakukan untuk mengamati hasil input dan output dari perangkat lunak tanpa mengetahui
struktur kode dari perangkat lunak. Pengujian ini dilakukan di akhir pembuatan perangkat lunak
untuk mengetahui apakah perangkat lunak dapat berfungsi dengan baik.
Strategi pengujian perangkat lunak dapat dipandang sebagai urutan langkah seperti pada
pengembangan perangkat lunak. Strategi pengujian perangkat lunak secara berurutan adalah
pengujian unit (unit testing), integration testing dan system testing.

3.2 Saran
Penulis sadar bahwa makalah ini sebenarnya masih banyak kekurangan dan termasuk jauh
dari kata sempurna. Oleh karena itu Penulis sangat mengharapkan saran dan kritik yang
membangun dari pembaca agar makalah ini bisa lebih sempurna semoga makalah ini dapat
memberi manfaat bagi kami dan para pembaca. Disarankan kepada para pembaca untuk dapat
melanjutkan pembahasan atau referensi lain yang berkaitan dengan Rekayasa Perangkat Lunak.

8
DAFTAR PUSTAKA

Crispin, L., & Gregory, J. (2009). Agile testing: A practicalguidefortestersandagileteams.


PearsonEducation
https://www.dicoding.com/blog/black-box-testing/
https://www.dicoding.com/blog/white-box-testing/

Anda mungkin juga menyukai