- Testing diperlukan dalam implementasi sistem karena :
- Melakukan pengujian terhadap sistem informasi atau program aplikasi sebelum digunakan.
- Menguji dan membandingan dengan system sebelumnya, untuk memunculkan keunggulan pada system yang lama dan mengurangi kesalahan pada system yang baru. System yang baru lebih baik dari pada system yang lama.
- Merevisi sisstem yang diuji, sampai sistem benar benar dapat menyelesaikan maslah pada sistem / organisasi (revisi sistem sebelum sistem digunakan).
- Sistem yang sudah digunakan, berarti sudah melalui pengujian sistem dan sistem layak dioperasikan / digunakan.
- Software defect / bug adalah suatu kondisi dalam produk perangkat lunak yang tidak memenuhi persyaratan perangkat lunak (sebagaimana tercantum dalam spesifikasi persyaratan) atau harapan pengguna akhir (yang mungkin tidak ditentukan tetapi masuk akal). Dengan kata lain, cacat adalah kesalahan dalam pengkodean atau logika yang menyebabkan program tidak berfungsi atau menghasilkan hasil yang salah / tidak diharapkan.
- 5 Kategori Defect Software :
- User Interface error-sistem memberikan suatu tampilan yang berbeda dari spesifikasi.
- Error 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.
- Faktor penyebab kegagalan pengembangan software diantaranya :
- Poor User Input - Masukan penting yang diperlukan untuk membangun perangkat lunak (PL) adalah bagaimana sistem yang dibuat tersebut akan dipakai di lapangan.
- Stakeholder Conflichts - Stakeholder bekerja di bawah ilusi bahwa semua orang harus mendapatkan apa yang mereka inginkan.
- Vague Requirement - Perlu bekerja keras untuk mempelajari apa yang akan terjadi ketika sebuah proyek mulai dikerjakan pada saat kebutuhan yang diinginkan belum jelas.
- Poor Cost and Schedule Estimation - Sebenarnya tidak fair menuduh setiap proyek PL pasti mengalami kegagalan, jika tidak mengaitkan antara biaya yang dikeluarkan dengan tujuan yang diinginkan.
- Skills That Do Not Match The Job - Pengerjaan proyek dengan teknologi tinggi memerlukan seorang manajer dengan kemampuan teknik yang hebat. Penanggung jawab proyek harus bisa menempatkan orang yang memahami dampak dari resiko teknik yang diambil. Namun demikian, seorang teknolog yang baik tidak perlu diseimbangkan dengan manager yang baik, karena kemampuan manajemen dan pemrograman tidak bisa dipertukarkan.
- Hidden Cost of Going “Lean and Mean” - Sejumlah kegagalan akan dipandang sebagai hasil langsung dari kinerja yang buruk, meskipun sesungguhnya kinerja yang buruk tidak menunjuk pada faktor yang signifikan dalam kegagalan pada kebanyakan proyek. Kegagalan sebuah proyek tidak bisa terlepas dari rencana tujuan yang ingin dicapai. Hal lain yang juga pantas dicermati adanya perbedaan kecenderungan yang terjadi dalam sebuah organisasi.
- Failure to Plan - Banyak orang bekerja keras, tapi tak seorangpun yang memiliki rencana, karena tidak ada yang merasa perlu membuat rencana. Seorang manajer proyek sering tidak membuat rencana, karena banyak rencana yang diserahkan bersamaan dengan berlalunya waktu.
- Communication Breakdown - Sejumlah problema yang timbul pada proyek berskala besar biasanya jika orang yang mengerjakannya berasal dari bagian yang berbeda. Dalam banyak kasus proyek yang bermasalah, tidak ada seorang pun yang memiliki pandangan yang menyeluruh pada proyek tersebut, khususnya bila proyeknya berskala besar.
- Poor Architecture - Desain perangkat lunak sebaiknya dapat dikonfigurasi ulang untuk mendukung sebuah fungsi baru. Sebuah arsitektur PL seharusnya bisa mengikuti organisasi dan misi yang berubah, setidaknya harus memperhitungkan keterbatasan jangka panjang, tingkat kesulitan dan harganya.
- Late Failure Warning Signals - Lamanya waktu penyelesaian dan besarnya biaya pembuatan PL sangat dipengaruhi oleh sinyalemen orang yang mana kita takut mengatakan “tidak” kepadanya. Kedengarannya hal ini tidak baik secara politik dikarenakan mengatakan atau menunjukkan perkiraan yang jauh dari yang dapat dijalankan. Memang kenyataannya tak seorangpun bisa mengetahui bencana yang mendekat karena sering kali tak terlihat gejala awalnya.
- Pengujian diperlukan dalam implementasi sitem karena :
- Untuk mengetahui sistem yang digunakan sudah sesuai dengan permintaan user.
- untuk menguji keunggulan dan kelemahan suatu sistem.
- Mengevaluasi terhadap urutan kegiatan yang sistematis dalam mencapai tujuan sistem.
- Penjelasan mengenai Unit Testing, System Testing dan Acceptance Testing
- Unit Testing adalah metode verifikasi perangkat lunak di mana programmer menguji suatu unit program layak untuk tidaknya dipakai. Unit testing ini fokusnya pada verifikasi pada unit yang terkecil pada desain perangkat lunak (komponen atau modul perangkat lunak). Karena dalam sebuah perangkat lunak banyak memiliki unit-unit kecil maka untuk mengujinya biasanya dibuat program kecil atau main program) untuk menguji unit-unit perangkat lunak. Unit-unit kecil ini dapat berupa prosedur atau fungsi, sekumpulan prosedur atau fungsi yang ada dalam satu file jika dalam pemrograman terstruktur, atau kelas, bisa juga kumpulan kelas dalam satu package dalam PBO. Pengujian unit biasanya dilakukan saat kode program dibuat.
- System Testing adalah pengujian yang dilakukan terhadap keseluruhan sistem (secara lengkap) dan sistem yang telah terintegrasi untuk mengevaluasi apakah sistem yang dibuat telah sesuai dengan kebutuhan pengguna.
- Acceptance Testing adalah tahap akhir pada testing yang dijalankan untuk mengetahui apakah masih terdapat defect pada aplikasi/software yang dikembangkan.
- 3 Pilar Perancangan Sistem
- User Interface Requirements, Dalam perancangan, Meletakkan persyaratan antarmuka pengguna adalah bagian dari keseluruhan kebutuhan pengembangan dan proses manajemen, persyaratan antarmuka pengguna menggambarkan perilaku sistem dan kunci utama untuk sukses dalam setiap kegiatan pembangunan
- Guidelines Documents and Processes, Setiap proyek memiliki kebutuhan yang berbeda, tetapi pedoman harus di pertimbangkan untuk:
- Kata-kata, Ikon, dan Grafik
- Isu Layar Layout
- Perangkat Input dan Output
- Urutan Tindakan
- Latihan
- User Interface Software Tools, Salah satu kesulitan dalam merancang sistem interaktif adalah bahwa pelanggan dan pengguna mungkin tidak memiliki gagasan yang interaktif adalah novel dalam banyak situasi, pengguna mungkin tidak menyadari implikasi dari keputusan desain. Tetapi sulit, mahal, dan memakan waktu untuk membuat perubahan besar pada sistem setelah sistem tersebut telah dilaksanakan.
- Perbedaan antara White Box Testing dan Black Box Testing adalah
- White Box Testing, pengujian yang didasarkan pada detail prosedur dan alur logika kode program. Pada kegiatan whitebox testing, tester melihat source code program dan menemukan bugs dari kode program yang diuji. Intinya whitebox testing adalah pengujian yang dilakukan sampai kepada detail pengecekan kode program.
- Black Box Testing, Black Box Testing : Pengujian yang didasarkan pada detail aplikasi seperti tampilan aplikasi, fungsi-fungsi yang ada pada aplikasi, dan kesesuaian alur fungsi dengan bisnis proses yang diinginkan oleh customer. Pengujian ini tidak melihat dan menguji souce code program.
Sumber :
https://www.kompasiana.com/achsby/5cdc1d793ba7f7541753d652/penerapan-testing-dan-implementasi-pada-sistem-informasi?page=all
https://yayuk05.wordpress.com/2007/10/01/faktor-faktor-penyebab-kegagalan-proyek-perangkat-lunak/
https://www.codepolitan.com/pentingnya-pengujian-perangkat-lunak
http://masendro-tkj.blogspot.com/2014/06/definisi-tentang-sistem-testing.html#sthash.uEpIOMt9.KHyEU8sq.dpbs
https://socs.binus.ac.id/2017/12/06/user-acceptance-testing/
http://student-activity.binus.ac.id/himsisfo/2016/10/perbedaan-white-box-testing-dan-black-box-testing/