Hata nedir?


10

Aslında hata nedir? önceden tanımlanmış kurallar var mı?


Bir bağlamımız olabilir mi? Tamamen teknik bir bakış açısıyla mı yoksa izleme sitelerinde raporlanacak hatalardan mı bahsediyorsunuz?
Jeremy

5
Tüm hatalar sadece gizli özellikler :)
Marco Ceppi

2
Gizli yerine "belgelenmemiş özellikler" deme eğilimindeyim :-)
Little Jawa

Yanıtlar:


14

Bir hata:

Yazılım hatası, yanlış veya beklenmedik bir sonuç üreten veya istenmeyen şekillerde davranmasına neden olan bir bilgisayar programı veya sistemindeki bir hatayı, kusuru, hatayı, arızayı veya hatayı tanımlamak için kullanılan yaygın terimdir. ( Wikipedia'dan )

İşte bir hatayı neyin oluşturduğunun başka bir iyi tanımı. Ya:

  1. Program, programcının niyetlerine göre davranmadı. veya
  2. Programcının niyetleri ortak ve makul kullanıcı beklentilerini karşılamıyordu.

Ubuntu topluluğu bu wiki'de hata için mükemmel bir tanıma sahiptir , özellikle hata ve eksik özellikler arasındaki farkı vurgulamaktadır :

Yazılım hatası, bir bilgisayar programında olması gerektiği gibi çalışmamasını sağlayan bir hata veya hatadır. Bu hiç çalışmamak kadar basit ya da ustaca yanlış bir sonuç kadar karmaşık olabilir [...] Bazı şeyler hata değildir, ancak makul şekilde dahil edilmesi gereken eksik özelliklerdir. Eksik özellikler hata olarak bildirilmemeli, bunun yerine bunlar için FeatureSpecifications yazılmalıdır.

İki tanımı ayıran bir çizgi çizmek ve soruyu cevaplamak zor olsa da, hatalar mı yoksa eksik özellikler mi? , bazı yönergeler vermek mümkündür:

  • ele alınması gereken birçok ayrıntıya sahip bir sorun varsa, muhtemelen bir özellik olacaktır. Örneğin, modern bir Windows bölümüne güvenli bir şekilde dosya yazamama eksik bir özelliktir.
  • ReiserFS bölümüne güvenli bir şekilde dosya yazamamak hata olur.

İki iddia arasındaki fark: birincisi daha yaygın (modern Windows FS'yi destekleyin) ve bu nedenle Eksik Özellik olarak görülebilirken, diğeri benzersiz bir sorunu (ReiserFS'ye yazamaz) - belirli bir hata.

Eğer ilgileniyorsanız, BugSquad takımı wiki'sine göz atmanızı tavsiye ederim . Böceklerle mücadele, büyük bir öğrenme fırsatı olmanın yanı sıra, yazılım geliştirme döngüsünde yer alan en ilginç etkinliklerden biridir :-)

Teşekkürler!


güzel olan, ancak doğrudan ilgili olmasa da, taahhüt etmek istediğiniz her hatanın tekrarlanabilir olması gerektiğinden bahsetmeye değer.
danizmax

Hayır, yarış koşullarından dolayı hatalar var. Onları neden uygulamak istemesin ki? Programcı hatayı yeniden üretemezse, ancak bu, bunu yapma arzusunu etkilemezse zor olacaktır, değil mi?
kullanıcı bilinmiyor

Lütfen ayrıca Ubuntu BugSquad'ın hatalara ilişkin kılavuzuna bakın: wiki.ubuntu.com/Bugs
Thomas Ward

2

Salınacağım. Öncelikle, tasarımcı / programcı tarafından tasarlanmayan davranış (kötü tasarımın indirgenmesi). İnsanlara hangi hataları bildirmeniz gerektiği konusunda, programın kullanılmasını sağlayan ve yukarıdaki açıklamaya uyan her şey. Bu, en kötüsünden en azına kadar olan sistem çökmelerini, X çökmelerini, program çökmelerini ve tüm dahili program hatalarını içerir.

Çökmelere veya pencere kapanmasına neden olan hatalar, uygulamayı bir terminalden çalıştırırsanız genellikle bir çeşit çıkışın stderror olmasına neden olur, bu yararlı olabilir. Ayrıca hata raporları için sistem günlüklerine bakın.


1

Hata, bir bilgisayar programındaki veya sistemindeki bir hatadır, bu nedenle program düzgün çalışmıyor veya hiç çalışmıyor. Bu nedenle, hatalar yanlış programlama kodunun veya yeterince sağlam olmayan ve belirli istisnaları işleyemeyen programlama kodunun bir sonucu olabilir (örneğin: 0'a bölme)


1

Tüm pratik amaçlar için, "hata" teriminden çok bulanık bir terim olarak kaçınılmalıdır.

Sorunuza en iyi cevap tüm kitabı doldurur: Andreas Zeller tarafından "Neden Programlar Başarısız" . Her programcının kitaplığında olması gereken bir kitap. Yazar ayrıca "böcek" (okumaya devam) dememek için iyi bir çaba harcıyor. Çünkü crncosta'un cevabı zaten bir "hata" nın önerdiği gibi sadece bir programlama hatası değildir. Bu yüzden bazı insanlar bunun yerine "sorun" terimini tercih eder ("hata izleyici" yerine "sorun izleyici" ye neden olur).

Çünkü son kullanıcı tarafından bir hata olarak algılanan şeyin bir hata olması gerekmez. Bu - genellikle topal bir bahane olarak kullanılmasına rağmen - sadece tasarımla olabilir. Bununla birlikte, bazı arızalar, bir kez gözlendiğinde, bir özellik eksikliğinden kaynaklansa da, "hatalar" olarak sınıflandırılır.

Yukarıda adı geçen kitabın yazarı, başarısızlık ve hata gibi terimlerin tanımlanması ve "hata" nın neden uygun bir terim (çok bulanık) olmadığını açıklamak için birkaç sayfa harcıyor .

Terminolojisinin özeti:

  1. programcı kusuru oluşturur
  2. kusur enfeksiyona neden oluyor ("hatalı program durumu")
  3. enfeksiyon yayılır
  4. enfeksiyon başarısızlığa neden olur ("gözlemlenebilir kötü / istenmeyen davranış")
  5. gözlemci (genellikle son kullanıcı) hatayı görür

Gördüğünüz gibi yazar neden "böcek" durumunda neredeyse her zaman karışık olan neden ve sonuç arasında ayrım yapar. Çoğu zaman terimi "böcek" uygulanıyor kusur , enfeksiyon ve başarısızlık .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.