Rabu, 30 April 2014

Testing Sofware



Permasalahan Pada Software Testing
Keberhasilan suatu pengembangan software sangat ditentukan oleh hasil dari pengujian. Jika proses pengujian dapat dilakukan dengan baik, maka suatu software yang telah melewati pengujian akan memiliki kualitas yang dapat dipertanggungjawabkan.
Pekerjaan programmer adalah membuat program berdasarkan spesifikasi proses yang ditetapkan oleh perancang aplikasi. Hasil dari pekerjaan ini tentu adalah program yang dapat dijalankan, baik secara mandiri atau sebagai modul yang digunakan oleh modul atau program lain. Program yang dihasilkan, seharusnya terbebas dari kesalahan sintaks, tetapi juga harus bebas dari kesalahan logika. Untuk mengetahui bahwa program yang dibuat sudah terbebas dari kesalahan, maka harus dilakukan pengujian terhadap program tersebut. 

 

Permasalahan

Permasalahan yang sering timbul dalam suatu proses pengembangan terutama dalam hal pengujian, contoh kasusnya adalah :
  • Programmer tidak melakukan pengujian dengan baik dan benar. Terkadang programmer hanya memperbaiki program, kemudian melakukan kompilasi. Jika kompilasi sudah tanpa kesalahan, programmer menganggap bahwa program telah benar.
  • Spesifikasi program dari perancang aplikasi tidak selalu disertai dengan kasus uji, sehingga sering kali pengujian dilakukan oleh programmer tidak seperti yang diharapkan. Jadi ala kadarnya.

 

Pengujian (testing)

Salah satu tahapan pengembangan software yang harus dilalui adalah pengujian. Pengujian program harus dilakukan pertama kali oleh pemrogram itu sendiri, setelah itu baru diserahkan dan dilakukan pengujian oleh penguji (tester) program. Umumnya, pengujian yang dilakukan oleh pengembang dilakukan pada tahap akhir dari proses pengembangan, setelah semua modul aplikasi dikembangkan.
User Acceptance Test (UAT) atau Uji Penerimaan Pengguna adalah suatu proses pengujian oleh pengguna yang dimaksudkan untuk menghasilkan dokumen yang dijadikan bukti bahwa software yang telah dikembangkan telah dapat diterima oleh pengguna, apabila hasil pengujian (testing) sudah bisa dianggap memenuhi kebutuhan dari pengguna. Hasil dari UAT adalah dokumen yang menunjukkan bukti pengujian, berdasarkan bukti pengujian inilah dapat diambil kesimpulan, apakah software yang diuji telah dapat diterima atau tidak. 
Bahan untuk pengujian harus disiapkan oleh perancang aplikasi atau pengguna. Bahan untuk pengujian suatu modul program akan terdiri atas banyak data dan prosedur. Setiap data dan prosedur disebut sebagai kasus uji (test case).
Satu modul akan memiliki banyak kasus uji. Mengapa? Karena di dalam suatu program atau modul, pada umumnya, di dalamnya akan terdapat lebih dari satu prosedur atau fungsi. Setiap prosedur dan fungsi akan memiliki kegunaan sendiri, maka sudah seharusnya setiap fungsi atau prosedur harus diuji. Pengujian pada level prosedur atau fungsi disebut sebagai pengujian pada level unit.
Aspek pengujian meliputi:
  • pemeriksaan error, masih ada atau tidak
  • pemeriksaan apakah software telah sesuai dengan requirement atau belum
Untuk dapat melakukan pengujian dengan benar dan dapat dipertanggungjawabkan, maka harus disusun skenario untuk pengujian terlebih dahulu. Skenario pengujian adalah dokumen yang berisi persiapan dan langkah-langkah yang harus dilakukan untuk menguji software secara terinci. Langkah-langkah ini menunjukkan aspek-aspek software yang harus diuji.
Persiapan Pengujian Software
Pengujian software (software testing) membutuhkan persiapan, sebelum pengujian dilakukan. Mengapa? Karena proses testing harus dilakukan secara sistematis, tidak bisa secara sembarang, karena software yang dihasilkan harus bebas dari error, untuk mengurangi resiko kerugian yang akan diderita oleh penggunanya. Produk software harus menguntungkan penggunanya pada saat digunakan.
Berikut persiapan yang dapat dilakukan untuk dapat melakukan proses testing:
  •  membuat checklist
    • list yang akan ditest
    • list requirement
    • list rancangan
    • list spesifikasi
    • list manual, jika sudah ada - biasanya diperlukan untuk pengujian oleh user
  • pembuatan test case
    • merupakan elemen dasar yang harus ditesting
    • merupakan list yang independent
  • pembuatan grup test case
    • kumpulan dari beberapa test case
    • merupakan list yang akan memiliki status hasil test
  • pembuatan modul test
    • pembuatan skenario testing
    • terdiri atas beberapa grup test case
    • diasosiasikan dengan fungsionalitas modul
    • mengacu kepada dokumen requirement dan desain/spec program
  • pembuatan package testing
  • pembuatan produk test
Dengan dimilikinya checklist, kita akan dapat mengetahui progress dari kegiatan testing itu sendiri. Mana yang sudah selesai dilakukan test, mana yang belum. Mana yang sudah dilakukan test pun, bisa diketahui mana yang benar modulnya sudah selesai, dan mana yang belum selesai. Jadi tidak sekedar mengetahui mana yang sudah dan mana yang belum.
Proses Pengujian
Proses pengujian haruslah sistematis, dan jika mungkin dibantu dengan menggunakan software, yang bisa membantu dalam proses pengujian. Proses pengujian tidak harus dilakukan secara manual, tetapi juga harus bisa dilakukan dengan diotomatisasi.
Proses pengujian software dapat dibedakan menjadi:
  • pengujian manual (manual testing)
  • pengujian diotomatisasi (automated testing)
  • gabungan manual dan otomatis
Pengujian manual merupakan pengujian yang umum dilakukan oleh banyak tester. Proses pengujian manual membutuhkan suatu prosedur baku, ketekunan, dan ketelitian dari orang yang berperan sebagai penguji (tester). Mengapa? Karena proses pengujian merupakan proses yang berulang, dan bisa jadi sangat menjemukan.
Pengujian yang diotomatisasi merupakan proses pengujian yang menggunakan alat bantu, dalam hal ini software untuk pengujian (testing software). Proses pengujian dirancang agar dapat dilakukan oleh software. Kita bisa membuat program dengan software untuk pengujian, agar proses pengujian dapat dilakukan secara otomatis. Software pengujian sangat diperlukan untuk membantu proses pengujian yang sifatnya berulang dan banyak sekali.
Gabungan antara manual dan otomatis, merupakan proses pengujian yang ideal, karena tetap saja bahwa proses pengujian membutuhkan keputusan manusia sebagai penguji. Banyak pertimbangan dalam proses pengujian tidak bisa dimasukkan ke dalam software untuk pengujian yang diotomatisasi.
Suatu proses pengujian software (software testing process) memerlukan software yang bisa membantu proses pengujian.
Proses pengujian yang umum dilakukan adalah dengan menjalankan software aplikasi yang telah selesai dibuat oleh pemrogram. Kemudian aplikasi dicoba dari awal sampai dengan akhir dengan menggunakan langkah (skenario) dan data yang telah disiapkan.
Secara mudah dan sederhana, suatu aplikasi akan dianggap telah lulus pengujian, apabila setelah dicoba, aplikasi dapat merekam dan memroses data yang dimasukkan, kemudian menghasilan luaran sesuai dengan yang diharapkan, tanpa ada kesalahan sedikitpun.
Pengujian software tidak dilakukan oleh pemrogram saja, tetapi juga harus melibatkan pihak ketiga, pihak yang independent, yang akan memberikan justifikasi bahwa software aplikasi yang dibuat telah lulus dari pengujian.
Permasalahan yang sering timbul apabila hasil dari proses pengujian yang masih bermasalah, dalam artian bahwa software aplikasi belum lulus uji, adalah bagaimana menunjukkan di mana letak kesalahan yang menyebabkan software belum lulus uji.
Pada proses pengujian yang masih konvensional, manual, tanpa ada bantuan software pendukung untuk pengujian, penguji melaporkan hasil pengujiannya dengan menggunakan laporan secara lisan. Akibatnya adalah bahwa seringkali laporan kesalahan tersebut tidak dapat tersampaikan dengan baik, atau bahkan sering kali terlewatkan atau terlupakan sebagai bagian pekerjaan programmer yang harus memperbaikinya.
Pada tingkatan berikutnya, tester telah melakukan pengujian dengan memberikan laporan secara tertulis deskriptif. Pemrogram dapat menggunakan laporan ini untuk bekerja memperbaiki program, sehingga pemrogram bisa memiliki daftar modul yang harus diperbaiki. Pemrogram bisa memeriksa mana saja yang sudah dan mana yang belum diperbaiki. Masalh masih timbul, karena secara deskriptif, kesalahan yang ada tidak dapat dibayangkan di mana letaknya.
Pada tingkatan berikutnya, penguji harus menggunakan software yang dapat merekam gambar dari kesalahan yang terjadi. Penguji dapat melakukan capture (menangkap dan menyimpan) screen yang menunjukkan program yang diuji pada saat ‘error’. Dengan adanya gambar yang menunjukkan kesalahan, pemrogram dapat langsung mengetahui di mana letak kesalahannya. Proses capture screen dapat menggunakan fasilitas dari sistem operasi, jika pengguna menggunakan Windows, maka pengguna dapat dengan mudah melakukan penekanan tombol keyboard PrtSc (PrintScreen).
Akan tetapi seringkali terjadi, timbulnya kesalahan sewaktu-waktu. Pada kasus seperti ini, maka penguji harus dapat melakukan pengujian dengan melakukan proses pengujian secara lengkap terekam. Setiap langkah dari skenario diikuti dan direkam. Penguji dapat melaporkan kesalahan yang terjadi secara lebih lengkap. Pemrogram dapat mempelajari kejadian kesalahan dengan lebih teliti.
Jika kita lihat permasalahan di atas, maka kita membutuhkan suatu software yang bisa merekam proses pengujian dari awal sampai dengan akhir. Software untuk pengujian harus dapat membantu dari proses pembuatan skenario, pelaksanaan skenario, dan proses pelaporan hasil pengujian.
Untuk membantu mengelola skenario sampai dengan merekam proses dan hasil pengujian, maka kita dapat menggunakan software:

  • Testlink (http://testlink.org/)
    Software berbasis web yang digunakan untuk membuat membuat suatu daftar kasus uji yang akan didaftarkan pada setiap skenario dari komponen/modul dari suatu produk. Daftar kasus uji untuk setiap skenario untuk pengujian. Dari data inilah tester akan melakukan pengujian, dan menuliskan setiap pengujian yang dilakukan ke dalam daftar.


  • Bugzilla (http://www.bugzilla.org/) (Mantis - http://www.mantisbt.org)
    Software ini harus dihubungkan dengan Testlink, digunakan untuk melakukan perekaman data modul yang belum lulus uji, yang harus diperiksa dan diperbaiki oleh pemrogram. Pemrogram harus bekerja memperbaiki dan melaporkan hasil uji ini. Tester akan melihat data hasil uji dan perbaikan dari programmer, jika masih belum benar, tester akan menuliskan bahwa
    program masih tetap harus diperbaiki. 


  • screen capture atau yang lebih baik adalah video capture - avi recorder (http://www.bobyte.com/AviScreen/index.asp)
    Software ini sangat dibutuhkan untuk menyimpan bukti proses pengujian dilakukan. Apabila terjadi kesalahan, maka bagaimana terjadinya kesalahan untuk rekonstruksi akan dapat dilihat oleh pemrogram. Penggunaan video capture akan sangat bermanfaat, karena pemrogram dapat dengan mudah menjalankan video ini untuk melakukan rekonstruksi bagaimana kesalahan bisa terjadi, di mana dan kapan terjadi errornya.

Konsekuensi dari proses pengujian ini adalah kita harus memiliki space harddisk yang cukup memadai, untuk dapat merekam semua proses yang dilakukan selama proses pengujian. Jika pengujian telah selesai, maka rekaman hasil pengujian dapat dihapus, tetapi sebaiknya, sebelumnya dihapus terlebih dahulu.

Senin, 14 April 2014

Perang Twitter Marrisa Haque vs Keluarga Adi MS




Konflik yang pernah terjadi antara Marrisa Haque dengan keluarga Adi MS nampaknya kembali memanas. Perseteruan itu muncul melalui jejaring sosial Twitter selama 2 hari ini. Diduga, Marissa merasa kesal lantaran gelar Doktor yang baru diperolehnya dipertanyakan oleh seseorang. Namun, entah mengapa Marissa justru menyangkutpautkannya dengan keluarga Adi MS.

Bahkan, istri dari Ikang Fawzy itu turut menyertakan Kevin Aprilio dalam perang twitter yang dimulainya. Hingga akhirnya, nama pasangan ayah dan anak ini pun menjadi ramai disebut-sebut dalam jejaring sosial tersebut.

“komentar apa tante? tante yg hapus komentar tante !! RT “@HaqueMarissa: @apriliokevin Hapus komentar kamu di youtube Kevin! Faham ya?” balas Kevin melalui akuin twitter @kevinaprilio miliknya.

“@apriliokevin Kamu telpon saya malam ini, Papa dan Mama kamu punya no HP saya, saya jelaskan duduk perkaranya. Saya tahu kamu sejak bayi!” lanjut Marissa.

“tante @HaqueMarissa , aktifin NSP telkomsel Princess 'Jangan Pergi' ketik: PRINCESS kirim ke 1212, biar kalo aku tr tlfn tante aku seneng” balas Kevin.

Merasa konflik yang dulu pernah terjadi diantara dirinya dan keluarga musisi ternama itu belum selesai, Marissa pun meminta permintaan maaf dari keluarga Adi yang dianggapnya telah memojokan dirinya.“@akmal_n_basral @addiems Addie kt ikang kamu mau minta maf sama saya kasih bunga segala, ilusi kayaknya ya? When did you send me flower die?”

Tak puas sampai disitu, Marissa kembali mengeluarkan komentar pedasnya untuk Kevin.“@sarahcescFbrgs @apriliokevin justru saya mau jilbabin kamu dan menutup paha terbuka kamu sama taplak meja saya ya? boleh nak?”

Kevin yang merasa tak pernah memulai permasalahan dengan Marissa sempat mempertanyakan alasan Marissa mengeluarkan pernyataan pedas melalui akun twitter pribadi miliknya. “waduh nama saya dibawa bawa sama Marissa Haque. saya salah apa ya tante blog?”

“iya tante @HaqueMarissa S3 lulusan IPB tp, sebenernya dr td kita gk ngomongin gelarnya tante lo hihi. slamet ya tante kmrn Trending Topic”

Seakan tak ingin ambil pusing dengan tindakan yang dilakukan oleh Marissa, Kevin justru membalas kicauan Marissa dengan candaan yang cukup menggelitik. “tante @HaqueMarissa mending kerja di @AprilioKingdom yuk ngurusin Divisi Online! 'Blog, Youtube, Twitter dll' pasti tante jago!!”

Adi MS yang sudah merasa mulai terganggu dengan tindakan yang dilakukan Marissa akhirnya mulai angkat bicara melalui akun twitter miliknya. “Dear Icha, udah donk,jgn ganggu aku trus dgn mention2 spt ini. Aku ga tertarik RT @MarissaFHUGM: @MarissaFHUGM @addiems”

Tak ingin diganggu lebih jauh, Adi mengaku telah memblokir akun twitter milik Marissa. “Udah  RT @Phyach: @addiems Lucu om.. Hehehe. Blokir smentara aja tnte ichanya,krn beliau gk akan brenti om”

“Gelarku cuma MS. Manusia Sederhana. And I'm damn proud of it!! RT @apriliokevin: gelarku 'Kevin Vierra' !!”

“1. Maaf tadi aku layani gangguan tweet seseorg. Bertahun2 aku & kel berusaha menahan diri saat nama kami ditulis d bbrp blog scr tdk pantas”

“2. Sbgn dr kt msh ingat saat serangan muncul 2 thn yll saat kami menunaikan ibadah haji. Khususnya kpd Memes. Memes bs menahan diri”

“3. Belakangan, org ini bermasalah dgn org lain, tp lucunya lagi2 nama saya & Memes diikutsertakan. Tdk kontekstual smskl”

“4. Bnyk hal2 sensitif yg sngt mengganggu ketentraman keluarga kami krn perilaku org ini. Jelas skl sy, Memes & Kevin diganggu trus mnrus”

“5. Maka kl biasanya kt bs saling mngingatkan utk tdk meladeninya, stlh bertahun2 akhirnya kami tanggapi juga, namun scr santai. Tdk berdebat”

“6. Bagi yg merasa terganggu dgn gaya kami sekeluarga bertwitter, saya persilahkan unfollow saja, spy kami tdk mengganggu ketentraman Anda”

“Raihlah pendidikan tinggi, bukan untuk ilmu yang lebar, tapi untuk ilmu yang dalam. Salam/ Addie MS”

“Ups, td salah tweet. Mksdnya: Raihlah pendidikan yg tinggi, bukan gelar yg lebar, tapi ilmu yg dalam. Salam/ addie ms”

Jangan kaget jika ternyata perseteruan di dunia maya ini akan kembali bersambung. Entah sampai kapan permasalahan yang sudah berlangsung cukup lama ini akan berakhir, namun kita doakan saja semoga mereka dapat menyelesaikannya dengan damai. (cumicumi@Zhr)

Sumber: http://www.cumicumi.com/posts/2012/01/11/25776/26/marissa-haque-perang-twitter-dengan-keluarga-adi-ms.html#sthash.mpZzNBCU.dpuf

Korban Pemerkosaan Teman Facebook Tak Bisa Sekolah




ASS, 14 tahun, korban penculikan dan pemerkosaan oleh teman Facebook-nya, Catur Sugiato, 24 tahun, tidak dapat kembali ke sekolah. Siswi kelas IX SMP Budi Utomo Depok itu dilarang mengikuti pelajaran oleh sekolahnya.

"Anak saya tidak boleh sekolah lagi. Ketika diumumkan di lapangan upacara, memang tidak langsung menyebutkan nama anak saya. Tapi selesai upacara anak saya tidak boleh masuk kelas," kata ibu kandung ASS, Rauden Gultom, kepada wartawan, Senin, 8 Oktober 2012.

Padahal, hari ini adalah pertama kalinya siswi itu menginjakkan kaki di sekolah lagi. Sebelumnya dia diculik sopir angkot D03 jurusan Parung-Depok pada 23-30 September 2012. Menurut Rauden, sekolah tidak menerima ASS karena dianggap telah mempermalukan dan tidak menjaga nama baik sekolah. "Anak saya hanya nangis-nangis di depan kelas," katanya.

Rauden mengaku tidak terima dengan perlakuan ini. Sebab, sekolah tidak menghargai ASS sebagai korban. Apalagi, ketika ASS masuk kelas, dia disuruh keluar lagi dan membawa tas. 

"Sebelumnya dia hubungi saya melalui telepon temannya kalau saya dipanggil kepala yayasan," katanya. Tapi ketika Rauden mendatangi kepala yayasan ternyata tak ada respon. Rauden pun menghampiri anaknya yang sedang menangis di depan kelas. 

"Tapi yayasan tidak kasih anak saya sekolah lagi. Saya tidak terima," kata dia. Atas kejadian ini, Rauden berencana akan melaporkan ke Komisi Nasional Perlindungan Anak.

ketua Komnas PA, Arist Merdeka Sirait, mengatakan sudah mendengar cerita itu dari Rauden. "Sangat disesalkan kejadian ini," katanya. Perlakuan yang diterima ASS, kata Arist, sangat tidak adil. "Dia sudah menjadi korban, tapi masih mendapat perlakuan demikian dari sekolah."

Sampai saat ini pihak sekolah belum bisa dimintai keterangan soal kejadian ini. Sebelumnya, ASS diculik dan diperkosa di Parung dan Ciseeng, Bogor, sebanyak tiga kali. Kasus ini kini ditangani Kepolisian Bogor.


Sumber:  http://fwutami.blogspot.com/2013/03/kasus-cybercrime-dan-pertikaian-di.html