it-swarm.dev

Bir hata ile testteki bir hata arasındaki fark nedir?

Bir hata ile hata arasındaki fark nedir?

35
maz3tt
  • Hata, kodlama hatasının sonucudur

  • Kusur şartlardan sapmadır

Yani: hatası, kodda bir hata olduğu anlamına gelmez , uygulanmayan ancak gereksinimlerinde tanımlanan bir işlev olabilir yazılım.


Wikipedia sayfasından yazılım testi :

Tüm yazılım hatalarına kodlama hataları neden olmaz. Pahalı hataların yaygın bir kaynağı, program tasarımcısı tarafından ihmal hatalarına neden olan gereksinim boşluklarından, örneğin tanınmayan gereksinimlerden kaynaklanır. [14] Gereksinim boşluklarının yaygın bir kaynağı, test edilebilirlik, ölçeklenebilirlik, sürdürülebilirlik, kullanılabilirlik, performans ve güvenlik gibi işlevsel olmayan gereksinimlerdir.

59
Dan McGrath

Ilene Burnstein'ın kitaptan alıntılanması Pratik Yazılım Testi (önerilen) "Yazılım için IEEE Standartları Koleksiyonu'ndaki tanımdan kim Mühendislik "(1994) ve" IEEE Yazılım Mühendisliği Terminolojisi Standart Sözlüğü "(standart 610.12, 1990):

Hata

Hata, bir yazılım geliştiricisi tarafından yapılan bir hata, yanlış anlama veya yanlış anlamadır

Geliştirici kategorisinde yazılım mühendisleri, programcılar, analistler ve testçiler yer alıyor. Örneğin, bir geliştirici tasarım gösterimini yanlış anlayabilir veya bir programcı değişken adını yanlış yazabilir.

Arızalar (Kusurlar)

Bir hata sonucunda yazılıma bir arıza (kusur) sokulur. Yazılımda, özelliklerine göre değil, yanlış davranmasına neden olabilecek bir anormalliktir.

Hata veya kusurlara bazen "böcek" denir. İkinci terimin kullanılması, hataların yazılım kalitesi üzerindeki etkisini önemsizleştirir. “Kusur” teriminin kullanımı aynı zamanda gereksinimler ve tasarım belgeleri gibi yazılım eserleriyle de ilişkilidir. Bu eserlerde meydana gelen hatalar da hatalardan kaynaklanır ve genellikle inceleme sürecinde tespit edilir.

Hataları

Hata, bir yazılım sisteminin veya bileşenin gerekli işlevleri belirtilen performans gereksinimleri dahilinde yerine getirememesidir.

Bir yazılım bileşeninin veya sisteminin yürütülmesi sırasında, bir test kullanıcısı, geliştirici veya kullanıcı, beklenen sonuçları üretmediğini gözlemler. Bazı durumlarda, belirli bir tür yanlış davranış belirli bir tür hatanın mevcut olduğunu gösterir. Yanlış davranışın türünün hatanın bir belirtisi olduğunu söyleyebiliriz. Deneyimli bir geliştirici/test cihazı, bellekte saklanan hata/semptomlar/hata vakaları (Bölüm 3'te açıklandığı gibi hata modelleri) hakkında bir bilgi tabanına sahip olacaktır. Hatalı davranış, çıkış değişkenleri için yanlış değerler üretmeyi, bir aygıtın yanlış yanıtını veya ekranda yanlış bir görüntüyü içerebilir. Geliştirme sırasında arızalar genellikle test uzmanları tarafından gözlemlenir ve hatalar geliştiriciler tarafından tespit edilir ve onarılır.

Bölümün tamamını Google Kitaplar'da okuyabilirsiniz, .

21
dukeofgaming

Yazılım hatalarıyla ilgili bazı farklı terimler vardır. Aldığım bir dersten alıntı:

  • Hata: Hataya neden olan insan eylemi veya ihmali.

  • Hata: Hata, hataya neden olan bir yazılım hatasıdır (yanlış adım, işlem veya veri tanımı).

  • Hata: Arıza ile aynı.

  • Hata: Bir yazılımın gerekli işlevleri belirtilen performans gereksinimleri dahilinde yerine getirememesi.

Buna göre, bir hata ile bir hata arasında hiçbir fark yoktur. Bununla birlikte, bazı insanlar hatanın yazılımı yayınlamadan önce bulunan bir hata olduğunu savunurken, kusur müşteri tarafından bulunan bir hatadır.

Meşhur "ilk gerçek böcek bulgusu" nu göndermeye direnemedim.

alt text

12
Tamás Szelei

Yazılım Test ve Yazılım Kalitesi için KA Yazılım Mühendisliği Bilgi Birimi'nde belirtilen IEEE Yazılım Mühendisliği Terminolojisi Standart Sözlüğünden:

böcek. Bkz: hata; arıza.


hata. (1) Hesaplanan, gözlemlenen veya ölçülen bir değer veya koşul ile gerçek, belirtilen veya teorik olarak doğru değer veya koşul arasındaki fark. Örneğin, hesaplanan sonuç ile doğru sonuç arasındaki 30 metrelik fark. (2) Yanlış bir adım, işlem veya veri tanımı. Örneğin, bir bilgisayar programında yanlış bir talimat. (3) Yanlış sonuç. Örneğin, doğru sonuç 10 olduğunda 12 hesaplanan sonuç. (4) Yanlış sonuç üreten insan eylemi. Örneğin, bir programcının veya operatörün yanlış çalışması. Not: Dört tanımın tümü yaygın olarak kullanılırken, bir ayrım Word "hatasına" tanım 1'i, Word "hatası" tanım 2'yi, Word "hatası" tanımını 3 ve Word "hatasına" tanımını 4 atar. Bkz. A2so: dinamik hata; ölümcül hata; yerli hata; anlamsal hata; sözdizimsel hata; statik hata; geçici hata.


hatası. Bir sistemin veya bileşenin gerekli işlevleri belirtilen performans gereksinimleri dahilinde yerine getirememesi. Not: Hataya dayanıklılık disiplini, bir insan eylemi (hata), tezahürü (donanım veya yazılım hatası), hatanın sonucu (hata) ve sonucun yanlış olduğu miktar (hata) arasında ayrım yapar. Ayrıca bakınız: çökme; bağımlı başarısızlık; istisna; hata modu; başarısızlık oranı; sert başarısızlık; başlangıç ​​hatası; bağımsız başarısızlık; rastgele başarısızlık; yumuşak başarısızlık; sıkışmış hata.


arıza. (1) Bir donanım cihazında veya bileşeninde bir arıza; örneğin, bir kısa devre veya kırık tel. (2) Bir bilgisayar programında yanlış bir adım, işlem veya veri tanımı. Not: Bu tanım öncelikle hata toleransı disiplini tarafından kullanılır. Yaygın kullanımda, "hata" ve "hata" terimleri bu anlamı ifade etmek için kullanılır. Ayrıca bkz: veriye duyarlı hata; programa duyarlı arıza; eşdeğer hatalar; arıza maskeleme; aralıklı hata.


Bence başarısızlığın tanımı en alakalı olanıdır. Gereksinimler, tasarım, uygulama veya test senaryosu/prosedüründe olsun, her şey bir hata ile başlar. Bu hata yazılımda ortaya çıkarsa, hata olur. Hata, yazılımda bir veya daha fazla hatanın varlığından kaynaklanır.

Yine de biçimsel hata tanımına meraklı değilim. Ben çok tercih onun cevabında dukeofgaming tarafından sağlanan tanım , ancak, bu cevap bir IEEE standart hata tanımıdır.

7
Thomas Owens

Ah hayatım.

Eski günlerde - bir bilgisayarın arızalı çalışması, kabloları çiğneyen sıçanlar ve gerçek böcekler (yaratıklar) dahil olmak üzere her türlü şeyden kaynaklandı.

BUG terimi, beklendiği gibi çalışmayan bir şey anlamına gelen bir terim olarak sıkışmıştır.

HATA, kusur anlamına gelen bir jargon terimi olarak düşünülmelidir.

Bir kusur, teknik olarak doğru bir terimdir, yani şeyin olması gerektiği gibi yapmadığı anlamına gelir.

Mümkün olan her yerde, HATA yerine DEFECT kullanmak, daha önemsiz sondaj gibi giyinmek yerine, hatalarımızı (kusurlarımız, kullanıcı gereksinimlerini anlamadığımız veya uygulamada göz ardı ettiğimiz şeyler) kabul ettiğimiz bir çağrışımı beraberinde getirir. ".

DEFECT kullanın.

BUG terimini kullanmamaya çalışın. Aptalca, alakasız, tarihi ve önemsizleştirici.

7
quickly_now

Dan McGrath'ın cevabı doğru çivilenmiş.

  • Hata, kodlama hatasının sonucudur
  • Bir kusur, gereksinimlerden sapmadır

Belki bir örnek daha açık hale getirebilir.

Örnek: İstemci, web formunun pencereyi kaydedip kapatabilmesini istedi.

Senaryo # 1: Web formunda bir kaydet düğmesi ve başka bir kapat düğmesi vardır. Sonuç: Hata, çünkü istemci 1 düğmesinin pencereyi kaydetmesini ve kapatmasını istedi. Geliştirici yanlış anlaşıldı ve ayrı olarak oluşturuldu. Her iki düğme de gereksinimlerini yerine getirdiğinden, bu bir hata değil, müşterinin ihtiyacını karşılamadığı için bir kusurdur.

Senaryo # 2: Web formunda bir kaydet ve kapat düğmesi vardır, ancak yalnızca kaydedilir, ancak kapatılmaz. Sonuç: Hata. Çünkü düğme gerektiği şekilde/beklendiği gibi çalışmaz. Geliştirici, bu sonucu üretmenin farz olduğunu biliyor ama sonuçta olmadı. (belki kodlama hatası)

Bunun daha net olup olmadığından emin değilim.

p/s: bir geliştirici bakış açısından (bir zamanlar), hem kusurlar hem de hatalar da aynı derecede önemlidir. Hala düzeltiriz.

Hatta hatalar altında kategorize ettiğimiz garip anormalliklerle karşılaştık ve bunun nedenini ve nasıl düzeltileceğini sürekli olarak çözmeye çalışıyoruz. Bu hataları ifade etmek, kusurlara kıyasla önemsiz değildir.

3
tctham

İşte daha önce ISTQB kelime dağarcığına dayalı işverenim Q-LEAP için yaptığım ve ayrıca IEEE kelime dağarcığını da kontrol ettim. Zevk almak.

Böcek ve Hata? Bu konuda sonsuz tartışmalar olsa da aynı şey. Endişelenecek başka şeylerimiz var, hayat zaten yeterince karmaşık, vb.

enter image description here

Terimin vahşi doğada nasıl kullanıldığına bir örnek, "Google Test Yazılımları" s. 113. "IEEE Yazılımı" makalesini açın ve aynı şekilde kullanılır. Gerçekten, nadiren gerçek hayatta "kusur" kelimesi ile karşılaşılır.

Bir Böceğin Yaşamı

Hatalar ve hata raporları her test edicinin anladığı tek eserdir. Hata bulmak, hata ayıklamak, hataları düzeltmek ve hataları azaltmak yazılım kalitesi için kalp atışı ve iş akışıdır. Bu, Google'da en geleneksel olan testin bir parçasıdır, ancak yine de normdan birkaç ilginç sapma vardır. Bu bölüm için, iş öğelerini izlemek için dosyalanan hataları yok sayar ve terimi, gerçek bozuk kodu tanımlamak için kullanırız. Bu nedenle, hatalar genellikle mühendislik ekipleri için saatlik ve günlük iş akışını temsil eder.

Bir böcek doğar. Hatalar Google'daki herkes tarafından bulunur ve dosyalanır. Ürün Yöneticileri, teknik özelliklerinden/düşüncelerinden farklı olan ilk derlemelerde sorunları yakaladıklarında hata bildirir. Geliştiriciler, bir sorunla yanlışlıkla kontrol ettiklerini fark ettiklerinde veya kod tabanında başka bir yerde veya Google ürünlerini test ederken bir sorun bulduğunda hata bildirir. Hatalar, alandan, kalabalık kaynaklı test edicilerden, harici satıcı testlerinden gelir ve ürüne özgü Google Gruplarını izleyen Topluluk Yöneticileri tarafından dosyalanır. Uygulamaların birçok dahili sürümünde, Google haritaları gibi hataları dosyalamak için hızlı tek tıklatma yolları vardır. Ve bazen, yazılım programları bir API aracılığıyla hatalar oluşturur.

1
David Tonhofer

Güvenilirlik: temel kavramlar ve terminoloji :

Sunulan hizmet sistem işlevini yerine getirmekten saptığında, bir sistem hatası oluşur; hatası , sistem durumunun sonraki hataya yol açabilecek kısmıdır: hizmeti etkileyen bir hata, bir hatanın oluştuğunu veya oluştuğunu gösterir oluştu. Bir hatanın düzeltilmiş veya varsayılmış bir nedeni hatasıdır .

Arıza için başka bir isim olarak kusur anlıyorum.

Hata kafa karıştırıcıdır ve bağlama bağlı olarak bir hatayı veya hatayı temsil edebilir.

Spesifikasyondan bahsedilmediğine dikkat edin: bir spesifikasyon bile hatalı olabilir.

0
mouviciel

Belirli hata/görev/bilet/kusur/sorun/izleme sistemi örneği ne olursa olsun, bu kelimelerin kesin bir anlamı yoktur ve bu nedenle aralarındaki farkı tartışmak anlamsızdır. İş akışınızı düzenlerken terminolojiyi yerleştirmeli ve açıklamalar sağlamalısınız.

Mevcut çevremde "kusur" Jira'daki herhangi bir öğedir. Görünüşe göre Jira'nın kendisi "sayı" terimini kullanıyor. Daha önceki bir sistemden miras almış olabiliriz. "Hata", beklendiği gibi ve dokümantasyonda açıklandığı gibi çalışmayan bir sorun türüdür. Bir şey beklendiği gibi çalıştığında ancak iyileştirme istendiğinde "özellik isteği" (açık ve önemli olabilir, ancak mevcut davranış açıklanırsa yine de bir özellik isteğidir). Daha fazla tür var, ancak bu 2, geliştirme ekibi dışındaki kişiler tarafından bir şey sormak için kullanılıyor.

Sorun türleri için ad seçiyorsanız, "hata" ve "kusur" bana benzer. Aralarındaki fark stilistiktir. İngilizce benim ana dilim olmadığından pek çoğunu göremiyorum ve gördüklerimin doğru olup olmadığından emin değilim.

0
max630

Fark, "böcek" teriminin büyülü gelmesidir. Programlamayı bitirdikten sonra bir program rastgele hataları içeriyor olabilir. Rastgele hatalar varsa, spesifikasyonlara uymadığınız ve programınızın hatalı olduğu anlamına gelir.

Bir kusur, programın teknik özelliklere uymadığı bir hata anlamına gelir. Bu daha ciddi ve temelde diyor ki, any hatası programla büyük bir problemdir ve bu programın serbest bırakılmaya uygun olmadığı anlamına gelir.

Fark, terimleri kullanan programcıların tutumundadır. Hatalarla milyonlarca program yayınlandı ve insanlar bununla iyi durumda çünkü bir nedenden dolayı bir hatanın büyülü ve rastgele olduğunu ve her programın en az bir hata içerdiğini kabul ediyorlar. Bununla birlikte, "kusur" terimini kullanan bir programcı, kusurlu bir programı yayınlamaktan rahatsız olabilir, çünkü terim daha büyük bir ciddiyet anlamına gelir.

Bir terimi diğerine tercih etmenin sonuçları bizi her gün etkiler.

0
Rudolf Olah