UJI COBA DAN APLIKASI SISTEM
Defenisi
dari testing Testing adalah proses yang
dibuat sedemikian rupa untuk mengindentifikasikan etidaksesuaian hasil sebuah
sistem informasi dengan hasil yang diharapkan.
§ Sub dari testing ada 3 yaitu :
- Testing dilakukan untuk memastikan kualitas (quality assurance) yaitu menguji apakah sistem informasi yang dihasilkan sesuai dengan Testing dilakukan untuk memastikan kualitas (quality assurance)
- Proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan(defect) dan mengevaluasi fitur-fitur dari entitas software.(Standar ANSI/IEEE 1059)
- Testing software adalah proses pengoperasian SW dalam suatu kondisi yang dikendalikan,untuk:
1.
Verifikasi berlaku sebagaimana mestinya
2.
Mendeteksi
error, dan Validasi, apakah sudah memenuhi keinginan user
3.
Verifikasi
:pengecekan/pengetesan entitas-entitas, termasuk software,untuk pemenuhan dan
konsistensi dengan melakukan evaluasi hasil terhadap kebutuhan yang telah
ditetapkan
4.
Validasi :
melihat kebenaran sistem, apakah proses yang telah ditulis dalam spesifikasi
adalah apa yang sebenarnya.
5.
Deteksi error
:testing untuk mendeteksi kesalahan secara insentif, yaitu menentukan apakah
suatu hal tersebut terjadi bilamana tidak seharusnya terjadi .
melalui pengetesan terhadap system akan dapat :
1.
Meningkatkan
kepercayaan, tingkat resiko yang dapat diterima
2.
Menyediakan
informasi yang dapat mencegah terulangnya error
3.
Menyediakan
infromasi untuk mendeteksi error secara dini
4.
Mencari error
dan kelemahan/keterbatasan sistem.
5.
Mencari sejauh
apa kemampuan dari sistem
6.
Menyediakan
informasi untuk kualitas produk software
§ Prinsip
testing
a.
Testing yang
komplit tidak mungkin
b.
Testing
merupakan pekerjaan yang kreatif dan sulit
c.
Alasan yang
penting diadakan testing adalah untuk mencegah terjadinya error
d.
Testing berbasis
pada resiko
e.
Testing harus
direncanakan
f.
Testing
membutuhkan independensi
Testabilitas software adalah seberapa mudah suatu
program komputer dapat dites (James Bach)
·
Operability
Semakin baik software bekerja,akan membuat software
dites dengan lebih efisiensi
·
Observability
Apa yang anda lihat adalah apa yang anda tes
·
Controllability
Semakin baik kita dapat mengendalikan software,
semakin banyak testing dapat diotomatisasi dan dioptimalisasi
·
Decomposability
Dengan pengendalian batasan testing, dapat lebih
cepat dalam mengisolasi masalah dan melakukan testing ulang.
·
Simplicity
Semakin sedikit yang dites, semakin cepat dilakukan
tes
·
Understandability
Semakin banyak infromasi yang kita miliki, akan
dapat melakukan test lebih baik.
Apa itu software error,bugs dan defect?
§ Error adalah aksui manusia yang membuat hasil yang
salah.
§ Fault adalah kesalahan langkah,proses,atau data
dalam program komputer.
§ Failure adalah ketidakmampuan sistem atau komponen untuk melakukan fungsi
sesungguhnya.
§ Error merupakan kekurangan atau kesalahan manusia
yang menghasilkan fault dalam software.
§ Fault merupakan kondisi dimana software dapat
mengakibatkan failure terjadi.
§ Failure bermula dari programer yang membuat
error.error disini dapat berarti error logika atau sintaks yang menyebabkan
kesalahan dalam fungsionalitas software . error dapat menyebabkan fault namun
tidak semua error menghasilkan fault. Fault akan menhasilkan failure apabila
ada event yang memicu terjadinya failure,namun tidak semua fault dapat
menyebabkan failure.
§ Istilah defect adalah fault yang ditemukan oleh tester
namun bagi pihak developer defect yang diakui oleh tim tester dinamakan bugs.
Beberapa
Defect Software
Terdapat 13 kategori defect software
(Kaner,Falk,Nguyen[KAM93A]):
- User Interface error-sistem memberikan suatu tampilan yang berbeda dari spesifikasi
- Eror handling- perlakuan terhadap error bila terjadi
- Boundary- related error- perlakukan terdapat nilai batasan dari jangkauan mereka yang tidak benar
- Calculation error – perhitungan aritmatika dan logika yang mungkin tidak benar
- Initial and Later states – fungsi gagal pada saat pertama digunakan atau sesudah itu
- Control flow error – pilihan terhadap apa yang dilakukan berikutnya tidak sesuai untuk status saat ini.
- Error in handling or interpreting data – melewatkan dan mengkonversikan data antar sistem
- Race condition – bila dua event diproses maka salah satu akan diterima berdasarkan prioritas sampai pekerjaan selesai dengan baik, baru pekerjaan berikutnya.
- Load condition – saat sistem dipaksa maksimum, amsalh akan mulai muncul, seperti arrays, overflow, diskfull.
- Hardaware –antar muka dengan suatu device mungkin tidak dapat beroperasi dengan benar.
- Source and Version Control – program yang telah kadarluarsa mungkin dapat digunakan lagi bila ada revisi.
- Documentasi- penggunaan tidak dapat melihat operasi yang telah dideskripsikan dalam dokumen panduan
- Testing error-tester membuat kesalahan selama testing dan berpikir bahawa sistem berkelakukan tidak benar.
Mengapa
perlu pengujian?
Persepsi
umum tentang pengujian adalah bahwa ini hanya terdiri dari pelaksanaan,
misalnya mejalankan perangkat lunak. Itu merupakan bagian dari pengujian, tapi
bukan keseluruhan kegiatan pengujian. Kegiatan pengujian ada pada sebelum dan
sesudah eksekusi pengujian :kegiatan seperti perencanaan dan pengendalian,
memilih ketentuan pengujian, merancang kasus pengujian dan hasil pengecekan,
mengevaluasi criteria hasil, melaporkan pengujian proses dan sistem selama
pengujian, dan penyelesaian (setelah fase pengujian telah dilengkapi).
Pengujian juga mencakup pengamatan dokumen (termasuk kode sumber ) dan analisis
statis.
Baik
pengujian dinamis maupun statis, bias digunakan sebagai alat untuk mencapai
tujuan yang sama, dan akan menyediakan informasi yang bertujuan untuk
meningkatkan sistem untuk diuji, dan proses pengembangan serta pengujian.
Terdapat beberapa tujuan pengujian:
- Mencari tahu kerusakan
- Mencapai keyakinan diri menyangkut tingkat kualitas dan penyediaan informasi.
- Mencegah kerusakan
Proses pemikiran untuk merencanakan pengujian lebih
awal dalam daur hidup (memperbaharui dasar pengujian melalui rancangan
pengujian) dapat membantu mencegah
kerusakan berkaitan dengan kode. Pengamatan dokumen juga membantu mencegah
kerusakan muncul dikode.
Perbedaan sudut pandang pengujian membutuhkan objek
yang berbeda. sebagai
Contoh, dalam pengembangan pengujian(komponen,
pengujian integrasi dan sistem), objek utama bias menghasilkan kelalaian
sebanyak mungkin sehingga kerusakan diperangkat lunak teridentifikasi dan bias
diperbaiki. Dalam pengujian penerimaan, objek utama dapat memastikan bahwa
sistem bekerja seperti yang diharapkan, untuk mencapai keyakinan bahwa telah
memenuhi syarat. Dalam beberapa kasus objek utama pengujian dapat memastikan
kualitas perangkat lunak (tanpa bermaksud memperbaiki kerusakan), untuk memberi
informasi kepada stakeholder mengenai
resiko melepaskan sistem pada waktu yang ditentukan.
a.
Kenapa Testing
diperlukan?
Konteks sistem Software
Sistem software sudah menjadi bagian dalam
kehidupan dan menjadi kebutuhan untuk meningkatkan kinerja pada karyawan dan
bisnis. Sistem memerlukan suatu perawatan dan berbaikan secara berkala sehingga
program tidak banyak menimbulkan masalah, baik proses transaksi, proses bisnis
seperti penggunaan komputer untuk kemudahan pada pekerjaan.
b.
Beberapa
Penyebab kegagalan software
Kesalahan
dalam mendesain dan analisa dapat mengakibatkan kegagalan pada sistem.
Programmer dapat membuat kesalahan dalam pengkodean, pada sebuah program, atau
dalam sistem sehingga terjadi kegagalan atau ketidak efectifan sistem yang
digunakan dalam proses bisnis.
Kegagalan dapat disebabkan oleh kondisi lingkungan
seperti radiasi, magnetis, medan magnet dan polusi dapat meyebabkan kesalahan
program atau mempengaruhi kondisi perangkat lunak atau perangkat keras.
c. Prinsip-prinsip Pengujian Umum
Prinsip
1-Pengujian Menunujukkan Adanya Kerusakan
Pengujian bisa menunjukkan bahwa kerusakan itu ada,
tapi tidak bisa membuktikan bahwa tidak adanya kerusakan. Pengujian mengurangi
kemungkinan kerusakan tertinggal di perangkat lunak, tapi walaupun tidak adanya
kerusakan yang ditemukan, itu bukan merupakan bukti ketepatan.
Prinsip
2-Pengujian secara mendalam adalah Mustahil
menguji segalanya(semua kombinasi input dan
prakondisi) tidak berlaku untuk beberapa kasus. Disamping pengujian
mendalam,resiko analisis dan prioritas harus digunakan untuk memfokuskan tujuan
pengujian.
Prinsip
3-Pengujian Awal
Pengujian harus dilakukan sedini mungkin bagi
perangkat lunak atau daur hidup pengembangan sistem, dan harus difokuskan pada
tujuan yang telah ditentukan.
Prinsip
4-Pengelompokkan Kerusakan
Beberapa modul berisi sebagian besar kerusakan
ditemukan selama pra pengujian, atau bertanggung jawab terhadap sebagian besar
kelalaian operasional. Kerusakan dapat dikelompokan dengan besarnya kerusakan
tersebut.
Prinsip
5-Pradoks Pestisida
Bila sebuah pengujian yang sama dilakukan berulang kali, beberapa kasus
pengujian yang sama tidak akan menemukan kerusakan baru lagi.untuk
menyelesaikan “Raradoks Pestisida” ini, harus diamati dan diperbaharui secara
rutin.
Prinsip 6-Pengujian Bergantung pada Keadaan
Pengujian dapat dibedakan dilihat dari kompleksitas sistem dan keadaan
perangkat lunak serta kapasitas sistem tersebut. Contoh perangkat lunak
keamanan tingkat tinggi berbeda dengan situs e-commerce.
Prinsip 7-Pemikiran tanpa kesalahan
Menemukan dan memperbaiki kerusakan tidak akan membantu jika sistem yang
dibangun tidak dapat digunakan dan tidak memenuhi kebutuhan serta harapan
pengguna.
d.
Dalam pengujian
perangkat lunak terdapat, 3 Tahapan dalam Testing
·
Unit Testing
adalah pengujian dari unit yang kecil
agar berjalan sebagaimana mestinya.
·
System Testing
adalah pengujian keseluruhan mulai dari input sampai output.
·
Acceptance
Testing adalah pengujian dilakukan dengan meminta persetujuan dari sipemakai.
Terdapat dua cara disain Test
Case, yaitu:
·
black box
testing adalah Dengan berdasarkan pada fungsi yang dispesifikasi dari produk,
tes dapat dilakukan dengan mendemontrasikan tiap fungsi telah beroperasi secara
penuh sesuai dengan harapan.
·
white box testing
adalah Dengan pengetahuan operasi internal dari produk, tes dapat dilakukan
untuk memastiskan semua komponen berjalan semestinya, operasi internal berlaku
berdasarkan pada spesifikasi dan semua komponen internal telah cukup diperiksa.
PERANCANGAN SISTEM INFORMASI
PERANCANGAN INTERATIF, PENGUJIAN, DAN EVALUASI
Participatory Design dan Analisis Tugas
•
Participatory
design adalah perancangan yang
melibatkan
pemakai .menciptakan suatu interface/sistem yang lebih nyaman bagi users.
•
Dampak
Keterlibatan pemakai dalam perancangan :
–
Menghasilkan
lebih banyak informasi yang akurat tentang tugas .artinya informasi didapat
dari pemakai.
–
Memberi
kesempatan untuk berargumen atas keputusan rancangan
–
Memberi rasa
keikutsertaan yang membentuk investasi ego dalam implementasi yang sukses artinya programer harus menerima masukan dari user
atau si pemakai.
–
Potensi untuk
meningkatkan penerimaan pemakai atas Sistem Final artinya kepercayaan user
untuk menerima hasil akhir program meningkat.
•
Perancangan
adalah hal yang kreatif dan tak dapat diduga. Carroll dan Rosson menyebutkan
karakteristik perancangan sebagai berikut :
–
Perancangan
adalah suatu proses; bukan merupakan keadaan dan tidak dapat
direpresentasikan dengan memadai oleh statistik artinya perancangan tidak dapat
diukur atau diprediksi dengan angka atau persen.
–
Proses
perancangan adalah non-hierarkis; tidak ketat bottom-up maupun top-down
artinya dalam merancang tidak ada tingkatan
atau tidak ada aturan waktu.
–
Proses
perancangan adalah transformasional secara radikal ; melibatkan
pengembangan solusi sebagian dan sementara yang akhirnya mungkin tidak berperan
dalam rancangan akhir
Artinya perubahan secara pasti,isi fikiran atau ide
ditransformasikan dalam bentuk nyata.
–
Perancangan
secara intrinsik melibatkan penemuan tujuan-tujuan baru artinya
perancangan selalu update atau berinovasi.
. Sasaran Perancangan Sistem Informasi
•
Menentukan
secara tepat banyaknya Informasi yang dibutuhkan User artinya programer harus
menentukan secara tepat banyak tidaknya informasi yang seharusnya diterima oleh masing-masing
pihak yang membutuhkan agar benar-benar membantu dalam menjalankan pekerjaan.
•
Melakukan
Standarisasi
a.
Persaingan: jika
semua orang sudah memakai maka kita juga harus memakai.
b.
Penyesuaian:disamakan,dari
yang manual dirubah menjadi standarisasi.
•
Pengembangan
Sistem Pengendalian bertujuan untuk bisa menghasilkan keluaran yang didasarkan
atas pertimbangan efesiensi.contoh pengendalian file yang dulunya manual sudah
elektronik.
•
Mengurangi
Fungsi-fungsi yang terduplikasi artinya menghindari duplikasi baik dari hal
tujuan,operasi,data,form-form,serta laporannya juga menghindarkan adanya
prosedur-prosedur yang tidak perlu.
Panduan Dasar Perancangan Sistem
•
Apakah Sistem
berjalan akan dikembangkan artinya dari
manual sudah dikomputerisasi dengan komponen-komponen yang tidak berkurang atau
disederhanakan contoh krs yang dulu 3tanda tangan sekarang menjadi 2 tanda
tangan saja.
•
Apakah sejumlah
langkah telah dijalankan artinya ada masalahkah,survey dan beri solusi.
•
Menghindari
Fungsi yang mengalami Redundansi & Duplikasi
•
Sistem baru harus
lebih lengkap, bekerja lebih cepat, menyeluruh, dan lebih murah
dibanding Sistem berjalan,murah dalam artian biaya operasional.
•
Laporan yang
dikeluarkan Sistem Baru harus benar-benar memenuhi kebutuhan Informasi User dan
Management artinya laporan-laporan yang membantu dalam proses pengelolaan
pekerjaan.
•
Diperlukan
Sarana yang mempermudah pengendalian terhadap Implementasi Sistem,perangkat-perangkat
yang dibutuhkan dalam pengendalian.

Tidak ada komentar:
Posting Komentar