LAPORAN KEMAJUAN
Ketua Peneliti
0612029001
0616088801
HALAMAN PENGESAHAN
HALAMAN PENGESAHAN
Judul Penelitian
NIDN
: 0612029001
NPP
: 0686.11.2014.585
Jabatan Fungsional
:-
Program Studi
: Teknik Informatika
Nomor HP
: 085740278021
Surel (e-mail)
: egia@dsn.dinus.ac.id
NIDN
: 0616088801
NPP
: Rp 3.000.000,00
Menyetujui,
Direktur LPPM
Ketua Peneliti
NPP: 0686.11.2014.606
NPP: 0686.11.2014.585
ii
RINGKASAN
Pengujian perangkat lunak merupakan salah satu tahapan dalam siklus hidup
pembangunan perangkat lunak. Pengujian perangkat lunak tidak dapat memastikan kualitas
perangkat lunak, tetapi bisa memberikan kepercayaan dan jaminan kepada perangkat lunak
pada tingkatan tertentu. Terdapat beberapa alasan diantaranya meningkatnya kompleksitas,
meningkatnya tekanan pasar, dan tuntutan pelanggan untuk kualitas yang lebih tinggi
membutuhkan suatu kombinasi yang hati-hati untuk dipilih, divalidasi, dan verifikasi untuk
memberikan suatu produk perangkat lunak yang tepat waktu, sesuai anggaran, dan sesuai
dengan kualitas yang diinginkan. Kenyataannya tim pengembang perangkat lunak pemula
(novice software team) akan melakukan proses percobaan yang relatif banyak dalam
pengujian disebabkan pemahaman yang kurang. Pengembang perangkat lunak pemula
biasanya melakukan proses pengujian perangkat lunak tidak secara detail dan beberapa tidak
menguji sama sekali. Penelitian ini memiliki tujuan untuk memaparkan perilaku dan persepsi
dari sebuah tim pengembang perangkat lunak pemula khususnya dalam tahapan pengujian
dengan menggunakan kuantitatif survey sebagai metode mendapatkan data. Metode tersebut
akan menggunakan kuisioner sebagai alat bantu pengumpulan data. Kuisioner akan
disebarkan kepada kelas mata kuliah Software Quality and Testing. Dengan metode tersebut
akan didapatkan faktor pendukung dan penghambat, strategi pengujian yang paling sering
digunakan oleh tim pengembang perangkat lunak pemula dan persepsi serta sikap mereka
dalam melakukan pengujian. Dengan diketahuinya hal tersebut diharapkan ditemukannya
solusi dalam pemilihan strategi dan teknik pengujian yang tepat untuk tim pengembang
perangkat lunak pemula. Luaran dari penelitian ini adalah bahan ajar mata kuliah Software
Quality and Testing dan publikasi artikel ilmiah skala nasional ber-ISSN.
Kata Kunci: Pengujian, Perangkat Lunak, Strategi Pengujian, Faktor pendukung, Faktor
Penghambat, Solusi
iii
PRAKATA
Dengan memanjatkan puji syukur kehadirat Allah SWT, karena dengan rahmat,
hidayah, dan karunia-Nya telah memperkenankan penulis untuk menyelesaikan laporan
kemajuan Penelitian Pemula yang berjudul Pengembangan survey strategi dan teknik
pengujian untuk tim pengembang perangkat lunak pemula.
Selama melaksanakan penelitian ini, banyak bantuan dan dukungan yang telah
diperoleh. Untuk itu pada kesempatan ini, penulis bermaksud mengucapkan terima kasih
kepada beberapa pihak yang diantaranya adalah :
1. Bapak Dr. Ir. Edi Noersasongko, M.Kom selaku rektor Universitas Dian Nuswantoro.
2. Bapak Prof. Dr. Vincent Didiek Wiet Aryanto, M.BA selaku Direktur LPPM.
3. Ibu Juli Ratnawati, SE, M.Si selaku Kepala Pusat Penelitian Universitas Dian Nuswantoro.
4. Bapak Dr. Abdul Syukur, selaku Dekan Fakultas Ilmu Komputer Universitas Dian
Nuswantoro.
5. Rekan-rekan dosen Fakultas Ilmu Komputer Udinus yang telah berbagi ilmu dalam
menjalankan penelitian.
Sungguh penelitian pemula ini bukanlah tanpa kelemahan, untuk itu kritik dan saran
yang bersifat konstruktif sangat diharapkan. Akhir kata, semoga laporan kemajuan penelitian
ini dapat bermanfaat.
Semarang, 20 November 2015
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR
Gambar 1. Lapisan Teknologi Rekayasa Perangkat Lunak ..................................................... 10
Gambar 2. Rancangan Penelitian ............................................................................................. 16
Gambar 3. Pendekatan kuantiatif ............................................................................................. 16
Gambar 4. Fishbone diagram penelitian .................................................................................. 18
DAFTAR LAMPIRAN
BAB 1
PENDAHULUAN
analisis,
perangkat
lunak
perancangan,
mencakup
beberapa
implementasi (coding),
tahapan
yaitu
pengumpulan
Tahapan pengujian merupakan salah satu tahapan yang berhubungan dengan kualitas
perangkat lunak yang dibangun. Jaminan kualitas perangkat lunak sangat penting bagi pihakpihak
yang
berkepentingan
(stakeholder).
Meningkatnya
kompleksitas,
meningkatnya
tekanan pasar, dan tuntutan pelanggan untuk kualitas yang lebih tinggi membutuhkan suatu
kombinasi yang hati-hati untuk dipilih, divalidasi, dan verifikasi untuk memberikan suatu
produk software yang tepat waktu, sesuai anggaran, dan sesuai dengan kualitas yang
diinginkan (Aurum & Wohlin 2005). Dalam tahapan pengujian diperlukan adanya konfirmasi
dan verifikasi antara tujuan awal dengan hasil akhir perangkat lunak yang dibangun.
Terdapat banyak pendekatan yang berbeda dalam pengujian perangkat lunak tentunya
dengan manfaat yang berbeda untuk kualitas perangkat lunak disesuaikan dengan proses
pembangunan. Namun, pada praktiknya tim pengembang perangkat lunak pemula (novice
software team) akan melakukan proses percobaan yang relatif banyak dalam pengujian
disebabkan pemahaman yang kurang.
melakukan proses pengujian perangkat lunak tidak secara detail dan beberapa tidak menguji
sama sekali (Pham et al. 2014). Hal ini sangat penting karena menurut National Institute of
Standards and Technology pengujian perangkat lunak menghabiskan setidaknya 30% dari
anggaran pengembangan perangkat lunak secara keseluruhan.
Survey praktek pengujian sudah pernah dilakukan oleh beberapa peneliti, diantaranya
adalah (Ng et al. 2004) yang melakukan survey dengan membahas tentang metode-metode
yang digunakan dalam pengujian, dan teknik-teknik pengujian yang digunakan. Sedangkan
dalam (Garousi & Zhi 2013) yang dimana dilakukan di Kanada membahas tentang pengujian
perangkat lunak di dunia industri. Dalam penelitian tersebut juga dibahas mengenai
kelemahan dan kelebihan dari teknik pengujian yang digunakan. Selain itu juga dibahas
mengenai upaya dari beberapa tim yang berbeda dikarenakan beragamnya teknik dan
estimasi biaya yang digunakan. (Pham et al. 2014)
pengujian. Selain itu juga mahasiswa pemula memberikan persepsi masing-masing mengenai
pengujian yang telah dilakukan. Penelitian yang dilakukan kini merupakan pengembangan
dari penelitian-penelitian yang sebelumnya telah dilakukan. Ada beberapa poin yang akan
dibahas dalam penelitian ini, diantaranya adalah mengenai pemilihan strategi dan teknik
pengujian yang dilakukan, faktor-faktor penghambat dan pendukung pengujian, metode
pengujian dan sikap atau persepsi khususnya mahasiswa mata kuliah Software Quality and
Testing dalam perean mereka sebagai tim pengembang perangkat lunak pemula.
Penelitian dilakukan terhadap mahasiswa Teknik Informatika khususnya yang mengambil
mata kuliah Software Quality and Testing. Melalui teknik penyebaran kuisioner akan
didapatkan faktor pendukung dan penghambat kegiatan pengujian, strategi pengujian yang
digunakan serta persepsi dan sikap ketika melakukan pengujian. Dari paparan diatas melalui
hipotesis awal akan diketahui faktor pendukung dan penghambat, strategi pengujian yang
paling sering digunakan oleh tim pengembang perangkat lunak pemula dan persepsi serta
sikap mereka dalam melakukan pengujian. Dengan diketahuinya hal tersebut diharapkan
ditemukannya solusi dalam pemilihan strategi pengujian yang tepat untuk tim pengembang
perangkat lunak pemula. Penelitian yang dilakukan menghasilkan luaran berupa artikel
ilmiah yang dipublikasikan dalam skala regional dan atau skala nasional. Selain itu penelitian
ini juga dapat dijadikan referensi untuk bahan ajar mata kuliah Software Quality and Testing.
1.2. Rumusan Masalah
Berdasarkan latar belakang tersebut, dirumuskan permasalahan pada penelitian adalah:
1. Pemilihan
strategi
dan
teknik
pengujian
yang
kurang
tepat
menyebabkan
a. Membantu tim pengembang perangkat lunak pemula dalam menentukan strategi dan
teknik pengujian yang tepat.
b. Membantu proses pembelajaran mahasiswa dalam memahami
proses pengujian
BAB 2
TINJAUAN PUSTAKA
memecahkan beberapa masalah. Satu hal yang dijadikan sebagai alat proses data maupun
pemecah masalah yakni perangkat lunak.
Menurut (Sommerville 2011) pengertian perangkat lunak adalah Program Komputer
dan
dokumentasi (User
manual,
dokumen
kebutuhan,
dokumen
perancangan)
yang
adalah sebuah instruksi atau program komputer yang apabila dieksekusi bias
informasi, maupun dokumen sebagai penjelas program. Dalam jurnal IEEE (Institute of
Electrical
and
Electronics
Engineers),
aturan,
prosedur,
dijelaskan
bahwa
perangkat
lunak
untuk menghasilkan perangkat lunak yang ekonomis, dapat diandalkan, dan bekerja dengan
efisien. (Pressman 2009) mendefinisikan
yang bertingkat atau berlapis, lapisan- lapisan teknologi tersebut adalah sebagai berikut:
Filosofi filosofi tentang kualitas akan terus memperbaiki proses perancangan dan akhirnya
akan berpengaruh terhadap pendekatan rekayasa perangkat lunak yang lebih efektif.
2. Proses (process)
Lapisan ini merupakan lapisan yang menghubungkan teknologi teknologi yang
digunakan dalam perancangan program dan memungkinkan pembuatan program diselesaikan
dengan tepat waktu. Proses ini mendefinisikan framework yang harus dibuat agar teknologi
yang digunakan dalam pembuatan program dapat dimanfaatkan dengan efektif.
3. Metode (Methods)
Lapisan metode dari rekayasa perangkat lunak menjelaskan secara teknis
cara mengembangkan perangkat lunak. Lapisan ini terdiri dari tugas-tugas yang
tentang: analisis kebutuhan (requirement analysis), model desain (design
bagaimana
mencakup
modelling),
proses dan
mengurangi hambatan saat proses pengujian dilakukan. (Lee et al. 2012) menyatakan bahwa
praktek pengujian perangkat lunak masih memiliki kendala dalam penggunaan metode dan
alat pengujian. Bagi instruktur (pengajar), perlu memperhatikan kemampuan mahasiswa,
perilaku, batasan, dan kebutuhan pada metode dan alat pengujian perangkat lunak. Instruktor
tidak hanya berfokus pada pemahaman metode dan alat, tetapi perlu memperhatikan proses
pengujian dan aktivitas untuk mengetahui kemampuan mahasiswa. Hal ini bertujuan untuk
menentukan metode dan alat yang tepat digunakan pada saat pengujian perangkat lunak
dengan
model
perkembangan
pengembangan
mahasiswa
yang
dalam
telah
diusulkan.
menerapkan
Selain
kemampuan
itu,
dan
dapat
mengontrol
pengetahuan
dalam
adalah tidak
adanya
minim
pengalamanan
membutuhkan
bimbingan
untuk
mengurangi
terjadinya
kesalahpahaman dalam mempelajari metode yang diberikan. Perlu adanya tambahan kelas
khusus untuk mempelajari metode dan alat pengujian serta melakukan praktek secara
langsung yang diawasi oleh instruktor (pengajar).
(Itkonen & Lassenius 2013) menggunakan pengetahuan dan pengalaman dari penguji
untu mengetahui kegagalan dalam proses pengujian. Pengetahuan dan pengalaman tersebut
dapat
digunakan
untuk
mengetahui kegagalan
mahasiswa
dan pengalaman dari pengguna. Umumnya, kuesioner digunakan pada automatic testing.
Interview sebagai faktor untuk mengeksplorasi persepsi dan opini dari pengguna. Interview
digunakan untuk mengeksplorasi persepsi dan opini dari pengguna. Selain persepsi dari
pengguna,
interview
juga
dapat
digunakan
untuk
14
BAB 3
TUJUAN DAN MANFAAT PENELITIAN
perangkat
lunak
pemula
khususnya
dalam
tahapan
pengujian
dengan
menggunakan kuantitatif survey sebagai metode mendapatkan data. Metode tersebut akan
menggunakan kuisioner sebagai alat bantu pengumpulan data. Kuisioner akan disebarkan
kepada kelas mata kuliah Software Quality and Testing. Dengan metode tersebut akan
didapatkan faktor pendukung dan penghambat, strategi pengujian yang paling sering
digunakan oleh tim pengembang perangkat lunak pemula dan persepsi serta sikap mereka
dalam melakukan pengujian. Dengan diketahuinya hal tersebut diharapkan ditemukannya
solusi dalam pemilihan strategi dan teknik pengujian yang tepat untuk tim pengembang
perangkat lunak pemula.
15
BAB 4
METODE PENELITIAN
16
17
akan dianalisis lebih lanjut untuk menentukan strategi pengujian yang tepat digunakan
disesuaikan dengan kondisi yang ada.
4.3. Roadmap Penelitian
Penelitian yang dilakukan merupakan hasil dari studi pendahuluan dari hasil penelitianpenelitian sebelumnya. Keterkaitan antara hasil penelitian sebelumnya dengan penelitian
yang diusulkan dinyatakan dalam fishbone diagram pada Gambar 3.1 di bawah ini:
Keterangan:
18
BAB 5
HASIL YANG DICAPAI
Jenis Kegiatan
Target Output
Realisasi
Capaian
Keterangan
Identifikasi Masalah
List permasalahan
Analisis permasalahan
berdasarkan jurnal
100%
Analisis penelitian
sebelumnya
saat ini
2.
100%
100%
SQT
3.
Dilakukan
wawancara awal
Sudah dilakukan
pengujian perangkat
100%
lunak
kelompok
b. Penentuan Perangkat
yang diuji
c. Pembuatan kuisioner
Kuisioner pengujian
d. Penyebaran kuisioner
pembagian
Tersedia daftar
100%
perangkat lunak
yang diuji
e. Pengujian perangkat
lunak
perangkat lunak
19
100%
Sudah ada
100%
Sudah dilaksanakan
100%
Sudah dilaksanakan
4.
Evaluasi Hasil
a. Analisis metrix
proyek perangkat lunak
b. Analisis metrix
(produk dan proses)
berdasarkan perangkat
30%
On Progress
30%
On Progress
30%
On Progress
30%
On Progress
Pengambilan kesimpulan
Pengambilan
kesimpulan hasil
pengujian
6.
Kesimpulan hasil
belum terlaksana
pengujian
Makalah jurnal/
konferensi ilmiah
10%
On progress
nasional ber-ISSN
Laporan dan usulan topik
b. Penulisan Laporan
penelitian selanjutnya
belum terlaksana
yang relevan
20
No
1.
Hambatan
Kelompok
Penanganan
pengembang
3.
Karena
pengujian
kelompok
dikhawatirkan
dilakukan
lain
oleh Diberikan
(independen), lunak,
tidak
pelatihan
dari
mulai
penggunaan
konfigurasi
perangkat
sampai
sebelum
pengujian,
dilakukan
21
BAB 6
RENCANA TAHAPAN BERIKUTNYA
Penelitian ini masih memiliki beberapa kegiatan dan target capaian yang belum terpenuhi.
Kegiatan yang masih belum dilakukan dan akan dijalankan pada tahap berikutnya adalah
sebagai berikut:
1. Melakukan
pengujian
perangkat
lunak
keseluruhan
lengkap
pengujian.
2. Melakukan evaluasi hasil dengan menganalisis kuisioner yang mencakup analisis
metrix
Kegiatan tersebut ditargetkan akan selesai pada awal bulan Desember 2015, sehingga dapat
dilakukan penulisan laporan akhir pada bulan yang sama sebagai pertanggung jawaban
kepada LPPM Udinus selaku penyandang dana penelitian ini.
22
BAB 7
KESIMPULAN DAN SARAN
7.1. Kesimpulan
Pengujian perangkat lunak memiliki keterbatasan dalam keberagaman perangkat lunak
yang diuji mulai dari tingkat kompleksitas sampai dengan flatform perangkat lunak yang
digunakan (web, mobile, desktop). Untuk mengatasi keterbatasan tersebut perangkat lunak
yang diuji harus dipastikan berjalan pada flatform yang dikehendaki dengan cara konfigurasi
pada awal sebelum pengujian. Pengujian yang dilakukan oleh beberapa tim pengembang
perangkat lunak berjalan dengan lancar dengan hambatan yang sudah ditangani. Untuk
mengukur evaluasi hasil pengujian dan feedback dari tim pengembang digunakan kuisioner
yang berisi tentang produk, proses, teknik dan strategi pengujian serta faktor-faktor
pendukung maupun penghambat dalam melakukan pengujian.
7.2. Saran
Saran untuk penelitian selanjutnya adalah menggunakan perangkat lunak yang memiliki
flatform yang sama untuk tim pengembang perangkat lunak yang berbeda. Diharapkan
dengan perangkat lunak yang memiliki flatform yang sama dan kompleksitas yang sama
hasilnya akan lebih baik.
23
DAFTAR PUSTAKA
Aurum, A. & Wohlin, C., 2005. Engineering and Managing Software Requirements,
Garousi, V. & Zhi, J., 2013. A survey of software testing practices in Canada. Journal of
Systems
and
Software,
86(5),
pp.13541376.
Available
at:
http://dx.doi.org/10.1016/j.jss.2012.12.051.
Itkonen, J. & Lassenius, C., 2013. The Role of the Tester s Knowledge in Exploratory
Software Testing. , 39(5), pp.707724.
Jatnika Hendra, I.Y.S., 2011. TESTING DAN IMPLEMENTASI,
Lee, J., Kang, S. & Lee, D., 2012. Survey on software testing practices. IET Software, 6(3),
p.275.
Ng, S.P. et al., 2004. A preliminary survey on software testing practices in Australia.
Software Engineering Conference, 2004. Proceedings. 2004 Australian, pp.116125.
Available
at:
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1290464\npapers3://publication/doi
/10.1109/ASWEC.2004.1290464.
Pham, R. et al., 2014. Enablers , Inhibitors , and Perceptions of Testing in Novice Software
Teams. FSE14, (ACM), pp.3040.
Pham, R., 2014. Improving the Software Testing Skills of Novices during Onboarding
through Social Transparency. , pp.803806.
Pressman, R., 2009. Software engineering: a practitionars approach.
Sommerville, I., 2011. Software Engineering Ninth Edit., Addison-Wesley.
24
LAMPIRAN
Lampiran 1. Artikel Ilmiah
Masih berupa draft jurnal
Lampiran 2. Produk Penelitian
25