Berjalan melalui daerah ranjau

chmood
Berjalan melalui daerah ranjau yang
antipattern masalah

   Menggunakan teknologi perangkat lunak saat ini analog dengan berjalan melalui bidang tambang-teknologi tinggi. Mini-antipattern juga dikenal sebagai Tidak Pekerjaan atau Apakah Anda Percaya Sihir?

   Banyak bug terjadi pada produk perangkat lunak dirilis; pada kenyataannya, para ahli memperkirakan bahwa kode sumber asli berisi 2-5 bug per baris kode. Ini berarti bahwa kode akan membutuhkan dua atau lebih perubahan per baris untuk menghapus semua cacat. Tanpa pertanyaan, banyak produk yang dirilis sebelum mereka siap untuk mendukung sistem operasional. Seorang insinyur perangkat lunak berpengetahuan menyatakan bahwa, "Tidak ada sistem nyata, bahkan kita."


   Lokasi dan konsekuensi dari cacat perangkat lunak yang tidak berhubungan dengan penyebab yang jelas mereka, dan bahkan bug minor bisa menjadi bencana besar. Sebagai contoh, sistem operasi (UNIX, Windows, dll) mengandung banyak cacat keamanan dikenal dan tidak dikenal yang membuat mereka rentan terhadap serangan; Selanjutnya, Internet telah secara dramatis meningkatkan kemungkinan serangan sistem.

   Pengguna akhir menemukan bug perangkat lunak sering. Sebagai contoh, sekitar satu dari tujuh nomor telepon yang dihubungi benar tidak selesai oleh sistem telepon (aplikasi software-intensif). Dan catatan, tingkat pengaduan rendah dibandingkan dengan frekuensi kegagalan perangkat lunak.

   Tujuan dari pengujian perangkat lunak komersial adalah untuk membatasi risiko, khususnya, biaya dukungan Untuk produk software shrink-wrapped, setiap kali mengakhiri pengguna kontak vendor untuk dukungan teknis, sebagian besar atau seluruh margin keuntungan yang dihabiskan menjawab panggilan.

   Dengan sistem sederhana dari masa lalu, kami beruntung. Ketika bug software terjadi, hasil kemungkinan adalah bahwa tidak ada yang terjadi. Dengan sistem saat ini, termasuk kereta api penumpang yang dikendalikan komputer dan sistem kontrol pesawat ruang angkasa, hasil dari bug bisa menjadi bencana besar. Sudah, sudah ada setengah lusin kegagalan software utama di mana kerugian keuangan melebihi $ 100 juta.

   Investasi yang tepat dalam pengujian perangkat lunak yang diperlukan untuk membuat sistem yang relatif bebas bug. Dalam beberapa perusahaan progresif, ukuran staf pengujian melebihi Staf pemrograman Perubahan yang paling penting untuk membuat prosedur pengujian kontrol konfigurasi kasus uji.

Sebuah sistem yang khas dapat memerlukan lima kali lebih banyak tes-kasus software sebagai perangkat lunak produksi. Pengujian perangkat lunak sering lebih kompleks daripada software produksi karena menyangkut manajemen eksplisit waktu eksekusi untuk mendeteksi banyak bug.

Ketika perangkat lunak tes mendeteksi bug, itu lebih mungkin untuk menjadi hasil dari bug dalam tes dibandingkan dalam kode yang sedang diuji. Kontrol konfigurasi memungkinkan pengelolaan aset perangkat lunak uji; misalnya, untuk mendukung pengujian regresi.

Pendekatan yang efektif lainnya untuk pengujian termasuk otomatisasi pelaksanaan tes dan pengujian desain. Pelaksanaan uji manual adalah padat karya, dan tidak ada dasar terbukti untuk efektivitas pengujian manual.

Sebaliknya, pelaksanaan tes otomatis memungkinkan tes berjalan di konser dengan siklus membangun. Tes regresi dapat dijalankan tanpa intervensi manual, memastikan bahwa modifikasi perangkat lunak tidak menyebabkan cacat pada perilaku diuji sebelumnya. Otomatisasi tes desain mendukung generasi suite tes ketat, dan puluhan alat yang baik yang tersedia untuk mendukung uji desain otomatisasi.

   Verifikasi formal digunakan dalam sejumlah aplikasi untuk memastikan desain verifikasi formal bebas dari kesalahan melibatkan prov-ing (dalam arti matematika) kepuasan persyaratan. Sayangnya, ilmuwan komputer dilatih untuk melakukan bentuk analisis relatif jarang. Selain itu, hasil analisis formal yang mahal untuk menghasilkan dan mungkin subjektif. Akibatnya, secara umum, kami tidak menyarankan pendekatan ini sebagai layak untuk sebagian besar organisasi.

Software pemeriksaan adalah sebuah pendekatan alternatif yang telah terbukti efektif dalam berbagai organisasi perangkat lunak pemeriksaan adalah proses formal untuk meninjau kode dan dokumentasi produk.

Ini melibatkan seksama terhadap dokumentasi perangkat lunak untuk mencari cacat; misalnya, dianjurkan bahwa setiap pencarian inspektur untuk sekitar 45 menit per halaman dokumentasi. Cacat ditemukan oleh beberapa inspektur kemudian terdaftar selama pertemuan inspeksi logging.

Editor dokumen dapat menghapus cacat untuk diperiksa selanjutnya oleh tim inspeksi. Kriteria mutu ditetapkan untuk penerimaan awal dokumen oleh tim inspeksi dan penyelesaian proses pemeriksaan. Software pemeriksaan adalah proses yang sangat berguna karena dapat diterapkan pada setiap tahap perkembangan, dari penulisan dokumen persyaratan awal melalui coding.

   "Apakah Anda percaya pada sihir?" adalah pertanyaan kadang-kadang diajukan oleh profesional komputer cerdas. Jika Anda percaya bahwa sistem perangkat lunak saat ini yang kuat, Anda tentu percaya pada sihir.

Realitas teknologi perangkat lunak saat ini analog dengan sebuah cerita pendek yang menarik di Stephen Gaskin Pikiran at Play Dalam cerita, orang yang mengendarai mobil baru mengkilap dan menjalani kehidupan yang nyaman. Namun, ada satu orang yang ingin melihat dunia seperti itu benar-benar ada. Dia mendekati figur otoritas yang dapat menghapus semua ilusi dari persepsinya.

   Kemudian, ketika ia melihat dunia, ia melihat orang-orang berjalan di jalan-jalan pura-pura mengendarai mobil mewah. Dengan kata lain, gaya hidup mewah yang palsu. Pada akhirnya, pria itu recants, dan meminta untuk dikembalikan ke negara sebelum nya kekecewaan.

Dalam satu tampilan, teknologi saat ini sangat banyak seperti kisah Gaskin. Sangat mudah untuk percaya bahwa kita menggunakan teknologi perangkat lunak dewasa di kuat, platform yang kuat. Bahkan, ini adalah ilusi; bug perangkat lunak yang meresap, dan tidak ada platform yang kuat di bawahnya."



Komentar