Apa yang dimaksud dengan bug?

10

Sebenarnya apa itu bug? ada aturan yang sudah ditentukan?

Muthu
sumber
Bisakah kita memiliki beberapa konteks? Apakah Anda berbicara dari sudut pandang teknis murni, atau bug yang akan dilaporkan di situs pelacakan?
Jeremy
5
Semua bug hanyalah fitur tersembunyi :)
Marco Ceppi
2
Saya cenderung mengatakan "fitur tidak terdokumentasi" daripada disembunyikan :-)
Little Jawa

Jawaban:

14

Bug adalah:

Bug perangkat lunak adalah istilah umum yang digunakan untuk menggambarkan kesalahan, cacat, kesalahan, kegagalan, atau kesalahan dalam program atau sistem komputer yang menghasilkan hasil yang salah atau tidak terduga, atau menyebabkannya berperilaku dengan cara yang tidak disengaja. (Dari Wikipedia )

Berikut ini definisi lain yang bagus tentang apa yang dimaksud dengan bug. Antara:

  1. Program tidak berperilaku sesuai dengan niat programmer. atau
  2. Niat programmer tidak memenuhi harapan pengguna yang umum dan masuk akal.

Komunitas Ubuntu memiliki definisi yang sangat baik untuk bug di wiki ini , terutama menyoroti perbedaan antara bug dan fitur yang hilang :

Bug perangkat lunak adalah kesalahan atau kesalahan dalam program komputer yang membuatnya gagal berfungsi sebagaimana mestinya. Ini bisa sesederhana gagal bekerja sama sekali, atau serumit hasil yang salah [...] Beberapa hal bukanlah bug, tetapi fitur yang hilang harus dimasukkan secara wajar. Fitur yang hilang tidak boleh dilaporkan sebagai bug, sebaliknya FeatureSpecifications harus ditulis untuk mereka.

Meskipun sulit untuk menarik garis yang memisahkan dua definisi dan menjawab pertanyaan apakah itu bug atau fitur yang hilang? , dimungkinkan untuk memberikan beberapa pedoman:

  • jika itu adalah masalah yang memiliki banyak detail untuk diatasi, kemungkinan itu adalah fitur. Misalnya, ketidakmampuan untuk menulis file dengan aman ke partisi Windows modern adalah fitur yang hilang.
  • Ketidakmampuan untuk menulis file dengan aman ke partisi ReiserFS akan menjadi bug.

Perbedaan antara dua pernyataan adalah: yang pertama lebih luas (mendukung windows modern FS) dan dengan demikian dapat dilihat sebagai Fitur Hilang, sementara yang lain menekankan masalah unik (tidak dapat menulis ke ReiserFS) - bug tertentu.

Jika Anda tertarik, saya sarankan Anda untuk melihat wiki tim BugSquad . Memerangi bug adalah salah satu kegiatan paling menarik yang terlibat dalam siklus pengembangan perangkat lunak, selain menjadi kesempatan belajar yang hebat :-)

Terima kasih!

crncosta
sumber
bagus, meskipun tidak terkait langsung, mungkin perlu disebutkan bahwa setiap bug yang ingin Anda komit harus direproduksi.
danizmax
Tidak, ada bug karena kondisi balapan. Mengapa Anda tidak ingin melakukannya juga? Akan sulit, jika programmer tidak dapat mereproduksi bug, tetapi itu tidak mempengaruhi keinginan untuk melakukannya, bukan?
pengguna tidak dikenal
Lihat juga panduan BugSquad Ubuntu tentang bug: wiki.ubuntu.com/Bugs
Thomas Ward
2

Saya akan mengambil ayunan. Terutama, perilaku yang tidak dimaksudkan oleh desainer / programmer (diskon desain yang buruk). Dalam hal bug apa yang harus Anda laporkan kepada orang-orang, apa pun yang membuat program lebih cepat digunakan dan cocok dengan deskripsi di atas. Ini termasuk, dari yang terburuk hingga paling parah, sistem crash, X crash, crash program, dan semua bug program internal.

Bug yang menyebabkan crash atau penutupan jendela biasanya akan menyebabkan semacam output stderror jika Anda menjalankan aplikasi dari terminal, ini bisa bermanfaat. Lihat juga log sistem untuk laporan kesalahan.

Jeremy
sumber
1

Bug adalah kesalahan dalam program atau sistem komputer, sehingga program tidak bekerja dengan baik atau tidak berfungsi sama sekali. Jadi bug bisa merupakan hasil dari kode pemrograman yang salah, atau kode pemrograman yang tidak cukup kuat dan tidak dapat menangani pengecualian tertentu (misalnya: pembagian dengan 0)

3sdmx
sumber
1

Untuk semua tujuan praktis, istilah "bug" harus dihindari sebagai istilah yang terlalu kabur.

Jawaban terbaik untuk pertanyaan Anda mengisi seluruh buku: "Mengapa Program Gagal" oleh Andreas Zeller. Buku yang harus ada di rak buku setiap programmer. Penulis juga berusaha keras untuk tidak menyebut mereka "bug" (baca terus). Karena sebagai jawaban crncosta sudah menyarankan "bug" bukan hanya kesalahan pemrograman. Inilah sebabnya beberapa orang lebih memilih istilah "masalah" (yang mengarah ke "pelacak masalah" daripada "pelacak bug").

Karena apa yang dianggap sebagai bug oleh pengguna akhir tidak perlu menjadi bug sama sekali. Bisa jadi - meskipun ini sering digunakan sebagai alasan lumpuh - hanya dengan desain. Namun beberapa kegagalan, setelah diamati, diklasifikasikan "bug", meskipun mereka disebabkan oleh kurangnya fitur.

Penulis buku tersebut menghabiskan beberapa halaman pada definisi istilah seperti kegagalan dan cacat dan menjelaskan mengapa "bug" bukan istilah yang tepat (terlalu kabur).

Ringkasan terminologinya:

  1. Programmer menciptakan cacat
  2. cacat menyebabkan infeksi ("status program salah")
  3. merambat infeksi
  4. infeksi menyebabkan kegagalan ("perilaku buruk / tidak diinginkan yang dapat diamati")
  5. pengamat (biasanya pengguna akhir) melihat kegagalan

Seperti yang Anda lihat penulis membedakan antara sebab dan akibat, yang dalam kasus "bug" hampir selalu tercampur. Sebagian besar waktu istilah "bug" sedang diterapkan pada cacat , yang infeksi dan yang gagal .

0xC0000022L
sumber