Urgensi Pengujian Pada Kemajemukan Perangkat Lunak Dalam Multi Perspektif PDF
Urgensi Pengujian Pada Kemajemukan Perangkat Lunak Dalam Multi Perspektif PDF
ABSTRAK
Pengujian perangkat lunak merupakan suatu investigasi yang dilakukan untuk mendapatkan
informasi mengenai kualitas dari produk atau layanan yang sedang diuji (under test). Pengujian
perangkat lunak akan memberikan pandangan mengenai perangkat lunak secara obyektif dan
independen yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada
implementasinya sebelum disampai kepada pelanggan. Tiga konsep yang perlu diperhatikan
dalam pengujian perangkat lunak adalah demonstrasi validitas perangkat lunak pada setiap
tahapan pembangunan sistem, penentuan validitas sistem akhir terhadap pemakai kebutuhan,
dan pemeriksaan implementasi sistem dengan menjalankan sistem pada suatu contoh data uji.
Implementasi pengujian pada perangkat lunak dapat dilaksanakan sesuai dengan kebutuhan dan
model sistem. Keragaman dan kemajemukan perangkat lunak mengisyaratkan pentingnya untuk
melaksanakan banyak improvisasi saat pengujian dikerjakan, seperti penentuan kasus uji yang tepat,
pemilihan model dan metode pengujian yang sesuai, penentuan lingkungan uji yang cocok, serta
mempertimbangkan beberapa aspek lain yang bertujuan mengoptimalkan hasil uji yang diperoleh
dalam kerangka menjamin kualitas sebuah produk perangkat lunak.
Mengacu pada Wen-hong dan Xin Secara sekilas dapat diambil kesimpulan
(2010), produk hasil rekayasa dapat diuji pendekatan pengujian white-box mengarah
dengan cara: (1) mengetahui fungsi yang untuk mendapatkan program yang benar
melakukan kasus uji dengan mempartisi yang menjamin penerapan perangkat lunak
domain input dan output program. Metode benar-benar sesuai dengan fungsinya.
black-box memungkinkan perekayasa Sementara validasi merupakan kumpulan
perangkat lunak mendapatkan serangkaian aktivitas yang berbeda yang memastikan
kondisi input yang sepenuhnya meng bahwa perangkat lunak yang dibangun
gunakan semua persyaratan fungsi
onal dapat memenuhi keperluan pelanggan.
untuk suatu program. Pengujian ini Atau dengan kata lain verifikasi adalah
berusaha menemukan kesalahan dalam “Apakah kita membuat produk dengan benar?”
kategori fungsi-fungsi yang tidak benar dan validasi adalah “ Apakah kita membuat
atau hilang, kesalahan interface, kesalahan benar-benar suatu produk?”.
dalam struktur data atau akses basis
data eksternal, kesalahan kinerja, dan
C. IMPLEMENTASI PENGUJIAN
inisialisasi dan kesalahan terminasi.
1. Pengujian Validasi Perangkat Lunak
5. Strategi Pengujian
Pengujian validasi dilaksanakan
Strategi pengujian perangkat setelah semua kesalahan diperbaiki.
lunak memudahkan para perancang Indikator keberhasilan pengujian
untuk menentukan keberhasilan sistem validasi adalah jika fungsi yang ada pada
rancangan. Beberapa hal yang perlu perangkat lunak sesuai dengan yang
mendapat perhatian adalah langkah- diharapkan pemakai. Apabila perangkat
langkah perencanaan dan pelaksanaan lunak dibuat untuk pelanggan maka
harus direncanakan dengan baik dan dapat dilakukan semacam aceeptance test
memperhitungkan berapa lama waktu, sehingga memungkinkan pelanggan untuk
upaya dan sumber daya yang diperlukan. memvalidasi seluruh keperluan. Uji ini
Karakteristik strategi pengujian meliputi dilakukan agar memungkinkan pelanggan
pengujian diawali pada tingkat modul menemukan kesalahan yang lebih rinci
yang paling bawah, dilanjutkan dengan dan membiasakan pelanggan memahami
modul di atasnya kemudian hasilnya perangkat lunak yang telah dibuat. Bentuk
dipadukan, teknik pengujian yang pengujian yang bisa dilaksanakan yaitu
berbeda mungkin menghasilkan sedikit pengujian alpha dan beta. Pengujian alpha
perbedaan (dalam hal waktu). Pengujian dilakukan pada sisi pengembang oleh
dan debugging merupakan aktivitas yang seorang pelanggan (Pressman, 2010).
berbeda, tetapi debugging termasuk dalam Perangkat lunak digunakan pada setting
strategi pengujian. Debugging prinsipnya yang natural dengan pengembang “yang
memperbaiki error yang ditemukan pada memandang” melalui bahu pemakai dan
saat pengujian (yang sukses). merekam semua kesalahan dan masalah
Pengujian perangkat lunak adalah satu pemakaian. Sedangkan pengujan beta
elemen dari topic yang lebih luas yang sering dilakukan pada satu atau lebih pelanggan
disebut sebagai verifikasi dan validasi. oleh pemakai akhir perangkat lunak
Verifikasi merupakan kumpulan aktivitas dalam lingkungan yang sebenarnya.
70 KomuniTi, Vol. VI, No. 1 Maret 2014
Pengembang biasanya tidak ada pada semua isi data yang diisikan pada window
pengujian ini. Pelanggan merekan semua dapat dituju dengan tepat dengan sebuah
masalah (real atau imajiner) yang ditemui mouse, function keys, anak panah penunjuk
selama pengujian dan melaporkan pada dan keyboard, apakah window dengan
pengembang pada interval waktu tertentu cepat muncul kembali apabila dia ditindih
(Pressman, 2010). dan kemudian dipanggil lag, apakah
semua fungsi yang berhubungan dengan
2. Pengujian Sistem window dapat diperoleh bila diperlukan,
Pada akhirnya produk perangkat apakah semua fungsi yang berhubungan
lunak digabungkan dengan elemen window operasional, apakah semua
system lainnya dan kemudian rentetan menu pull-down, scroll bar, tool bar kotak
tes validasi dilakukan. Jika uji coba dialog, tombol, ikon, dapat diperoleh dan
gagal atau di luar skope dari daur dengan tepat ditampilkan untuk window
siklus pengembangan system, langkah tersebut, pada saat window bertingkat
yg diambil selama perancangan dan ditampilkan apakah nama window tersebut
pengujian dapat diperbaiki. Pengujian direpresentasikan secara tepat.
sistem merupakan rentetan pengujian
Pengujian perangkat lunak yang meng
yang berbeda-beda dengan tujuan utama
gunakan aplikasi client-server umumnya
mengerjakan keseluruhan elemen system
dilaksanakan pada tiga tingkat berbeda,
yang dikembangkan. Beberapa jenis
menurut Pressman (2010) yaitu: (1)
pengujian system sesuai Pressman (2010)
aplikasi client secara individual diuji dalam
diantaranya recovery testing, security testing,
kondisi tak terhubung (disconnected), artinya
dan stress testing.
tidak memperhatikan pengoperasian
atau ketepatan dan integritas data yang tingkat data yang berbeda dan menentukan
tersimpan dalam server. Transaksi yang apakah terjadi kesalahan sinkronisasi antar
dilakukan pada aplikasi client diperiksa tugas. Terakhir adalah pengujian sistem.
guna memastikan bahwa data sudah Pengujian dilakukan terhadap keselururhan
tersimpan dengan benar. Pemanggilan sistem baik perangkat keras maupun
kembali data dan pengarsipan juga diuji. perangkat lunak. Pengujian dimaksudkan
Keempat, pengujian transaksi. Pengujian untuk menemukan kesalahan pada interface
ini dilaksanakan dengan membuat perangkat lunak atau perangkat keras.
serangkaian tes guna memastikan bahwa
masing-masing kelas transaksi diproses D. BAGAIMANAKAH
menurut requirementnya. Kelima, pengujian MELAKSANAKAN PENGUJIAN
komunikasi jaringan. Pengujian ini untuk YANG BAIK?
mengetes keberlangsu
ngan komunikasi Beberapa atribut yang digunakan agar
antar-node jaringan ber
langsung pengujian dikatakan baik menurut Pressman
dengan benar serta mengetahui apakah (2010) maupun Sommerville (2011) yaitu
pengiriman pesan, transaksi berlangsung pengujian memiliki probabilitas yang tinggi
tanpa kesalahan. Tes keamanan jaringan untuk menemukan kesalahan. Agar hal
dapat termasuk dalam pengujian ini. tersebut dapat terlaksana maka penguji
Strategi pengujian bagi sistem waktu harus mempunyai pemahaman bagaimana
nyata (real-time) menurut Pressman (2010) perangkat lunak dapat gagal. Disamping
dan Zhang (2011) meliputi yang pertama itu, pengujian tidak redundant. Pada setiap
adalah pengujian tugas. Maksud langkah pengujian yang dilakukan harus mempunyai
ini adalah untuk menguji masing-masing tujuan yang berbeda. Selanjutnya pengujian
tugas secara independen, yaitu pengujian yang dikerjakan adalah jenis pengujian yang
white-box dan black-box yang didesain dan terbaik. Pengujian memungkinkan dilakukan
dieksekusi bagi masing-masing tugas. dengan banyak cara. Pengujian yang harus
Masing-masing tugas dieksekusi secara digunakan adalah pengujian yang memiliki
independen dan berusaha mengungkap kemungkinan paling besar untuk mengungkap
kesalahan di dalam logika dan fungsi. semua kelas kesalahan yang tinggi (dalam
Selanjutnya adalah pengujian tingkah waktu dan usaha yang seminimal mungkin).
laku. Pengujian dimaksudkan untuk men Kemudian pengujian tidak terlalu sederhana
simulasi tingkah laku sistem real-time atau komplek.
dann meguji tingkah lakunya sebagai Ada beberapa aspek lagi dalam perspektif
konsekuensi dari event eksternal. Perilaku lain yang dapat dijadikan indikator bagi
diuji untuk mendeteksi kesalahan perilaku. pelaksanaan sebuah pengujian yang baik dan
Berikutnya adalah pengujian antar tugas. optimal.
Pengujian dilaksanakan setelah kesalahan
Sebagaimana disampaikan di paparan awal
pada tugas individual dan pada perilaku
bahwa inti adanya pengujian adalah untuk
sistem diisolasi. Tugas-tugas asinkronous
menemukan kecacatan perangkat lunak dan
yang saling berkomunikasi diuji dengan
mengevaluasi kualitasnya (Pressman, 2010)
72 KomuniTi, Vol. VI, No. 1 Maret 2014
mereduksi biaya dalam mendesain kasus uji lain yang ikut berkontribusi dalam pengujian
baru. perangkat lunak sehingga memperoleh hasil
uji yang optimal diantaranya justifikasi segi
E. KESIMPULAN kualitas dari banyak sudut pandang, ketepatan
Target utama dari pengujian perangkat lunak menentukan metode dan model bentuk
adalah menjamin kualitas produk dari perangkat pengujian, variatif dalam mengkolaborasi
lunak yang dihasilkan. Banyak parameter yang teknik pengujian, menghiraukan bentuk
DAFTAR PUSTAKA
Cheng-Gang, B., J. Chang-Hai, and C. Kai-Yuan, 2010, A reliability improvement predictive approach
to software testing with Bayesian method, in IEEE Proceeding of the 29th Chinese Control
Conference, July 29-31, Beijing, China, pp. 6031-6036.
Cisar, S.M., et.al., 2012, Computer adaptive tests: a comparative study, IEEE Proceeding of 10th
Jubilee International Symposium on Intelligent System and Informatics, September 20-22,
Subotica, Serbia, pp. 499-504.
Clune, T.L., and R.B. Rood, 2011, Software testing and verification in climate model development,
IEEE Journal, Focus: climate change software, September-October, pp. 49-55.
Jiang, F. and Y. Lu, 2012, Software testing model selection research based on yin-yang testing
theory, in IEEE Proceeding of International Conference on Computer Science and Information
Processing (CISP), pp. 590-594
Jin, J., and F. Xue, 2011, Rethinking software testing based on software architecture, in IEEE
Proceeding of 7th International Conference on Semantics, Knowledge and Grids, pp. 148-151.
DOI 10.1109/SKG.2011.32
Jin, H. and F. Zeng, 2011, Research on the definition and model of software testing quality, IEEE
Journal, pp. 639-644
Kumamoto, H., et.al., 2010, Destructive testing of software systems by model checking, IEEE
Journal, pp. 261-266.
Lamas, E., A.V. Dias, and A.M. da Cunha, 2013, Applying testing to enhance software product
quality, in IEEE Proceeding of 10th International Conference on Information Technology: New
generation, pp. 349-356. DOI 10.1109/ITNG.2013.56
Lemos, O.A.L., et. al., 2011, “Evaluation studies of software testing research in the Brazilian
symposium on software engineering”, in IEEE Proceeding of 25th Brazilian Symposium on
74 KomuniTi, Vol. VI, No. 1 Maret 2014