pengantar pengujian perangkat lunak
DESCRIPTION
Makalah mengenai pengantar pengujian perangkat lunakTRANSCRIPT
![Page 1: Pengantar Pengujian Perangkat Lunak](https://reader038.vdokumen.com/reader038/viewer/2022100506/5571f78749795991698b8afa/html5/thumbnails/1.jpg)
TUGAS MATA KULIAH REKAYASA PERANGKAT LUNAK
PENGANTAR PENGUJIAN PERANGKAT LUNAKHARINDRA WISNU PRADHANA (L2F004481)
TEKNIK ELEKTRO UNIVERSITAS DIPONEGOROJL Prof Sudharto Tembalang Semarang Indonesia
Abstract: Testing is an important and critical part of the software development process, on whish the quality and reliability of the delivered product strictly depend. Testing is not limited to the detection of bugs in the software, it also increases confidence in its proper functioning and assist with the evaluation of functional and non functional properties. Testing related activities encompass the entire development process and may consume a large part of the effort required for producing software. In this paper, we provide an overview of software testing from its concept to its management. Including the definition of software testing, fault, error, and failure concept.Keyword : software testing, testing overview, testing concept, testing management
Pengujian merupakan bagian tak terpisahkan dari suatu perangkat lunak. Proses pengujian juga mempengaruhi masa penggunaan suatu perangkat lunak. Semakun rinci proses pengujian yang dilakukan, akan semakun lama rentang waktu yang diperlukan antara maintenance satu dan selanjutnya. Pengujian perangkat lunak dilakukan pada setiap tahap pengembangan hingga pada maintenance perangkat lunak.
Cara pandang terhadap perangkat lunak berkembang menjadi lebih konstruktif. Pengujian tak lagi dipandang sebagai aktifitas yang hanya dilakukan setelah pengkodean perangkat lunak usai dengan batasan sebagai pendeteksi kegagalan perangkat lunak, melainkan sebagai aktifitas yang menuntun keseluruhan proses pengembangan perangkat lunak dan maintenance. Dan pengujian itu sendiri merupakan bagian penting dari suatu konstruksi perangkat lunak.
Pengujian perangkat lunak merupakan aktifitas menantang yang melibatkan beberapa kegiatan yang saling berkaitan satu sama lain. Di awal pengujian hal yang perlu dilakukan adalah pemilihan dan perencanaan pengujian dengan memperhatikan teknikteknik pengujian yang mungkin dilakukan terhadap perangkat lunak tersebut. Pemilihan dilakukan dengan metode analisa sederhana yang efektif biaya. Bagaimanapun juga proses pemilihan teknik pengujian merupakan titik tolak untuk melangkah ke aktifitasaktifitas berikutnya. Dari sinilah
ditentukan kemampuan penguji untuk menentukan teknik atau metode yang tepat sehingga langkah demi langkah pengujian dapat dilakukan terhadap perangkat lunak tersebut.
Setelah metode atau teknik pengujian perangkat lunak ditentukan, kapabilitas penguji akan dipacu untuk melaksanakan pengujian sesuai ketentuan tadi. Pelaksanaan dapat pada sebuah lingkungan kerja terkendali dengan perangkat lunak tersebut dan berbagai atributnya, maupun dalam suatu sistem lebih kecil dimana perangkat lunak tersebut dijalankan. Setelah pelaksanaan pengujian, hal yang perlu dipertimbangkan adalah apakah hasil pengujian ini memenuhi harapanharapan penguji akan perangkat lunak tersebut. Hal ini termasuk mengevaluasi dampak dari kekeliruan pada perangkat lunak baik secara langsung maupun tidak langsung. Dan sekaligus melakukan analisa bagian mana yang perlu mengalami pembenahan. Langkah demi langkah ini akan memberikan tantangan tersendiri bagi penguji.
Konsep pengujian perangkat lunakAda berbagai tipe dan strategi dalam
pengujian perangkat lunak. Bagaimanapun juga keseluruhan tipe dan strategi tersebut memiliki satu tujuan yang sama yaitu meningkatkan kepercayaan diri pengembang perangkat lunak terhadap fungsifungsi perangkat lunaknya. Beranjak dari tujuan ini, suatu perangkat lunak dapat diuji untuk
![Page 2: Pengantar Pengujian Perangkat Lunak](https://reader038.vdokumen.com/reader038/viewer/2022100506/5571f78749795991698b8afa/html5/thumbnails/2.jpg)
menerima berbagai perlakuan dalam rangka pengujian. Diantaranya adalah melakukan tindakantindakan yang mungkin dilakukan pengguna perangkat lunak sesuai kebutuhan pengguna dan karakteristik perangkat lunak. Juga perhitungan terhadap keandalan perangkat lunak selama operaso dilakukan.
Berdasarkan standard IEEE, pengujian perangkat lunak memiliki pengertian aktifitas yang dilakukan untuk mengevaluasi kualitas produk dan untuk mengembangkannya dengan mengidentifikasi kelemahan dan permasalahan yang terjadi. Definisi secara umum adalah
Software testing consist of the dynamic verification of the behavior of program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the expected behavior
Yang secara gamblang dapat diartikan sebagai pengujian perangkat lunak terdiri dari verifikasi dinamis dari perilaku program pada kasus pengujian tertentu. Batasan ini ditentukan berdasarkan bagaimana masukan pada program dan bagaimana keluaran yang diharapkan.
Dari pengertian daitas, diambil beberapa kata kunci dalam pengujian perangkat lunak antara lain:1. Dinamis. Pengujian perangkat lunak
dilakukan pada masukan yang bervariasi. Masukan ini ditentukan sebelum pengujian dilakukan dengan batasanbatasan disesuaikan dengan kemampuan perangkat lunak. Masukan tidak harus sesuatu yang dimungkinkan terjadi pada penggunaan program lebih lanjut, melainkan meliputi keseluruhan batasan yang dapat dijangkau perangkat lunak dan dilakukan sampling secara acak untuk proses pengujian.
2. Terbatas. Meski pengujian dilakukan pada perangkat lunak sederhana hingga rumit sekalipun, pengujian dilakukan dengan memenuhi batasanbatasan tertentu sesuai kemampuan program. Batasan ini juga diperlakukan pada masukanmasukan yang dipilih untuk pengujian. Tidak semua kemungkinan masukan diujikan pada perangkat lunak karena hal ini akan memakan waktu
yang cukup panjang mengingat begitu banyaknya kemungkinan yang bisa terjadi. Untuk mengatasi hal ini dilakukan pemilihan masukanmasukan pada proses pengujian secara acak yang diperkirakan mampu memenuhi kebutuhan pengujian perangkat lunak.
3. Tertentu. Yaitu pengujian dilakukan dengan batasan tertentu disesuaikan dengan harapan akan fungsi, respon, dan karakteristik perangkat lunak tersebut. Hal ini disesuaikan dengan teknikteknik pengujian yang ada. Pemilihan kriteria pengujian yang paling tepat merupakan hal yang kompleks. Dalam prakteknya diperlukan analisa resiko pengujian dan pengalaman terhadap pengujianpengujian sejenis.
4. Terharap. Yaitu memiliki keadaankeadaan yang diharapkan baik berupa respon sistem terhadap masukan maupun karakteristik responnya. Dalam hal ini harus ditentukan batasanbatasan hasil pengujian yang diharapkan. Dengan demikian dapat diketahui perangkat lunak tersebut telah memenuhi hasil pengujian yang diharapkan atau memerlukan pembenahan kembali baik berupa perbaikan maupun pengembangan perangkat lunak.
Untuk benarbenar memahami segisegi pengujian perangkat lunak perlu diklarifikasi kondisi kekeliruan (fault) kesalahan (error) dan kegagalan (failure). Meskipun makna dari katakata tersebut sangat erat hubungannya, namun tetap tak bisa disamakan. Berikut perbedaan pentung antara ketiga konsep ini.1. Kekeliruan. Merupakan kesalahan pada
suatu baris kode atau lebih. Kesalahan disini bisa saja tidak nampak pada program dengan indikasi perangkat lunak bekerja sebagaimana harapan pengembang. Bahkan mungkin untuk waktu yang lama suatu baris program bisa saja tak tersentuh oleh eksekusi sehingga tetap tak nampak sebagai kekeliruan.
2. Kesalahan. Hal yang akan muncul pada saat kekeliruan terjadi adalah kesalahan. Bila kekeliruan dalam baris tadi
![Page 3: Pengantar Pengujian Perangkat Lunak](https://reader038.vdokumen.com/reader038/viewer/2022100506/5571f78749795991698b8afa/html5/thumbnails/3.jpg)
dieksekusi, maka perangkat lunak akan beroperasi tidak sesuai dengan keinginan pengembang sehingga menghasilkan respon yang salah.
3. Kegagalan. Dalam beberapa kasus kekeliruan akan muncul sebagai kegagalan. Kegagalan perangkat lunak merupakan serentetan ketidak mampuan perangkat lunak untuk menjalankan fungsinya. Misalnya kesalahan output perangkat lunak, proses eksekusi tidak normal, waktu eksekusi dan kapasitas pemakaian penyimpanan yang membengkak, dan lainlain.
Dalam beberapa kasus, apa yang ditemukan pada pengujian perangkat lunak adalah kegagalan sistem. Analisa bertahap dan penelitian mendalam diperlukan untuk memecahkan apa saja penyebab kegagalan tersebut. Bagaimanapun juga tetap sulit dalam menemukan ketiga hal diatas sehingga dimungkinkan kegagalan teratasi meski masih menyimpan kesalahan atau kekeliruan pada program. Hal ini terjadi karena pada suatu perangkat lunak yang cukup besar tidak diketahui pasti dimana letak kesalahan hanya dengan data masukan dan keluaran karena di dalamnya terdapat fungsifungsi dan prosedur yang saling terkain satu sama lain. Dalam hal ini perlu ditinjau lebih lanjut mengenai sederetan masukan dan keluaran yang menuntun pada kegagalan sistem.
Pada akhirnya sedikit banyak suatu kekeliruan dapat lolos dari proses pengujian dan debug. Bagaimanapun juga suatu kekeliruan dapat semakin mengganggu ataupun tidak tergantung bagaimana dan seberapa sering kemunculannya pada pengguna terakhir. Oleh karenanya suatu hal yang menjadi ukuran suatu pengujian adalah suap tidaknya suatu perangkat lunak untuk digunakan dengan keandalan tersebut. Berbicara mengenai keandalan, hal ini merupakan estimasi peluang dan mengukur peluangnya adalah dengan proses eksekusi program tanpa kegagalan pada suatu lingkungan kerja dengan batasan waktu tertentu. Sehingga nilai keandalan yang diberikan tergantung dari seberapa sering kegagalan itu mungkin muncul pada saat dioperasikan oleh pengguna terakhir.
Gambar 1 Bagan Pengujian Perangkat Lunak
Pada gambar 1 diatas nampak bagianbagian perangkat lunak yang meliputi dasardasar pengujian perangkat lunak, levellevel pengujian, teknikteknik atau metode pengujian, pengukuranpengukuran yang dilakukan pada perangkat lunak dan proses pengujian.
Manajemen Pengujian Perangkat LunakDalam mengangkat konsepkonsep
pengujian perangkat lunak ke suatu pengimplementasian diperlukan manajemen yang mengatur keseluruhan proses pengujian. Proses manajemen pengujian perangkat lunak menangani berbagai aktifitas dan langkahlangkah pengujian perangkat lunak. Diantaranya adalah inisialisasi dan penentuan lingkup kerja pengujian termasuk di dalamnya batasanbatasan pengujian serta lingkungan pengujian, perencanaan pengujian perangkat lunak, eksekusi dan pengendalian perangkat lunak selama pengujian, ebaluasi pengujian serta peninjauan kembali hasil pengujian, dan penutup yaitu pelaporan hasil pengujian diikuti pembenahan bila perlu.
Beberapa fakta di lapangan tentang pengujian perangkat lunak antara lain: Instansiinstansi penguji tidak
memandang perlunya gelar kependidikan tertentu pada pengujipenguji perangkat lunak, melainkan setifikasisertifikasi pengujian serta pengalaman yang menunjukkan kapabilitas seorang penguji perangkat lunak. Dalam hal ini perusahaan tidak perlu membayar mahal menyesuaikan gelargelar penguji namun tetap
![Page 4: Pengantar Pengujian Perangkat Lunak](https://reader038.vdokumen.com/reader038/viewer/2022100506/5571f78749795991698b8afa/html5/thumbnails/4.jpg)
mendapatkan hasil yang memuaskan dengan kredibilitas penguji tadi.
Proses pengujian memiliki kecenderungan memandang perangkat lunak dari sisi kebutuhan pengguna. Sehingga takaran yang diukur adalah kesesuaian dan kemampuan perangkat lunak memenuhi kebutuhan pengguna akhir. Dalam hal ini tidak melakukan analisa secara menyeluruh melaiknan hanya sebatas memenuhi kebutuhan akan fungsi perangkat lunak tersebut.
Dua hal diatas menimbulkan pemikiran berbeda dalam hal pengujian perangkat lunak. Meskipun secara fundamental banyak sekali diungkapkan bagianbagian yang penting dan saling berkesinambungan mengenai pengujian perangkat lunak, akhirakhir ini penguji tidak lagi mencari kekeliruan maupun kesalahan dalam suatu perangkat lunak melainkan hanya cenderung memastikan bahwa perangkat lunak yang diuji itu bekerja sesuai harapan. Hal ini disebabkan beberapa hal diantaranya: Manajer tidak memiliki konsep yang
kuat mengenai upayaupaya pengujian perangkat lunak. Sebagian bahkan tidak terlalu memperdulikan hasil dari pengujian perangkat lunak tersebut selama fungsi praktis dan kebutuhan perangkat lunak tersebut terpenuhi.
Penguji tidak dapat menyentuh suatu perangkat lunak hingga perangkat lunak tersebut benarbenar jadi dan dipasarkan. Dalam hal ini penguji tidak mengetahui langkahlangkah pengembangan perangkat lunak tersebut sehingga tidak dapat mengestimasi bagian mana yang mungkin mengandung kekeliruan pemrograman. Penguji justru menghadapi perangkat lunak jadi secara utuh sehingga kebanyakan metode yang digunakan hanya sebatas menguji dengan masukan secara acak dan berharap menemukan kegagalan perangkat lunak.
Banyaknya penguji tidak sebanding dengan banyaknya pengembang perangkat lunak. Sehingga dimungkinkan satu penguji menangani beberapa perangkat lunak dari berbagai
pengembang. Secara logis dapat dikatakan waktu pengujian akan jauh lebih singkat dibanding waktu peracangan perangkat lunak tersebut. Pada dasarnya proses pengujian justru memerlukan waktu lebih panjang dibanding proses pengembangan karena pengujian perlu membongkar suatu perangkat lunak dan mengujinya bagian demi bagian dan juga menguji sebagai satu kesatuan utuh. Dalam hal ini banyak bagian dan langkah pengujian yang harus dihilangkan demi pemenuhan target waktu pengujian.
Beberapa permasalahan diatas akhirakhir ini justru dianggap hal biasa dan menjadi kebiasaan di dunia rekayasa perangkat lunak. Bahkan tak jarang proses rekayasa pperancangan perangkat lunak dianggap telah memenuhi pengujian, sehingga proses pengujian lebih lanjut tidak lagi diperlukan. Hal ini merupakan suatu pemikiran yang harus diubah. Hal ini berlangsung selama ini karena proses pengujian biasanya tidak terlalu diperhatikan oleh pihakpihak yang berhubungan dengan perangkat lunak tersebut baik di sisi pengembang maupun pengguna. Untuk itu perlu dilakukan pendekatan dari kedua belah pihak dalam hal perangkat lunak. Pihak pengembang sebaiknya menawarkan opsiopsi pengujian pada pengguna sehingga perangkat lunak buatannya memiliki tingkat keandalan lebih. Sedangkan pihak pengguna sebaiknya memastikan perangkat lunak yang digunakannya melalui masa pengujian sehingga selama penggunaan dan pengoperasiannya tidak banyak menjumpai kegagalan meski kemungkinan itu masih tetap ada.
Sementara bagi pihak penguji perangkat lunak dengan berbagai keterbatasan baik waktu pengujian dan akses terhadap lingkungan kerja perangkat lunak yang sebenarnya, penulis memberika beberapa saran diantaranya sebagai berikut: Prioritas pengujian. Dalam proses
pengujian sebaiknya disusun prioritasprioritas pengujian yang matang. Hal ini menjadi tingkatantingkatan kebutuhan dalam hal pengujian. Mengingat waktu
![Page 5: Pengantar Pengujian Perangkat Lunak](https://reader038.vdokumen.com/reader038/viewer/2022100506/5571f78749795991698b8afa/html5/thumbnails/5.jpg)
yang terbatas, tidak semua tingkatan dalam daftar prioritas ini akan terlaksana. Mengingat ada hal yang harus dilakukan maka perlu adanya prioritas agar halhal penting tadi tidak terlewatkan.
Studi keperluan pengujian. Dalam menentukan prioritas, diperlukan analisa mengenai perangkat lunak yang akan diuji. Bagaimana karakteristiknya, apa bagianbagiannya, serta siapa yang berkompetensi di bidang tersebut. Suatu tim penguji perangkat lunak sebaiknya tiaptiap personel diposisikan di bidangnya sehingga keseluruhan bagian perangkat lunak yang diuji ditangani pihak yang tepat.
Pelatihan penguji. Adanya pelatihan dan pengalaman yang cukup diperlukan bagi tiaptiap personel dalam suatu tim penguji. Hal ini diperlukan mengingat semakin berkembangnya perangkat lunak. Penguji perlu mengimbangi perkembangan perangkat lunak tersebut dengan kemampuan diri. Bahkan penguji seharusnya selangkah di depan kemampuan pengembang perangkat lunak tersebut sehingga lebih tahu tentang bagaimana suatu perangkat lunak tersebut dirancang dan bagianbagian mana yang memiliki peluang besar terjadi kekeliruan dengan tetap memperhatikan bagian lain.
Prinsip pengembangan. Hasil pengujian sebenarnya bukan alasan untuk menyerang suatu pengembang perangkat lunak, melainkan utnuk membenahi perangkat lunak tersebut, memperbaiki kekeliruannyam dan mengembangkan fungsi yang dapat dilakukan. Sehingga proses pengujian diharapkan mampu mendampingi proses perencanaan dan perancangan perangkat lunak menjadi lebih sempurna.
Evaluasi dan pelaporan. Hasil dari pengujian pada dasarnya untuk kepentingan pengguna, sehingga diperlukan pelaporan dan ebaluasi ulang terhadap pengujian. Pelaporan ini sebaiknya menggunakan tata bahasa yang disesuaikan dengan pengguna sehingga mudah dipahami dan dapat diketahui pasti bagaimana proses pengujian dan hasilnya.
Daftar Pustaka
[1.]Berard, Edward. Bringing Testing Into the Fold. R.S.Pressman & Associates, Inc. http://www.rspa.com
[2.]Bertolino, Antonio dan Eda Marchetti. A Brief Essay on Software Testing. _____
[3.]Coward, P David. A Review of Software Testing. Departement of Computer Studies, Bristol Polytechnic, Bristol, 1988
[4.]_____. Guide to the Software Engineering Body of Knowledge, IEEE Computer Society, 2004
HARINDRA WISNU P (L2F004481).Dilahirkan di Blora 20 tahun yang lalu. Menempuh pendidikan dari sekolah dasar sampai sekolah menengah pertama di Blora dan melanjutkan sekolah menengah atas di Semarang. Dari tahun
2004 sampai saat ini sedang menyelesaikan studi Strata1 di Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Semarang, konsentrasi Informatika dan Komputer.
Semarang, 19 Juni 2007