Yazılım hatasının tanımı. Blizzard Entertainment “hata” nın hiç bir hata olmadığı konusunda ısrar ediyor. Onlar doğru mu? [kapalı]


18

Wikipepdia'ya göre,

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.

Son zamanlarda StarCraft 2'de beklenmedik bir sonuç üreten bir "hata" buldum: http://eu.battle.net/sc2/en/forum/topic/2868627470

Sorun şu ki, StarCraft 2'yi uzun süre minimize edersem, oyunun bağlantısı kesilmez veya herhangi bir zaman aşımı biçimi üretilmez. Ancak ilk savaştan sonra bağlantıyı keser ve bazen oyun verilerini (maç istatistikleri) kaybeder.

Ne yazık ki, Blizzard'a göre:

Oyun, bu kadar uzun bir süre minimize edilecek şekilde tasarlanmamıştır. (Blizzard) StarCraft II'nin saatlerce minimize edilmesi amaçlanmadığı için hatalı davranmayı düşünemez.

Peki, benim "böcek" gerçekten bir böcek mi?


31
Tabii, bu bir hata, ama bu durumu desteklenen bir durum olarak görmedikleri için düzeltmeyecekler (yani bu şekilde çalışmak için tasarlanmadığı için, bu şekilde kullanmaya çalışırsanız, kendi başınıza). Ve elbette, basit bir çözüm var - bunu yapma.
Oded

17
Kayıt için Blizzard temsilcisi durumu çok kötü ele aldı. "Bu hatayı bildirdiğiniz için teşekkür ederiz. Bunu sistemimize gireceğiz ve geliştiricilerimiz öncelikli gördüğü anda düzelteceğiz." Örtülü varsayım, asla bir öncelik haline gelmeyeceğidir. Bence çok kötü ele.
riwalk

29
@ Stargazer712 Blizzard bunu tam olarak halletti. Düzeltme niyeti olmayan bir hatayı düzelteceklerine dair beklentilerini belirlememelidirler.
MattBelanger

3
TeleShoTTgun için adil olmak gerekirse, bence Blizzard'ın en azından neyin "uzun bir süre" olduğunu tanımlaması gerekirdi. Birkaç dakika boyunca banyoya gitmek için oyunu en aza indirebilirim. Bunun çok uzun bir zaman olduğunu düşünmüyorum ama Blizzard mı? Bu bağlamda 30 dakikadan uzun bir süre "uzun bir süre" olarak düşünürdüm, ama Blizzard'ın kabul edip etmeyeceğini bilmiyorum.
SinirliWithFormsDesigner

3
Eski Vaudeville yasası - "Doktor, Doktor, bunu yaptığımda acıyor " - "Buna yapma!"
Cyclops

Yanıtlar:


58

Bir yazılım ekibi için hata düzeltilmesi gereken bir yazılım sorunudur. Tüm yazılım sorunlarının düzeltilmesi gerekmez.

Yazılımı güncellemek pahalıdır. Blizzard, probleminizin bir uç durum olduğunu söylüyor . Başka bir deyişle, keşfettiğiniz son durum sorunu, mutlaka test ettikleri veya dikkate almaları gereken bir şey değildir. Sorunu çözmek size yardımcı olacaktır, ancak her durumda pek çok kişiye yardımcı olmayacaktır. Ancak, hatayı düzeltmenin maliyeti yüksek olabilir. Bunun yerine, kaynaklarını yeni özelliklere yatırabilirler hatta Diablo III'ü bitirebilirler.


3
Bence gerçek, uygulamada kullanılan tanımı yakaladınız. Ben bir hata diğer posterler gibi özellikleri farklı olan herhangi bir davranış olduğunu cevap olacaktı. Ancak gerçek şu ki, eğer hatalı davranış spesifikasyon tanımındaysa, ancak iş üzerinde önemli bir etkisi olsaydı, bir şirket bunu düzeltirdi. Ve dediğin gibi, spesifikasyon işe yarayacağını söylüyor olsa ve YG düşükse, söz konusu şirket bunu düzeltmez. Mükemmel cevap.
Matt Ryan

2
@MattRyan: Ve gerçek dünyada (gördüğüm), eğer Özellikler, Kullanıcıların "hata" olarak adlandırdığı hatalı davranışlarla sonuçlanırsa, geliştirme ekibi genellikle çözümü bir "değişiklik isteği" olarak resmen yeniden sınıflandırır, değil , bir "hata düzeltme" olarak. ;)
SinirliWithFormsDesigner

3
Başka bir deyişle, bir "hata" veya "hata" doğru bir şekilde uygulanmayan bir gereksinimi temsil eder. Bu durumda, oyunu simge durumuna küçültmek bir gereklilik değildir.
Ray

22

Bu tür bana mikrodalgadaki kediyi , özellikle de 1983'te Bayan Smith'i hatırlatıyor .

Noktasıdır Eğer bu şekilde çalışmaya ürünü bekliyoruz. Çoğunlukla bir dizi benzer ürün bu şekilde çalıştığı için, yani onları saatlerce küçültür ve sonra açarsanız, çalışırlar (tersi düşündüğünüz kadar nadir olmasa da).

Bayan Smith, deneyimlerinden, kedilerini fırında kurutmanın onlara zarar vermeyeceğini biliyordu (elbette biraz dikkatli olduğu varsayılarak). Daha doğrusu, denediği tüm fırınlarla olan deneyiminden. Daha sonra, kendisine verilen mikrodalga fırın için aynı olacağını varsaydı. Bu varsayım yanlıştı. Mikrodalga fırınlar kedileri kurutmak için tasarlanmamıştır. İkisi de geleneksel fırınlar değildir. Isı üretmek için kullandıkları fiziksel süreçlerin bir yan etkisi olarak süreçte kediyi öldürmezler.

Şimdi mikrodalga fırın üreticisi olarak, mikrodalgaya bir ısıtma bobini ve sensör sayısı yerleştirebilirsiniz. İkincisi, mevcut içeriğin bir kedi olup olmadığını belirler ve mikrodalgalar yerine bobini kullanır.

Aynı şekilde, kuru kedilere uygun bir mikrodalga üretebilen Blizzard, uzun süre en aza indirgenmiş halde kalmaya uygun bir SC2 versiyonu oluşturabilir.

Şahsen, kedi kurutma özellikli bir mikrodalga için sadece eğlenmek için daha fazla para ödemeye hazır olurum (önden gururla işaret edebileceğim büyük bir kedi kurutma-uygunluk logosu olduğu varsayılarak). Ama saatlerce asgariye indirilebilen bir oyunu umursamıyorum.

SC2 belirli gereksinimleri karşılayacak şekilde tasarlanmıştır. Beklentiniz bunların bir parçası değil. SC2'yi beklentilerinize göre ölçmekte özgürsünüz. Ancak Blizzard'ın hepsini kendi gereksinimleri kapsamında içerip içermediği, nihayetinde onların seçimidir.

Gerçekten tartışabileceğiniz tek şey, bunun bir tasarım hatası olması. Sağduyu, kullanıcıların önemli bir kısmı tasarımla karıştırılmadıkça veya ondan memnun kalmadıkça, yeterince iyi olduğunu belirtir. Yeterince kullanıcı beklentinizi paylaştıklarını belirtiyorsa, Blizzard'ın bunu vereceğini ve tasarıma dahil edeceğini eminim. Bu sorununuzu gerçek bir hata haline getirir ve Blizzard bunu düzeltir.


Güzel cevap, korkunç mecaz. Birisinin bunu yapmak için yeterince aptal olmadığı için çok mutluyum!
Drew

11

Bu özelliklerin tanımladığı gibi kullanılmayan bir yazılım olduğunu düşünüyorum. Onlar söylüyor

Oyun, bu kadar uzun bir süre minimize edilecek şekilde tasarlanmamıştır.

Hangi "uzun süre" olarak sayılan bir yerde bir tanımı var anlamına gelir. Programı "uzun bir süre" den daha uzun bir süre en aza indirirseniz, teknik özelliklerinin ötesinde ve test ettiklerinin ötesine geçer (resmi olarak bunu belirlediklerini varsayarak) ve ne olacağını garanti etmezler. Tabii ki, bir yerde kılavuzun "Bu programı sadece 10 dakikayı aşmayan süreler için minimize edilmek üzere test ettik. Bunu yapmak kendi sorumluluğunuzdadır."

Yani hayır, bunun gerçekten bir hata olduğunu düşünmüyorum. Ofisimde buna "kullanıcı eğitimi sorunu" denir (ki bu bir iletişim sorunu biçimidir diyebilirim , çünkü bu durumda, kullanıcı için en aza indirme süresi için maksimum süre bildirilmediğinden) programı düzgün kullanmamak. El kitabına koymadıkça Blizzard için çok yardımcı olduğu için değil ...


3
Kritik bir sistem için, "bu sistem n saat boyunca çalışır durumda kalmalıdır" diyen bir gereksinimimiz var ve sistemin n saat boyunca çalıştığını harici olarak test edip belgeliyoruz. Ayrıca dahili olarak m> n saat boyunca bir test yaptığımızı ve sistemin hala çalıştığını belgeleyebiliriz. Görev kritik olmayan bir oyun için, resmi olarak dışarıdan yakalananlara ihtiyacınız yoktur, çünkü çoğu insan muhtemelen bu sorunla karşılaşmayacaktır.
Thomas Owens

8

Hata değil. Bir hata, spesifikasyona uymayan davranıştır. Spesifikasyon, kullanım senaryosunun desteklenmeyen bir davranış olmadığını söylüyorsa, bu kullanım durumunda geçerli veya algılanmayan herhangi bir davranış 'tasarım gereğidir'.

Bu senaryoda, hiç çalışan oyun tanımsız davranış olarak algılanabilir.


Bu muazzam bir kaçış. Her duyduğumda hor görürüm. Çünkü sadece "spec" eksik olduğunda ortaya çıkar.
Sean McMillan

2
@SeanMcMillan: Böyle şeyler olmasaydı, özellik sürünmesi hepimizi öldürürdü. Her iki durumda da, bu bir dodge değildir, çünkü özellikle desteklenmediği belirtilen bir senaryodur.
Steven Evers

1
@SnOrfus: Belirtildi. Aslında sonra. Gerçekten "Uygulamayı x dakikadan daha uzun süre küçültmenin desteklenmediğini" belirten bir belirtim olduğuna inanıyor musunuz? Açıkçası, bu bir hata.
ThomasX

Sorun, gerçek bir yazılım parçasını tanımlayacak kadar tam bir spesifikasyon olmamasıdır. "Spesifikasyonlarla eşleşir" hedefi iyi bir yazılım üretmez, sadece yazılımdaki bir şey kötü olduğunda "benim hatam" değildir. Belki düzeltmeye değmez, ama "spec" nedeni değil.
Sean McMillan

@ThomasX Projede olduğum düşünüldüğünde, 200-400 sayfalık bir spesifikasyona sahip ve gerçekten de çalışma zamanı için tanımlanmış sınırlara sahip. Evet ediyorum.
Steven Evers

5

Bu projeye liderlik eden bir geliştirme ekibi olsaydım, buna yazılımın normal işletme beklentilerinin çok dışında olduğu için bir hata ama küçük bir tane diyebilirim. Eğer üzerinde çalışılacak olsaydı, muhtemelen bir genç programcıya ya da yeni bir işe alıp, onlar için bir öğrenme egzersizi olarak başka bir şeyden daha fazla atardım.

Potansiyel olarak daha geniş kapsamlı sorunlara işaret edebildiklerinden, bu küçük hataları izlemek iyi bir fikirdir. Örneğin, karşılaştığınız veri kaydetme hatası. Nasıl olduğu için küçük görünüyor, ancak verilerin kaybolduğu başka durumlar da olabilir. Bir hata raporlama sistemi kullanarak benzer bir sorunun ortaya çıktığı tüm vakaları bulabilir ve ortak bir unsur olup olmadığını görebilirsiniz. Karmaşık bir sistemde, bu tür şeylerin belgelenmesi, daha ciddi ve ince hataları bulmanıza yardımcı olabilir.


5

Buradaki çoğu insanla aynı fikirde değilim.

Eski bir Starcraft (orijinal) oyuncu olarak, bunun çok yaygın bir davranış olduğunu (veya en azından) kanıtlayabilirim. Kullanıcılar sohbet odalarında pozisyonlarını korumak için oyunu 7/24 açık bırakır ve tekrar döndüklerinde oyunlara katılırlar. Güncellenmiş Battle.net'in buna olan ihtiyacı azaltabilecek bazı iyileştirmeler olduğuna eminim, ancak yine de çok şey oluyor.

Oturumunuzun bir şekilde süresi, şekli veya şekli dolmuşsa, yeniden bağlanmadan oyuna katılmanıza izin vermemesi çok daha mantıklı olacaktır. Seansınızı bitirdikten sonra oyunlara katılmanıza izin vermesi benim için bir hata. Buradaki rahatsız edici şey ve henüz ortaya çıkmamış bir şey, geliştiricilerin kullanıcılarını anlamaları gerekiyor. Bu çok iyi bir durum olabilir, ama bu çok özel oyuncular için memnun etmek için ayarlanması gereken bir durumdur.

Teknik olarak, bunun tasarım gereği olduğunu iddia edebilirler ve bu tamir etmek istedikleri bir şey değildir. Gözlerimde hala bir hata var, bu da onları bir böcek olarak sınıflandırıp sınıflandırmadıklarına bağlı. Bu oyuncuların hemfikir olduğu anlamına gelmez.

Her neyse, şimdiye kadar gönderilenlerden biraz farklı bir cevap vereceğimi düşündüm.


1
Aslında Starcraft oynasaydım ekranı uzun süre küçültürdüm. Bence bir hatanın alakasız olup olmadığı sorusu, ama ele alması gereken bir şey gibi görünüyor ve eğer olmasaydı gerçekten beni rahatsız edecekti.
psr

Kabul edildi - bu bir hata olarak sınıflandırılmalıdır, hepsi çok düşük öncelikli olsun. "Oyunu uzun süre en aza indirgemek desteklenmiyor" diyebilirken, tam olarak uzun bir süreyi oluşturan şey nedir? 10 dakika boyunca minimize edilirse aynı sorunun olmayacağını nereden biliyorlar? En azından, bu tür eylemleri destekleme niyetinde değilse, x dakikadan daha uzun bir süre minimize edilmiş olarak bırakılırsa, bağlantıyı kesen bir oyun zaman aşımı tasarlanmalı ve uygulanmalıdır.
Gavin Coates

4

Bir hata makul olarak "yazılımın amaçlanan davranışından herhangi bir sapma" olarak tanımlanabilir.

Açıkça onlar (ve bu onların yazılımıdır, bu yüzden nasıl davranması gerektiğini belirleyeceklerdir), yazılımı hiçbir zaman bu senaryoyu ele almayı amaçlamamıştır, bu yüzden bir hata tanımını karşılamamaktadır.

Ancak söyleyeceğim şey, en azından, bu durumu ele alma biçiminin yetersiz olmasıdır.

Çöp, çöp dışarı (yani kullanıcı aptal ya da kötü ya da beklenmedik bir şey yapar ve sonuç olarak kötü bir şey olur) kötü bir davranış standardı olarak kabul edilmiştir. En azından bu durumu ele alma biçiminde daha zarif olması gerektiğini söyleyebilirim.

Yani kesinlikle bir hata değil, bir kenar kasanın kötü bir şekilde ele alınması.

Eğer onlar olsaydım, düzeltmeye değer olacağını düşündüğüm bir şey değil (çok az fayda için pahalıya mal olur), ancak ileride başvurmak için takıma daha iyi bakabilecekleri bir şey olduğunu söyleyebilirim.


1

Bir hatanın tanımının, yazılımın davranışı ile ilgisi yoktur. Hata, yazılımın davranışının amacına uygun olup olmadığına göre tanımlanır. Ve niyetin ne olduğunu kim söyleyecek? (Burada programcılarla uğraştığım için, ilk cümleyi açıklığa kavuşturacağım - kendi başına bir hata oluşturan olası yazılım davranışları yoktur).

Genelde bir hatanın, yazılım geliştiricilerin düzeltmesi gereken bir şey olduğunu unutmayın. Yani bir hatanın tanımı ne düzeltmek istediklerine dayanır. Örneğin, "zamanın% 50'sinden fazlasında doğru şekilde çalışmak, gelecekteki sürümlerde yayınlamayı planladığımız bir özelliktir". Herhangi bir şey , yazılımın hiçbir zaman bu özel sorunu ele alması amaçlanıyordu gibi bir hata olarak tanımlanamaz. Yani, pratikte, bir hatayı oluşturan şey tamamen politik bir husustur.

(Bir yana, bu her iki yolu da keser. Hata düzeltmeleri için ödeme yapmak zorunda olmayan ama yeni geliştirme için ödemek zorunda olan bir müşteriye "sadece düşündüğüm bir özellik yapmıyor ama şimdi % 100 bahsettiğim şeyler tarafından ima edilen karar "açıkça bir hata.)


Ne olursa olsun, uygun şekilde belgelenmemiş bir şeyi hata olarak ilan eden OpenBSD değil mi?
Canageek

1

Bir böceğin bağlantısını kesmemeyi düşünmezdim. Onun sadece bir hata (tasarım, niyetle) bağlantı kesilmesi gerekiyordu ve bunu yapmaz. Bir özellik isteği gönderdiğiniz şeyi ararım.

Bununla birlikte, savaştan sonra veri kaybetmek - bu hata olabilir. Starcraft hakkında çok şey bilmiyorum, ama tasarımdan şüpheleniyorum.

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.