Anda di halaman 1dari 26

Pengujian Sistem Informasi

Diajukan Guna Memenuhi Salah Satu Tugas Mandiri


Matakuliah Perancaangan Sistem Informasi
( Dosen Pengampu : Drs. Muhtajuddin Danny, S.Kom., M.Kom. )

MAKALAH

OLEH:
NAMA : Johan Putra Pradana
NIM : 312110314
KELAS : TI.21.B2

PROGRAM STUDI TEKNIK INFORMTIKA


FAKULTAS ILMU TEKNIK
UNIVERSITAS PELITA BANGSA
BEKASI 2023
BAB I Pendahuluan

1.1. Latar belakang


Pengujian Sistem, juga dikenal sebagai pengujian tingkat sistem atau pengujian
integrasi sistem, adalah proses di mana tim jaminan kualitas (QA) mengevaluasi
bagaimana berbagai komponen suatu aplikasi berinteraksi satu sama lain dalam sistem
atau aplikasi terintegrasi secara penuh.
Pada saat kita akan memakai suatu software, sebaiknya kita sudah melakukan
pengujian (testing) dulu atas software tersebut. Kalaupun tidak melakukan pengujian
sendiri, kita juga sudah yakin bahwa software tersebut sudah pernah diuji sebelumnya
oleh orang/pihak lain. Software yang berasal dari pabrik misalnya (Microsoft), tentu
sudah lolos dari uji, karena masalah pengujian telah menjadi bahasan yang vital di pabrik
tersebut, Ini sudah dilakukan jauh-jauh hari sebelum produk itu di-release kepada user.
Testing software kali ini diasumsikan jika kita membuat software sendiri. Testing
software ini tentu harus dipertimbangkan pada saat pembuatan software. Sehingga dalam
pembuatan software dapat memperhatikan pada bagian mana yang perlu mendapat
pengujian. Dengan begitu, software hasil bikinan kita sendiri dapat lebih baik dan sesuai
dengan harapan. Seperti yang telah di ketahui bersama, pada hampir semua model
pengembangan rekayasa perangkat lunak mempunyai tahapan testing. Seperti pada model
RAD (Rapid Application Development) yang disampaikan oleh Roger S. Pressman, maka
tahapan RAD mempunyai fase sebagai berikut : business modeling, data modeling,
processing model, application generation, dan testing and turnover. Untuk lebih jelasnya,
berikut ini disajikan gambar dari tahapan tersebut.

1
1.2. Tujuan Pengujian
Pada dasarnya pengujian sistem bertujuan untuk memastikan bahwa sistem yang
dibuat bisa berjalan dengan baik sesuai dengan yang di harapkan.

1.3. Metode Pengujian


1. Metode pengujian Black box atau Black box Testing.
2. Metode pengujian White box atau White box Testing.

1.4. Manfaat Pengujian


1. Testing yang dilakukan pada sudut pandang pengguna dapat membantu dalam
menemukan masalah dan kesalahan yang tidak sesuai dengan yang di
harapkan.
2. Tester atau penguji tidak perlu mengetahui bagaimana sistem dapat berjalan
atau menguasai bahasa pemrograman apapun.
3. Pengujian dapat dilakukan pada tahap awal, tidak perlu menunggu Tampilan
Pengguna atau User Interface sudah jadi atau belum.
4. Pengujian dapat dilakukan dengan lebih mendalam sehingga dapat
memungkinkan menemukan kesalahan yang tersembunyi.

2
BAB II Pembahasan

2.1. Strategi Pengujian


2.1.1 Strategi pengujian menggunakan Black Box Testing

Black box testing adalah proses menguji fungsi perangkat lunak (software) atau
aplikasi dari sudut pandang pengguna, tanpa mengetahui struktur internal atau desain
struktur tersebut. Sederhananya, black box testing hanya melakukan penilaian dari apakah
sistem bisa memberikan output atau hasil sesuai dengan input (informasi atau instruksi
yang diterima sistem). Jika hasilnya sesuai, maka sistem dinyatakan bisa berfungsi
dengan baik. Jika sistem gagal menjalankan prosedur yang diminta, maka dinyatakan
butuh perbaikan. Karena itu black box testing juga disebut dengan behavioral testing,
closed-box, atau specification-based testing.
2.1.2 Strategi - strategi Black Box Testing
1. Equivalence Partitioning Technique
Strategi ini membagi data input menjadi dua bagian, yaitu nilai valid dan invalid,
dan dilakukan pengujian secara terpisah. Kedua bagian tersebut harus
menunjukkan perilaku yang sama untuk dinyatakan pengujian berhasil.
2. Boundary Value Technique
Strategi boundary value digunakan untuk menguji error pada nilai batas atas dan
bawah suatu variabel. Misalnya, variabel usia memiliki batas bawah (minimum)
yaitu 18 tahun, dan batas atasnya (usia maksimum) adalah 30 tahun. Teknik ini
digunakan karena banyak aplikasi yang memiliki masalah pada nilai batas,
terutama batas atas.

3
3. All-pair Testing Technique
Strategi ini menguji seluruh kemungkinan kombinasi data diskrit. Data diskrit
adalah data dengan nilai yang pasti dan terbatas, biasanya dalam bentuk bilangan
bulat atau ganjil. Misalnya, 2 kucing, 1 laptop, 5 baju. Metode kombinasi ini
digunakan untuk menguji aplikasi yang menggunakan input kotak centang, input
tombol radio, kotak daftar, kotak teks, dan lain-lain.
4. Decision Table Technique
Strategi ini dilakukan dengan pendekatan sistematis, di mana kombinasi input
dirangkum dalam sebuah tabel. Decision table technique cocok untuk menguji
fungsi yang memiliki hubungan logis antara dua atau lebih input. Sebagai contoh,
Johan ingin log in ke Facebook. Sebelumnya, ia diminta untuk memasukkan e-
mail dan password yang telah disimpan oleh Facebook. Jika Johan memasukkan
e-mail dan password yang benar, maka ia diarahkan ke halaman Beranda
Facebook-nya. Tapi jika Johan memasukkan e-mail dan password yang salah, ia
akan tetap di halaman log in.
5. State Transition Technique
Strategi state transition digunakan untuk mengetahui apakah fungsi software bisa
bekerja jika mendapatkan nilai input yang berbeda. Hal ini karena keadaan output
sistem bisa berubah tergantung pada kondisi atau peristiwa. State transition
technique digunakan pada jenis aplikasi yang memberikan jumlah percobaan
tertentu untuk mengakses aplikasi. Misalnya seperti pada ATM, jika user
memasukkan PIN yang salah berkali-kali maka output-nya adalah PIN terblokir
dengan sendirinya.
6. Cause-Effect Technique
Cause-effect technique menggunakan grafik untuk menggambarkan hubungan
antara penyebab error dan efeknya.
7. Error Guessing Technique
Pada Strategi ini, identifikasi error pada aplikasi didasarkan pada pengalaman dan
pengetahuan penguji.

4
8. Use Case Technique
Strategi ini menguji setiap fungsi software dengan cara menjalankan sistem dari
tahap awal hingga akhir.
2.1.3 Kelebihan & Kekurangan Black Box Testing
Black box testing adalah tes yang khusus dirancang untuk mencari error sistem
dari sudut pandang pengguna. Siapapun bisa melakukan black box testing, tidak
harus orang dengan latar belakang programming.
▪ Kelebihan lain dari black box testing meliputi :
1. Pengujian dapat langsung dilakukan setelah software dikembangkan.
2. Black box testing efektif untuk menguji aplikasi yang besar dan kompleks.
3. Error dan inkonsistensi sistem bisa dideteksi pada awal pengujian.
▪ Kekurangan Black Box Testing meliputi :
1. Jika penguji tak memiliki latar belakang programming, ada kemungkinan penguji
mengabaikan kondisi atau masalah yang seharusnya ingin diujikan.
2. Black box testing tidak bisa melakukan complete test coverage, yaitu pengujian
yang melibatkan kode yang digunakan.
3. Ada kemungkinan black box testing tidak menguji kemungkinan input yang bisa
terjadi dan output-nya.
2.1.4 Strategi Pengujian menggunakan White Box Testing

White box testing adalah suatu pengujian oleh software atau aplikasi
dengan melihat modul untuk menganalisis kode program ada yang salah atau
tidak. Bila suatu modul yang diproduksi tidak memenuhi syarat, kode akan
dikompilasi ulang dan periksa lagi hingga mencapai apa yang diharapkan dalam
arti bahwa white box testing menguji dengan cara melihat pure code dari suatu
perangkat lunak atau aplikasi yang diuji tanpa mempedulikan tampilan atau UI
dari aplikasi tersebut.

5
2.1.5 Strategi - strategi White Box Testing
1. Statement coverage
Statement coverage adalah Strategi yang dilakukan untuk melewati semua
pernyataan setidaknya satu kali. Setiap jalur coding akan diuji. Dengan demikian,
kamu bisa menemukan kode mana yang salah.
2. Branch coverage
Branch coverage dalam white box testing adalah teknik yang dirancang agar
setiap cabang dilewati setidaknya satu kali.
3. Condition coverage
Dalam strategi yang satu ini, semua kondisi harus diuji untuk menghasilkan nilai
TRUE atau FALSE.
4. Multiple condition coverage
Multiple condition coverage adalah strategi yang dilakukan untuk menguji semua
kombinasi yang mungkin dari berbagai kondisi yang ada. Semua kombinasi
tersebut harus diuji setidaknya satu kali.
5. Basis path testing
Basis path testing dalam white box testing adalah pengukuran kompleksitas kode
program dan pendefinisian alur yang akan dieksekusi. Strategi yang diusulkan
oleh Tom McCabe ini memungkinkan kamu untuk mendapat ukuran
kekompleksan logical dari perancangan prosedural. Ukuran ini dapat dijadikan
sebagai petunjuk untuk mendefinisikan basis set dari jalur pengerjaan.
6. Loop testing
Loop adalah hal mendasar bagi banyak algoritma. Oleh karena itu, teknik yang
satu ini tidak boleh terlewatkan. Dalam loop testing, kamu akan menguji berbagai
loop, seperti while, for, dan do-while. Kamu juga akan memeriksa kondisi akhir
loop, apakah sudah berjalan dengan benar atau belum. Ada tiga jenis loop testing
yang bisa kamu lakukan, yaitu simple loops, nested loops, dan concatenated loops.

6
2.1.6 Kelebihan & Kekurangan White Box Testing
▪ Kelebihan White Box Testing yaitu :
1. Mampu menemukan kesalahan internal yang mungkin tersembunyi, karena White
Box Testing mampu memeriksa dengan fungsionalitas internal.
2. Membantu menemukan masalah dan mengoptimalkan kode untuk mengadopsi
berbagai teknik.
3. Struktur pengkodean internal yang lebih transparan.
4. Pengujian menyeluruh dengan mencakup semua kemungkinan jalur kode.
5. Kasus dengan White Box Testing dapat dengan mudah diotomatisasi.
6. Dapat memulai pengujian lebih awal atau pada tahap sebelumnya, tidak perlu
menunggu seluruh modul tersedia.
7. Proses pengujian lebih inklusif, menyediakan lebih banyak cakupan ke bagian
aplikasi, sehingga dapat meningkatkan kemungkinan pengujian pada sebagian
besar jalur.
▪ Kekurangan White Box Testing yaitu :
1. Desain White Box Testing terbilang canggih sehingga membutuhkan
keterampilan pemrograman yang relevan dan sumber daya yang memiliki
pengetahuan menyeluruh tentang desain aplikasi.
2. Membutuhkan tenaga dan upaya yang lebih ekstra untuk mengelola kode
pengujian dan script.
3. Perubahan kode sering memerlukan eksekusi ulang, dan bahkan terkadang
mengarah ke jalur baru untuk pengujian.
4. Prosedur White Box Testing terbilang cukup rumit dan mahal.
5. White Box Testing yang dilakukan oleh pengembang yang tidak detail dapat
menyebabkan kesalahan produksi.
6. Pembaruan pengujian script sering diperlukan setiap kali terjadi perubahan dalam
kode.
7. White Box Testing memerlukan pengujian menyeluruh untuk pernagkat lunak
yang berukuran besar.
8. White Box Testing tidak selalu bisa dilakukan untuk menguji berbagai kondisi.

7
9. Perlunya membuat berbagai input yang menjadikan proses White Box Testing
sangat memakan waktu lebih banyak, terutama pada perangkat lunak
pemrograman yang lebih besar.
2.2. Pengujian Fungsionalitas
2.2.1 Apa itu Pengujian Fungsionalitas?
Pengujian fungsional adalah proses jaminan kualitas (QA) dan jenis pengujian
Black Box yang mendasarkan kasus pengujiannya pada spesifikasi komponen perangkat
lunak yang diuji. Fungsi diuji dengan memberikan masukan dan memeriksa keluaran, dan
struktur program internal jarang dipertimbangkan (tidak seperti pengujian White Box ).
Pengujian perangkat lunak fungsional dilakukan untuk mengevaluasi kepatuhan suatu
sistem atau komponen dengan persyaratan fungsional yang ditentukan . Pengujian
fungsional biasanya menggambarkan apa yang dilakukan sistem. Karena pengujian
fungsional adalah jenis pengujian Black Box, fungsionalitas perangkat lunak dapat diuji
tanpa mengetahui cara kerja internal perangkat lunak. Artinya penguji tidak perlu
mengetahui bahasa pemrograman atau bagaimana perangkat lunak diimplementasikan.
Hal ini, pada gilirannya, dapat mengurangi bias pengembang (atau bias konfirmasi
) dalam pengujian karena penguji tidak terlibat dalam pengembangan perangkat lunak.
Pengujian fungsional tidak berarti Anda sedang menguji fungsi (metode) modul atau
kelas Anda. Pengujian fungsional menguji sebagian fungsionalitas keseluruhan sistem.
Pengujian fungsional berbeda dari pengujian sistem dalam pengujian fungsional "
memverifikasi suatu program dengan memeriksanya terhadap dokumen atau spesifikasi
desain", sedangkan pengujian sistem " memvalidasi suatu program dengan memeriksanya
terhadap pengguna yang dipublikasikan atau persyaratan sistem." Konsep
menggabungkan pengujian di awal siklus pengiriman tidak terbatas pada pengujian
fungsional.

8
2.2.2 Jenis Pengujian Fungsional

Unit Testing : Ini dilakukan oleh pengembang yang menulis skrip yang menguji
apakah masing-masing komponen/unit aplikasi sesuai dengan persyaratan. Hal ini
biasanya melibatkan tes penulisan yang memanggil metode di setiap unit dan
memvalidasinya ketika metode tersebut mengembalikan nilai yang sesuai dengan
persyaratan.
Dalam pengujian unit, cakupan kode adalah wajib. Pastikan ada kasus uji yang
mencakup hal-hal berikut:
• Cakupan garis
• Cakupan jalur kode
• Cakupan metode
Smoke Testing : Ini dilakukan setelah rilis setiap build untuk memastikan
stabilitas perangkat lunak tetap utuh dan tidak menghadapi anomali apa pun.
Contoh : Sebuah perusahaan utilitas membuat aplikasi dengan fungsi untuk
melaporkan pemadaman listrik di rumah pelanggan. Fungsi ini melaporkan alamat
dan informasi relevan lainnya serta memberi tahu pemilik rumah ketika petugas
operator sedang dalam perjalanan untuk membantu. Pengujian asap akan
memvalidasi fitur ini pada tingkat mendasar untuk memastikan bahwa ketika
pemadaman listrik dilaporkan, informasi yang benar dikirimkan sehingga petugas
operator dapat tiba di sana tepat waktu.

9
Sanity Testing : Biasanya dilakukan setelah pengujian asap, pengujian ini
dijalankan untuk memverifikasi bahwa setiap fungsi utama suatu aplikasi bekerja
dengan sempurna, baik sendiri maupun dikombinasikan dengan elemen lain.
Contoh : Pada halaman web e-commerce, pengguna tidak dapat menambahkan
produk tertentu ke keranjang mereka meskipun stok tersedia. Setelah masalah
diperbaiki, pengujian kewarasan dilakukan untuk memastikan bahwa fungsi
“tambahkan ke troli” memang berfungsi.
Regression Testing : Pengujian ini memastikan bahwa perubahan pada basis
kode (kode baru, strategi debugging, dll.) tidak mengganggu fungsi yang sudah
ada atau memicu ketidakstabilan.
Contoh : Aplikasi pesan-antar makanan menambahkan fungsi untuk membantu
pengguna menambahkan beberapa promosi secara bersamaan. Uji regresi perlu
dilakukan untuk memastikan proses checkout dan pembayaran tidak terpengaruh.
Integration Testing : Jika suatu sistem memerlukan beberapa modul fungsional
untuk bekerja secara efektif, pengujian integrasi dilakukan untuk memastikan
bahwa masing-masing modul berfungsi seperti yang diharapkan ketika
dioperasikan dalam kombinasi satu sama lain. Hal ini memvalidasi bahwa hasil
end-to-end dari sistem memenuhi standar yang diperlukan.
Usability Testing : Pada tahap ini, pelanggan sebenarnya menguji produk di
lingkungan produksi. Tahap ini diperlukan untuk mengukur seberapa nyaman
pelanggan dengan antarmuka. Masukan mereka digunakan untuk menerapkan
perbaikan lebih lanjut terhadap kode ini.
2.2.3 Langkah-langkah untuk melakukan Pengujian fungsional
1. Tentukan fitur produk Langkah pertama dalam evaluasi fungsional melibatkan
penentuan fungsionalitas perangkat lunak. Persyaratan klien dapat mempengaruhi
fitur perangkat lunak. Mengidentifikasi fitur memungkinkan Anda memilih unit
perangkat lunak mana yang memerlukan pengujian. Anda juga dapat memutuskan
aspek komponen mana yang akan diuji. Misalnya, kemudahan penggunaan
mungkin penting dalam aplikasi seluler. Pada langkah ini, Anda dapat memilih
untuk menguji unit perangkat lunak tertentu, kegunaan perangkat lunak, kondisi
kesalahan, atau fungsionalitas dasar.

10
2. Identifikasi data masukan Data masukan adalah informasi yang diproses oleh
sistem. Persyaratan dan fitur sistem dapat mempengaruhi jenis data masukan.
Bergantung pada fitur produk, Anda dapat membuat data yang memerintahkan
sistem untuk melakukan tugas tertentu. Masukan ini dapat menentukan apakah
perangkat lunak melakukan pekerjaan seperti yang Anda harapkan. Anda dapat
menggunakan data masukan sebelumnya dari pengujian fungsional lama atau
membuat data baru jika sistem lebih baru.
3. Tentukan keluaran sistem Nilai keluaran sistem bergantung pada data masukan
dan cara kerja sistem. Misalnya, fungsi sistem mungkin menjumlahkan semua
nilai masukan. Jika Anda menggunakan angka 20, 30 dan 40 sebagai input, Anda
mengharapkan outputnya menjadi 20+30+40=90. Saat menguji fungsionalitas
sistem, Anda dapat membandingkan keluaran sistem dengan keluaran yang Anda
harapkan.
4. Jalankan kasus uji Test case adalah pengujian fungsional yang menunjukkan
fungsionalitas sistem. Menjalankan lebih dari satu kasus pengujian akan sangat
membantu untuk memberi Anda wawasan yang tepat tentang kinerja dan operasi
sistem. Misalnya, jika sistem mengidentifikasi nilai terkecil dalam suatu rentang
angka, Anda dapat mengujinya menggunakan rentang angka positif dan negatif.
Mencatat hasil kasus uji dapat memungkinkan Anda melacak kegagalan fungsi
sistem.
5. Bandingkan hasil aktual dan yang diharapkan Hasil yang diharapkan adalah hasil
yang Anda tentukan selama spesifikasi persyaratan. Menjalankan perangkat lunak
memberi Anda hasil sistem yang sebenarnya. Membandingkan kedua nilai
tersebut dapat menunjukkan apakah sistem berfungsi seperti yang Anda harapkan.

2.3. Pengujian Kinerja Dan Beban


2.3.1 Apa itu Pengujian Kinerja ?
Pengujian kinerja adalah nama umum untuk Pengujian yang memeriksa
bagaimana sistem berperilaku dan bekerja. Pengujian kinerja perangkat lunak memeriksa
daya tanggap, stabilitas, skalabilitas, keandalan, kecepatan, dan penggunaan sumber daya
perangkat lunak dan infrastruktur Anda.

11
Berbagai jenis pengujian kinerja memberi Anda data yang berbeda, seperti yang
akan kami jelaskan lebih lanjut. Sebelum pengujian kinerja, penting untuk menentukan
tujuan bisnis sistem Anda, sehingga Anda dapat mengetahui apakah sistem Anda
berperilaku memuaskan atau tidak sesuai dengan kebutuhan pelanggan Anda. Setelah
menjalankan uji performa, Anda dapat menganalisis berbagai KPI, seperti jumlah
pengguna virtual, klik per detik, kesalahan per detik, waktu respons, latensi, dan byte per
detik (throughput), serta korelasi di antara keduanya. Melalui berbagai laporan pengujian,
Anda dapat mengidentifikasi hambatan, bug, dan kesalahan, lalu memutuskan apa yang
perlu dilakukan.
2.3.2 Kapan Menggunakan Pengujian Kinerja?
Jalankan pengujian kinerja saat Anda ingin memeriksa kinerja situs web dan
aplikasi, yang mungkin mencakup pengujian server, database, jaringan, dll. Jika Anda
mengikuti metodologi air terjun, uji setidaknya sekali sebelum Anda merilis versi baru
aplikasi Anda. Jika Anda bergeser ke kiri dan bergerak dengan gesit, Anda harus
melakukan pengujian secara terus menerus.
Gambar berikut menunjukkan contoh laporan pengujian kinerja di BlazeMeter .
Ini adalah pengujian yang bagus, mengingat bertambahnya jumlah pengguna tidak
mempengaruhi waktu respons, tingkat kesalahan tetap rendah, dan jumlah klik per detik
sejalan dengan jumlah pengguna virtual.

12
2.3.3 Apa itu Pengujian Beban?
Pengujian beban adalah jenis pengujian kinerja yang memeriksa bagaimana
sistem berfungsi berdasarkan proyeksi jumlah pengguna virtual secara bersamaan yang
melakukan transaksi selama periode waktu tertentu. Dengan kata lain, pengujian beban
mengukur bagaimana sistem menangani volume beban yang diharapkan. Ada beberapa
jenis alat pengujian beban sumber terbuka , JMeter adalah yang paling populer.
2.3.4 Kapan Menggunakan Pengujian Beban?
Manfaatkan pengujian beban ketika Anda ingin menentukan apakah sistem Anda
dapat mendukung perkiraan jumlah pengguna secara bersamaan. Anda dapat
mengonfigurasi pengujian untuk menyimulasikan berbagai skenario pengguna yang
dapat berfokus pada berbagai bagian sistem Anda (seperti halaman checkout, misalnya).
Anda dapat menentukan bagaimana perilaku beban ketika datang dari lokasi geografis
yang berbeda atau bagaimana beban dapat bertambah, lalu naik ke tingkat yang
berkelanjutan. Pengujian beban harus dilakukan setiap saat untuk memastikan sistem
Anda selalu siap pakai, oleh karena itu pengujian beban harus diintegrasikan ke dalam
siklus integrasi berkelanjutan Anda (menggunakan alat seperti Jenkins dan Taurus .)
Gambar berikut menunjukkan tampilan tes beban di JMeter. Pengujian ini
menganalisis penambahan 100 pengguna setiap 30 detik hingga mencapai 1.000
pengguna. Seluruh proses loncatan memakan waktu 300 detik. Setelah mencapai 1.000
thread, semuanya akan terus berjalan dan masuk ke server secara bersamaan selama 5
menit.

13
2.3.5 Langkah langkah melakukan Pengujian Kinerja
▪ Tentukan Metrik Tes
Tentukan metrik yang ingin Anda uji. Misalnya, tentukan waktu respons yang
dapat diterima atau tingkat kesalahan yang tidak dapat diterima. KPI ini harus
diturunkan berdasarkan persyaratan produk dan kebutuhan bisnis. Jika Anda
menjalankan pengujian ini terus-menerus, Anda dapat menggunakan pengujian
dasar untuk menerapkan SLA ini.
▪ Tentukan Skenario Pengujian
Rincikan skenario mana yang akan Anda uji. Misalnya, jika Anda memiliki situs
e-niaga, Anda dapat menguji alur pembayaran.
▪ Pilih Platform Pengujian
Ada banyak solusi open source yang bagus di luar sana, seperti JMeter, Taurus,
dan Gatling. Anda juga dapat menggunakan BlazeMeter untuk mendapatkan
kemampuan tambahan seperti lebih banyak geolokasi, data pengujian, dan
pelaporan tingkat lanjut.
▪ Konfigurasikan Skrip Tes
▪ Buat skrip di alat pengujian kinerja. Simulasikan beban yang diharapkan,
kemampuan yang Anda uji, frekuensi pengujian, peningkatan, dan bagian lain dari
skenario. Untuk menyederhanakan prosesnya, Anda dapat merekam skenario dan
kemudian mengeditnya agar akurat. Jika Anda memerlukan data pengujian,
tambahkan ke skrip.
▪ Jalankan Tes
Jalankan tes. Ini adalah bagian yang sederhana. Biasanya Anda mengklik
"jalankan."
▪ Pantau Hasil
Analisis hasil pengujian untuk mengidentifikasi hambatan, masalah kinerja, atau
masalah lainnya. Anda dapat menggunakan dasbor yang disediakan oleh alat
pengujian kinerja atau Anda dapat melihat solusi seperti APM untuk informasi
lebih lanjut.
▪ Optimalkan dan Uji Ulang
Perbaiki masalah kinerja dan uji ulang aplikasi hingga memenuhi persyaratan
kinerja.

14
2.3.6 Langkah langkah melakukan Pengujian Beban
▪ Mulai
Saat kita memulai proses multi-langkah, kita harus dengan jelas menguraikan dan
menganalisis langkah-langkah utama serta menentukan maksud dan tujuan proses
tersebut. Penerapan pengujian beban tidak terkecuali. Sebelum memulai
pekerjaan itu sendiri, Anda harus melakukan tindakan berikut:
• Kumpulkan persyaratan : Identifikasi fungsi utama untuk diuji dan fokus pada
apa yang membentuk pengalaman pengguna.
• Jelaskan langkah-langkah pengguna : Jelaskan interaksi pengguna dengan
program. Gunakan pemantauan APM untuk data tambahan.
• Tetapkan garis dasar : Jalankan pengujian untuk menentukan garis dasar
kinerja yang stabil. Penyimpangan dari indikator ini menunjukkan
kemungkinan masalah.
• Otomatiskan dan integrasikan : Prioritaskan pengujian beban dalam proses
CI/CD Anda. Integrasikan dengan alat yang ada.
Langkah-langkah ini akan memberikan dasar yang kuat untuk memulai pengujian
beban aplikasi Anda dengan sukses.
▪ Bekerja dengan kriteria penerimaan
Kriteria penerimaan adalah kondisi penting yang harus dipenuhi oleh hasil uji
beban agar dapat diterima. Kriteria penerimaan yang ditentukan secara kompeten
membantu menghindari kejadian yang tidak terduga dalam kondisi alamiah dan
menjamin kepuasan semua pihak yang berkepentingan dan pengguna dengan hasil
yang diperoleh. Kriteria ini harus ditentukan sebelum pengujian dibuat
berdasarkan hasil yang diharapkan dan diperlukan dari program. Beberapa kriteria
yang lebih umum dan penting meliputi :
• Waktu reaksi
• Persentase kesalahan
• Menggunakan prosesor
• Penggunaan memori
• Menggunakan disk

15
Kriteria penerimaan pengujian yang ditentukan dan digunakan dengan benar akan
membantu memastikan kualitas dan keandalan pengujian beban, berkontribusi
pada pengalaman pengguna yang positif dan kepercayaan diri dalam
pengoperasian perangkat lunak.
▪ Siapkan data dengan cermat
Agar pengujian beban berhasil, sangat penting untuk memilih data yang akan
digunakan selama pengujian dengan cermat. Karena tujuan stress test adalah
untuk mensimulasikan beban kerja aplikasi yang sebenarnya, jumlah dan kualitas
data mempunyai pengaruh yang menentukan pada realisme skenario pengujian.
Penting untuk diingat bahwa meningkatkan volume data saja tidak cukup –
kualitasnya juga sangat penting. Data harus mewakili dan mencerminkan skenario
penggunaan program pengguna. Hal ini akan memungkinkan Anda mereproduksi
kondisi nyata dengan lebih akurat dan mengidentifikasi potensi masalah yang
mungkin timbul pada beban sebenarnya. Oleh karena itu, data yang dipilih secara
memadai untuk pengujian beban akan menciptakan skenario pengujian yang lebih
akurat, realistis, dan praktis, sehingga memungkinkan deteksi dan penyelesaian
potensi masalah secara tepat waktu sebelum masalah tersebut terjadi dalam
kondisi produksi nyata.
▪ Membuat kasus uji
Menghasilkan kasus uji memainkan peran penting dalam menentukan kinerja dan
keandalan sistem. Tahap kritis ini memungkinkan Anda menetapkan tingkat
fungsi optimal dan mengumpulkan informasi untuk analisis komparatif di masa
depan. Masuk akal untuk berfokus pada fitur-fitur penting aplikasi yang paling
sering digunakan pengguna – misalnya, dalam e-niaga, ini bisa berupa tombol
beli. Saat membuat kasus uji, pertimbangkan faktor-faktor penting berikut:
• Beban yang diharapkan : Tentukan beban yang diharapkan yang harus
ditangani oleh program. Ini akan memungkinkan Anda mengatur jumlah
beban kerja yang optimal.
• Kesesuaian : Pastikan aplikasi merespons setiap permintaan seperti yang
diharapkan. Pastikan semua fungsi memenuhi kinerja yang diharapkan.

16
• Waktu respons yang diinginkan : Tentukan total waktu yang diperlukan
untuk menerima respons terhadap permintaan. Ini akan membantu
mengevaluasi kinerja dan waktu respons sistem.
Kasus pengujian khusus memungkinkan Anda mengevaluasi respons
aplikasi terhadap berbagai kondisi penggunaan, termasuk performa fitur
penting yang paling sering digunakan pengguna.
▪ Uji eksekusi
Selama pengujian beban, pengujian melakukan tindakan spesifik untuk memantau
hasil dan memverifikasi kelayakan lingkungan pengujian. Langkah-langkah ini
penting agar pengujian jenis ini berhasil, sehingga akan membantu memastikan
keakuratan hasil. Selain itu, periksa fungsionalitas mesin server selama
pengujian beban. Indikator penggunaan prosesor harus tetap pada level tidak lebih
tinggi dari 75% dan jumlah RAM - pada level 70%. Jika ambang batas ini
terlampaui, pertimbangan harus diberikan untuk mengoptimalkan sistem dengan
meningkatkan kapasitas server.
2.3.7 Kasus Penggunaan dan Contoh Pengujian Beban
Berikut adalah beberapa dari banyak kemungkinan kasus penggunaan :
▪ Situs Web Maskapai Selama Periode Promosi : Mengevaluasi situs web maskapai
penerbangan yang akan meluncurkan penawaran promosi penerbangan dan
mengharapkan 10.000+ pengguna sekaligus.
▪ Portal Web Pemerintah. Mengevaluasi suatu website instansi pemerintah,
khususnya pada saat tanggal penyampaian SPT PPh ketika traffic akan melonjak.
▪ Menjalankan banyak permintaan secara bersamaan di server , sehingga membuat
server terkena volume lalu lintas yang sangat besar.
▪ Transfer tanpa henti beberapa file ke dan dari hard disk . Hal ini dapat berupa
pengukuran kecepatan laptop dengan transfer file 8GB-15GB ke dan dari laptop
dengan kecepatan 1 Mbps.
▪ Mengunduh file besar dalam jumlah besar dari situs web perusahaan untuk
menguji kinerja.
▪ Meminta berbagai pekerjaan pada printer dalam antrian secara bersamaan.

17
2.3.8 Kasus Penggunaan dan Contoh Pengujian Kinerja
▪ Verifikasi waktu respons tidak lebih dari 4 detik ketika 1000 pengguna mengakses
situs web secara bersamaan.
▪ Verifikasikan waktu respons Aplikasi yang Sedang Dimuat berada dalam kisaran
yang dapat diterima ketika konektivitas jaringan lambat.
▪ Periksa jumlah maksimum pengguna yang dapat ditangani oleh aplikasi sebelum
aplikasi mogok.
▪ Periksa waktu eksekusi database ketika 500 record dibaca/ditulis secara
bersamaan.
▪ Periksa penggunaan CPU dan memori aplikasi dan server database dalam kondisi
beban puncak.
▪ Verifikasi waktu respons aplikasi dalam kondisi beban rendah, normal, sedang,
dan berat.
Selama pelaksanaan uji kinerja sebenarnya, istilah yang tidak jelas seperti
jangkauan yang dapat diterima, beban berat, dll. digantikan dengan angka yang
konkret. Insinyur kinerja menetapkan angka-angka ini sesuai kebutuhan bisnis
dan lanskap teknis aplikasi.
2.3.9 Alat Pengujian Kinerja
1. LoadNinja
Merevolusi cara kami memuat pengujian. Alat pengujian beban berbasis cloud ini
memberdayakan tim untuk merekam & langsung memutar pengujian beban
komprehensif, tanpa korelasi dinamis yang rumit & menjalankan pengujian beban
ini di browser nyata dalam skala besar. Tim dapat meningkatkan cakupan tes. &
memotong waktu pengujian beban lebih dari 60%.
2. BlazeMeter
Adalah satu-satunya platform pengujian yang lengkap dan berkelanjutan di pasar.
Alat pengujian kinerja canggih ini mendukung aplikasi yang andal. Penguji dapat
memanfaatkan fitur-fitur canggih seperti layanan tiruan, data pengujian sintetis,
serta pengujian dan pemantauan API. Dapat diskalakan hingga 2 juta pengguna.

18
3. HP LoadRunner
adalah alat pengujian kinerja paling populer di pasaran saat ini. Alat ini mampu
mensimulasikan ratusan ribu pengguna, menempatkan aplikasi di bawah beban
nyata untuk menentukan perilaku mereka di bawah beban yang diharapkan.
Loadrunner memiliki fitur generator pengguna virtual yang mensimulasikan
tindakan pengguna manusia secara langsung.
4. Jmeter
Salah satu alat terkemuka yang digunakan untuk pengujian beban server web dan
aplikasi.

2.3.10 Alat Pengujian Beban


1. WebLOAD dari RadView
WebLOAD dari RadView memberdayakan para profesional kinerja yang paling
menuntut di dunia dengan pengujian beban skala perusahaan.
2. LoadComplete dari SmartBear
Sebuah alat desktop untuk pengujian beban, tekanan, dan skalabilitas untuk situs
web dan aplikasi web, LoadComplete oleh SmartBear tidak memerlukan
keterampilan pengkodean tangkat lanjut – artinya Anda dapat fokus pada tugas
yang lebih penting.
3. NeoLoad
NeoLoad adalah platform pengujian kinerja otomatis untuk organisasi perusahaan
yang terus-menerus menguji aplikasi dan API. Platform ini menyediakan desain
dan pemeliharaan pengujian otomatis bagi penguji dan pengembang, simulasi
perilaku pengguna yang realistis, analisis akar masalah yang cepat, dan integrasi
bawaan dengan seluruh rangkaian alat SDLC. NeoLoad memungkinkan Anda
menggunakan kembali dan membagikan aset pengujian dan hasil dari alat
pengujian fungsional ke analitik dan metrik dari alat APM. Ini mendukung seluruh
rangkaian aplikasi seluler, web, dan paket, seperti SAP, untuk terus
menjadwalkan, mengelola, dan berbagi sumber daya dan hasil pengujian di
seluruh organisasi guna memastikan kinerja aplikasi.

19
4. Locust
Locust adalah alat pengujian beban Sumber Terbuka yang memungkinkan Anda
menentukan perilaku pengguna menggunakan Python untuk menguji kinerja
sistem Anda di bawah jutaan pengguna yang disimulasikan dan simultan

20
BAB III Kesimpulan & Saran

3.1. Kesimpulan
Pengujian sistem informasi merupakan tahap kritis dalam pengembangan
perangkat lunak. Dalam konteks ini, metode pengujian seperti black box testing dan white
box testing memiliki peran yang penting. Berikut adalah kesimpulan dari penggunaan
kedua metode ini:
1. Black Box Testing:
o Black box testing fokus pada fungsionalitas dan interaksi antarmuka
pengguna.
o Keuntungan utama dari black box testing adalah kemampuannya untuk
mengidentifikasi masalah fungsional tanpa memerlukan pengetahuan
internal tentang implementasi sistem.
o Dapat mendeteksi kesalahan pengguna dan masalah kompatibilitas antara
komponen sistem.
o Pengujian ini memastikan bahwa sistem dapat berfungsi sesuai dengan
harapan pengguna.
2. White Box Testing:
o White box testing melibatkan pemeriksaan kode sumber dan struktur
internal sistem.
o Memungkinkan pengembang untuk mengidentifikasi masalah pada
tingkat kode, seperti kesalahan logika atau kelemahan keamanan.
o Memberikan wawasan mendalam tentang kualitas kode dan memastikan
bahwa struktur program mematuhi standar terbaik.
3.2. Saran
❖ Integrasi Kedua Metode : Kombinasikan black box testing dan white box
testing untuk hasil pengujian yang lebih komprehensif. Pengujian black
box memastikan bahwa sistem berfungsi dengan baik dari perspektif
pengguna, sementara white box testing membantu mengungkapkan
masalah internal pada tingkat kode.
❖ Automatisasi Pengujian : Automatisasikan pengujian untuk mempercepat
proses dan memastikan konsistensi. Tools otomatisasi dapat membantu
dalam mengidentifikasi masalah dengan cepat dan secara efisien,
meningkatkan produktivitas pengembang.
❖ Analisis Kode Statik : Gunakan analisis kode statik dalam white box
testing untuk mengidentifikasi potensi masalah seperti kode duplikat,
kompleksitas yang tinggi, dan ketidakpatuhan terhadap standar penulisan
kode.

21
❖ Uji Keamanan : Dalam konteks white box testing, fokuskan pada
pengujian keamanan sistem. Identifikasi potensi celah keamanan, dan
pastikan bahwa sistem tahan terhadap serangan seperti SQL injection,
cross-site scripting, dan serangan keamanan lainnya.
❖ Pelatihan dan Penyusunan Dokumentasi : Berikan pelatihan kepada tim
pengembang tentang praktik terbaik dalam pengujian black box dan white
box. Selain itu, dokumentasikan hasil pengujian dengan rinci, termasuk
masalah yang ditemukan dan langkah-langkah untuk reproduksi, sehingga
pengembang dapat merespons dan memperbaiki masalah dengan cepat.
Dengan menggabungkan kedua metode pengujian ini secara efektif dan
mengambil langkah-langkah tambahan seperti otomatisasi dan fokus pada keamanan,
pengembang dapat menghasilkan sistem informasi yang andal, aman, dan memenuhi
ekspektasi pengguna.

22
BAB IV Penutup

Dengan demikian Makalah “ Pengujian Sistem Informasi “ ini saya buat


berharap telah memberikan wawasan yang bermanfaat dan informasi yang
berguna bagi pembaca. Kami percaya bahwa Strategi Pengujian, Pengujian
Fungsionalitas, Pengujian Kinerja Dan Beban dalam system informasi memiliki
relevansi yang penting dalam konteks sebelum melakukan suatu kegiatan yang
berkaitan dengan sistem anda dan dapat menjadi landasan untuk penelitian lebih
lanjut di masa mendatang.
Kami mengucapkan terima kasih kepada semua pihak yang telah
mendukung dan memberikan kontribusi dalam penulisan makalah ini. Semoga
makalah ini dapat memberikan inspirasi dan kontribusi positif bagi perkembangan
ilmu pengetahuan dan masyarakat secara luas.
Terakhir, kami ingin menyampaikan apresiasi kami kepada pembaca yang
telah meluangkan waktu untuk membaca makalah ini. Semoga informasi yang
disajikan bermanfaat dan memberikan pemahaman yang lebih mendalam tentang
Strategi Pengujian, Pengujian Fungsionalitas, Pengujian Kinerja Dan Beban
dalam system informasi . Kami berharap makalah ini dapat menjadi referensi yang
berharga bagi pembaca di masa yang akan datang.
Sekian dari kami, terima kasih dan semoga sukses selalu menyertai
langkah-langkah kita dalam mengeksplorasi pengetahuan dan memperluas
pemahaman. Terima kasih."

Cikarang , 03 November 2023

( Johan Putra Pradana )

23
BAB V Referensi

1. https://www.techtarget.com/searchsoftwarequality/definition/system-testing
2. https://media.neliti.com/media/publications/245706-macam-macam-testing-
sistem-informasi-6cf46102.pdf
3. https://sumihai.co.id/id/pengujian-sistem-informasi/
4. https://revou.co/kosakata/black-box-testing
5. https://itbox.id/blog/white-box-testing-adalah
6. https://haloedukasi.com/white-box-testing#Kelebihan_White_Box_Testing
7. https://en-m-wikipedia-
org.translate.goog/wiki/Functional_testing?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=
id&_x_tr_pto=tc
8. https://www-browserstack-com.translate.goog/guide/functional-
testing?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc
9. https://www.indeed.com/career-advice/career-development/functional-testing
10. https://katalon-com.translate.goog/resources-center/blog/functional-
testing?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc&_x_tr_hist=true
11. https://www-blazemeter-com.translate.goog/blog/performance-testing-vs-load-
testing-vs-stress-
testing?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc#perf

12. https://luxequality-com.translate.goog/blog/how-to-do-load-
testing/?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc&_x_tr_hist=true
13. https://stackify-com.translate.goog/what-is-load-
testing/?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc
14. https://stackify-com.translate.goog/top-load-testing-
tools/?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc

24
25

Anda mungkin juga menyukai