Testing dan Implementasi Sistem Informasi

on Sabtu, 01 Agustus 2009

A. Testing
1. Pengertian Testing
Testing adalah proses yang dibuat sedemikian rupauntuk mengidentifikasikan adanya ketidak sesuaian suatu hasil sebuah system informasi dengan apa yang diharapkan.
Berdasarkan pengertian diatas maka testing mempunyai beberapa tujuan antara lain :
a. Testing dilakukan untuk memastikan mutu dari suatu produk yaitu menguji apakah produk ( dalam hal ini system informasi) yang dihasilkan telah sesuai dengan mutu yang dipersyaratkan. Testing dilakukan untuk memastikan / menjaga muti suatu produk.
b. Testing juga bias berarti sebuah proses analisa dan etitas software. Pada testing ini bertujuan untuk mendeteksi adanya perbedaan antara kondisi software yang ada dengan kondisi yang diinginkan, untuk melihat kerusakan suatu produk dan melakukan evaluasi fitur-fitur dari member nama software.
2. Prinsip-prinsip Testing
Pelaksanaan suatu testing tergantung terhadap obyek yang akan dilakukan testing, sehingga pelaksanaan dan model testing sangat beragam.
Meskipun begitu terdapat beberapa hal yang perlu diketahui dalam pelaksanaan testing adalah sebagai berikut :
a. Pelaksanaan testing yang komplit tidak mungkin.
b. Testing merupakan pekerjaan yang kreatif dan sulit.
c. Alasan yang penting diadakan testing adalah untuk mencegah terjadinya eror.
d. Testing yang dilakukan biasanya berbasis pada resiko.
e. Testing harus direncanakan dan terjadwal.
f. Testing membutuhkan independensi (perlu adanya pihak ketiga yang terlibat).
B. Integrasi Testing ke Dalam Siklus Hidup Software
Secara umum, integrasi testing ke dalam siklus hidup software, dapat dituliskan ke dalam bentuk tahapan dari siklus hidup software, sebagai berikut :
1. Inisialisasi Proyek
a. Mengembangkan strategi tes secara garis besar.
b. Menetapkan pendekatan dan usaha tes secara keseluruhan.
2. Kebutuhan
a. Menetapkan kebutuhan testing.
b. Menetapkan penanggung jawab testing.
c. Mendisain prosedur tes dan tes berbasis kebutuhan, awal.
d. Melakukan tes dan validasi kebutuhan.
3. Disain antara
a. Menyiapkan rencana tes sistem dan spesifikasi disain, awal.
b. Menyelesaikan rencana acceptance test dan spesifikasi disain.
c. Menyelesaikan tes berdasarkan disain.
d. Melakukan tes dan validasi disain.
4. Pengembangan
a. Menyelesaikan rencana tes sistem.
b. Menyelesaikan prosedur tes dan tes berbasis kode, final.
c. Menyelesaikan disain modul atau unit tests.
d. Melakukan tes program.
e. Integrasi dan melakukan tes sub sistem.
f. Melakukan system test.
5. Implementasi
a. Melakukan acceptance test.
b. Tes perubahan dan perbaikan.
c. Evaluasi efektifitas testing.
6. Faktor penentu kasuksesan dari testing yang lainnya, adalah penerapan teknik testing secara tepat yang diadopsi dan digunakan pada sepanjang siklus hidup. Review merupakan alat bantu testing yang sangat bermanfaat untuk digunakan pada sepanjang siklus hidup.
Testing Dengan Review
Pada awalnya review adalah alat bantu pengendalian manajemen. Selama proyek berlangsung, manajemen memerlukan suatu penilaian dan pengukuran kinerja proses yang telah berlangsung. Jadi obyektifitas dari review adalah untuk mendapatkan informasi yang konsisten dan dapat dipercaya, biasanya berupa status dan atau kualitas kerja.
Terdapat banyak jenis dari review, yaitu : kebutuhan, spesifikasi, disain, coding, prosedural, dokumentasi, konversi, instalasi, implementasi, disain tes, prosedur tes dan rencana tes.
Review hadir dalam dua bentuk, yaitu (1) formal dan (2) tidak formal. Yang dipandang sebagai teknik testing adalah review dalam bentuk formal, dimana partisipan bertanggung jawab untuk melakukan kalkulasi secara akurat dan menghasilkan laporan dari apa yang telah mereka temukan bagi manajemen.
Rencana review secara minimum, harus terdiri dari :
a. Siapa saja yang diharapkan akan hadir.
b. Informasi yang dibutuhkan sebelum memulai review.
c. Kondisi awal yang harus dipenuhi sebelum review dilakukan.
d. Daftar kegiatan atau item atau indikasi lainnya yang bersangkutan dengan apa yang akan dibahas.
e. Kodisi akhir atau kriteria yang harus dipenuhi agar review dapat dinyatakan selesai.
f. Data dan dokumentasi disimpan.
Testing Kebutuhan
Testing suatu dokumen harus mempertimbangkan dua pertanyaan dasar, yaitu :
a) Apakah ada kebutuhan yang hilang?
• Apakah semua fungsi yang dibutuhkan telah dialamatkan dengan benar?
• Apakah kinerja yang dibutuhkan telah dispesifikasikan?
• Apakah kualitas software telah dispesifikasikan?
• Apakah software telah sepenuhnya didefinisikan?
b) Dapatkah suatu kebutuhan disederhanakan atau dihilangkan?
• Dapatkah kebutuhan dikombinasikan?
• Apakah ada kebutuhan yang sangat restriktif?
• Apakah ada kebutuhan yang redundansi atau kontradiksi?
Teknik-teknik yang berguna dalam testing kebutuhan, termasuk :
a) Matrik validasi kebutuhan.
b) Model atau prototipe.
c) Pengembangan secara bertahap.
d) Tabel keputusan dan grafik sebab dan akibat.
e) Penggrupan dan analisa kebutuhan.
Testing Disain Sistem
Sebagaimana pada testing kebutuhan, pada testing disain sistem juga mempunyai dua pertanyaan dasar, yaitu :
a) Apakah solusi merupakan pilihan yang benar?
• Dapatkah disain dicapai dengan lebih sederhana?
• Apakah merupakan pendekatan alternatif yang terbaik?
• Apakah merupakan cara tercepat untuk melakukan pekerjaan?
b) Apakah solusi memenuhi kebutuhan?
• Apakah semua kebutuhan telah dicakup dalam disain?
• Apakah merupakan disain kerja?
• Apasaja sumber dan resiko dari kegagalan?
Metode-metode yang dapat digunakan untuk menetapkan alternatif dan validasi disain, adalah :
c) Simulasi dan model.
d) Kompetisi disain.
e) Kebutuhan dan disain test cases berbasis disain.



Otomatisasi Testing
Otomatisasi testing adalah alat bantu yang digunakan untuk mempermudah proses dan dokumentasi tes, mengefisienkan eksekusi dari tes, dan mempermudah pengukuran pada tes. Sehingga diharapkan dapat memberikan peningkatan yang cukup besar dalam manajemen proses, meminimalkan keterlibatan manusia, dan replikasi pekerjaan.
Otomatisasi testing adalah area yang paling tinggi tingkat perkembangannya dalam industri testing. Mengapa otomatisasi testing dibutuhkan ?
1. Testing selalu dihadapkan pada masalah jadual yang ketat.
2. Testing sering diulang-ulang banyak kali.
3. Testing berkemungkinan untuk dijalankan selama 24 jam sehari, atau tidak pada jam kerja.
4. Testing dapat dilakukan dengan lebih cepat dan akurat, dimana ketidakkonsistenan manusia dapat diminimalkan.
5. Dokumentasi testing dapat dilakukan secara konsisten, sehingga dapat diaudit secara penuh dan berkala.
6. Script testing dapat menjadi aset yang dapat digunakan kembali untuk testing yang sama pada proyek testing yang lain.
7. Mempercepat dalam peninjauan kembali terhadap testing itu sendiri.
8. Dapat meningkatkan proses.
Otomatisasi testing hendaknya dimulai dari hal yang paling mudah terlebih dahulu, dan secara bertahap meningkatkan kompleksitas dari kasus yang diotomatisasi. Bagaimanapun, testing secara manual untuk beberapa kasus masih tetap diperlukan, dan pengembangan otomatisasi testing harus selalu berdasar pada pertimbangan-pertimbangan praktis.


Berdasarkan pada cara pengembangan otomatisasi tes, terdapat dua macam kelompok tes, yaitu :
a. Kesehatan Tes
• Jalankan sebelum testing secara keseluruhan dimulai, untuk menentukan apakah sistem layak untuk digunakan untuk testing secara keseluruhan.
• Jalankan secepatnya, kurang dari satu jam.
• Cek apakah ada kejutan yang tidak diinginkan terjadi.
b. Tes keseluruhan
• Selesaikan secara komplit rangkaian-rangkaian tes yang telah ditetapkan.
• Mungkin membutuhkan beberapa jam atau mungkin beberapa hari untuk menyelesaikannya.
Kelebihan dari otomatisasi testing, adalah sebagai berikut :
a. Mampu melakukan testing secara lebih menyeluruh, dan dapat meningkatkan kinerja regression testing.
b. Durasi waktu yang lebih pendek dalam pelaksanaan testing, sehingga dapat memperbanyak waktu pemasaran atau pun hal strategis lainnya.
c. Meningkatkan produktivitas dari pemakaian sumber daya, dimana tester sangat sulit didapatkan dan mahal. Disamping itu tingkat kepercayaan akan keberhasilan proyek testing pun dapat ditingkatkan.
d. Mengurangi kesalahan dan keteledoran tester, seperti tidak terdeteksinya error, kecerobohan dalam menekan tombol, dll.
e. Melakukan pencatatan secara detil tes log dan item-item yang diaudit, dimana semua hasil eksekusi tes dapat disimpan secara tepat dan teliti untuk proses debugging.
Sedangkan kekurangan dari otomatisasi tes, antara lain :
a. Membutuhkan waktu untuk inisialisasi tes.
b. Membutuhkan perawatan test cases, agar modifikasi tingkah laku sistem yang dilakukan dapat dijaga konsistensinya dengan yang lama, dan agar dapat menghindari keberadaan fitur yang tidak stabil.
c. Membutuhkan waktu beberapa minggu pembelajaran agar didapatkan tingkat kemampuan yang diharapkan.
d. Tetap tidak dapat sepenuhnya menghilangkan testing manual. Umumnya 50 - 75% test cases tidak dapat diotomatisasi (tergantung pada lingkungannya).
e. Membutuhkan biaya investasi yang dapat mencapai US$ 30000 untuk lisensi pengguna tunggal.
f. Terdapatnya batasan teknis, baik terhadap lingkungan sistem operasi, tipe aplikasi, waktu respon, dll.
g. Beberapa alat bantu otomatisasi masih berorientasi pada programmer, sehingga tidak cocok untuk pengguna akhir yang awam pemrograman.
h. Kesulitan dalam memfokuskan tes untuk diotomatisasi, dimana kasus-kasus yang beresiko tinggi dapat dicakup secara keseluruhan.
i. Kurangnya stabilitas dan dukungan, dimana kebanyakan vendor penyedia alat bantu otomatisasi tes tidak dapat dengan cepat merespon terhadap bug yang terjadi pada alat bantu tesebut, serta kurangnya ketersediaan pengguna yang berpengalaman dipasaran kerja
Organisasi harus menghindari hambatan-hambatan yang dapat menyebabkan kegagalan dari implementasi otomatisasi testing, dengan memastikan pemenuhan dari hal-hal sebagai berikut :
a. Identifikasi kebutuhan untuk melakukan otomatisasi testing, seperti (1) analisa biaya dari usaha untuk berpindah ke otomatisasi, (2) hasil analisa dari pengukuran yang mengindikasikan kebutuhan untuk meningkatkan kinerja testing dengan melakukan otomatisasi testing, dan (3) keluhan dari tester karena pelaksanaan tes ulang secara manual.
b. Dukungan organisasional, seperti (1) kecukupan sumber daya dan anggaran untuk memesan alat bantu, mengadakan pelatihan, dan melakukan evaluasi, (2) dukungan dan pemahaman manajemen secara mendasar.
c. Proses testing yang telah stabil (terdefinsi dan termanajemeni dengan baik), karena otomatisasi tes (1) tidak membantu dalam penentuan apa yang akan dites, dan tes mana yang akan diimplementasikan, tetap membutuhkan disain tes, (2) tidak dapat menertibkan kekacauan proses, (3) membutuhkan proses-proses pendukung lainnya, seperti manajemen konfigurasi dari data tes.

Referensi
http://www.google.co.id/search?hl=id&q=penerapan+testing+dan+implementasi&btnG=Telusuri+dengan+Google&meta=&aq=f&oq=
http://pksm.mercubuana.ac.id/modul/18019-1-168113516927.doc...

0 komentar:

Posting Komentar

Maaf Baru buat blog, jadi harap dimaklumi...