Definizione di un bug del software. Blizzard Entertainment insiste sul fatto che il mio "bug" non è affatto un bug. Hanno ragione? [chiuso]

18

Secondo Wikipepdia,

A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways.

Recentemente ho trovato un "bug" in StarCraft 2 che produce un risultato inaspettato: link

Il problema è che se tengo minimizzato StarCraft 2 per un lungo periodo di tempo, il gioco non disconnette o genera alcuna forma di timeout. Scollega comunque dopo prima battaglia e talvolta perde anche i dati di gioco (statistiche delle partite).

Sfortunatamente, secondo Blizzard:

The game is not designed to be kept minimized for such a long period of time. (Blizzard) cannot consider such behaviour as erroneous as StarCraft II is not meant to be minimized for hours.

Quindi, il mio "bug" è davvero un bug?

    
posta TeleShoTTgun 21.10.2011 - 16:04
fonte

9 risposte

59

Per un team di software, un bug è un problema software che deve essere risolto. Non tutti i problemi software devono essere risolti.

L'aggiornamento del software è costoso. Blizzard ti sta dicendo che il tuo problema è un caso limite. In altre parole, il problema del caso limite che hai scoperto non è necessariamente qualcosa hanno testato o altrimenti si preoccupano di spiegare. Risolvere il problema ti aiuterà, ma con ogni probabilità non aiuterà molti altri. Tuttavia, il costo per correggere il bug potrebbe essere elevato. Invece, possono investire le loro risorse in nuove funzionalità o persino finire Diablo III.

    
risposta data 21.10.2011 - 16:14
fonte
22

Questo tipo di mi ricorda il gatto nel microonde , in particolare il caso della signora Smith nel 1983.

Il punto è che tu ti aspetti che il prodotto funzioni in questo modo. Principalmente perché un certo numero di prodotti simili funziona così, cioè se li minimizzi per ore e poi li apri, funzionano (anche se il contrario non è così raro come potresti pensare).

La signora. Smith sapeva dalla sua esperienza che asciugare i suoi gatti nel forno non li avrebbe danneggiati (presumendo un po 'di cautela, ovviamente). Più precisamente dall'esperienza che ha avuto con tutti i forni che ha provato. Assunse quindi che sarebbe stato lo stesso per il forno a microonde che le era stato dato. Questa ipotesi era sbagliata. Le microonde non sono progettate per asciugare i gatti. Né sono forni convenzionali. Semplicemente non uccidono il gatto nel processo come un effetto collaterale dei processi fisici che impiegano per generare calore.

Ora come produttore di microonde, è possibile inserire una bobina di riscaldamento e un numero di sensori nel microonde. Quest'ultimo determinerebbe se il contenuto corrente è un gatto e utilizzare la bobina invece delle microonde.

Allo stesso modo, che si potrebbe produrre un forno a microonde adatto per asciugare i gatti, Blizzard potrebbe creare una versione di SC2 adatta a rimanere in uno stato ridotto al minimo per lunghi periodi di tempo.

Personalmente, sarei disposto a pagare più soldi per un microonde abilitato per l'asciugatura dei gatti solo per il gusto di farlo (supponendo che ci sia un grande logo di asciugatura per gatti di fronte a cui posso orgogliosamente puntare). Ma non mi interesserebbe un gioco che può rimanere ridotto al minimo per ore.

SC2 è stato progettato per soddisfare determinati requisiti. Le tue aspettative non fanno parte di quelle. Sei libero di misurare SC2 rispetto alle tue aspettative. Ma se Blizzard include o meno tutti loro nell'ambito delle loro esigenze, alla fine è la loro scelta.

Tutto quello che potresti davvero discutere è che si tratta di un fallimento del design. Il buon senso impone che, a meno che una parte sostanziale degli utenti non sia confusa dal design o non sia soddisfatta, è abbastanza buona. Sono sicuro che se un numero sufficiente di utenti dichiarerà di condividere le proprie aspettative, Blizzard produrrà e includerà il progetto. Questo renderebbe il tuo problema un vero bug e Blizzard lo risolverebbe.

    
risposta data 21.10.2011 - 17:18
fonte
11

Penso che questo sia un caso in cui il software non viene utilizzato come definito dalle specifiche. Dicono

The game is not designed to be kept minimized for such a long period of time.

Che significa che hanno una definizione da qualche parte in ciò che conta come un "lungo periodo di tempo". Se minimizzi il programma per più di un "lungo periodo di tempo", va oltre le loro specifiche e oltre ciò per cui sono stati testati (supponendo che lo abbiano formalmente verificato) e non garantiscono ciò che accadrà. Certo, sarebbe stato bello se il manuale da qualche parte avesse detto "abbiamo solo testato questo programma per essere minimizzato per periodi di tempo non superiori a 10 minuti. Riduci a icona per un periodo più lungo a tuo rischio e pericolo!"

Quindi no, non penso che questo sia davvero un bug. Nel mio ufficio, questo sarebbe chiamato "problema di formazione dell'utente" (che direi una forma di un problema di comunicazione , perché in questo caso non è stato comunicato alcun periodo massimo per minimizzare il tempo a l'utente) poiché l'utente non sta utilizzando correttamente il programma. Non che questo aiuti molto Blizzard, a meno che non lo mettano nel manuale ...

    
risposta data 21.10.2011 - 16:07
fonte
8

Non un bug. Un bug è un comportamento non conforme alle specifiche. Se la specifica dice che il caso d'uso non è supportato, qualsiasi comportamento, percepito come valido o meno, in quel caso d'uso è "di progettazione".

In questo scenario, il gioco che funziona a tutti potrebbe essere percepito come un comportamento indefinito.

    
risposta data 21.10.2011 - 16:35
fonte
5

Se fossi un team di sviluppo a capo di quel progetto, lo definirei un bug ma secondario, poiché è ben al di fuori delle normali aspettative operative del software. Se si dovesse lavorare a tutti, probabilmente lo assegnerei a un programmatore junior o a un nuovo assunto più come esercizio di apprendimento per loro di qualsiasi altra cosa.

È una buona idea tenere traccia di questi piccoli bug, poiché possono indicare problemi potenzialmente di vasta portata. Ad esempio, il salvataggio dei dati bug che hai incontrato. Sembra minore a causa di come è successo, ma potrebbero esserci altri casi in cui i dati vengono persi. Utilizzando un sistema di segnalazione dei bug è possibile trovare tutti i casi in cui si è verificato un problema simile e vedere se c'è un elemento comune. In un sistema complesso, avere questo tipo di cose documentate può aiutarti a trovare bug più seri e sottili.

    
risposta data 21.10.2011 - 16:24
fonte
5

Non sono d'accordo con la maggior parte delle persone qui.

Come ex giocatore di Starcraft (originale), posso attestare che questo è (o era, almeno) un comportamento molto comune. Gli utenti lasciano il gioco 24 ore su 24, 7 giorni su 7, per mantenere la propria posizione nelle chat room e partecipare ai giochi quando tornano di nuovo. Sono sicuro che il Battle.net aggiornato ha alcuni miglioramenti che potrebbero ridurre la necessità di questo, ma succede ancora molto.

Avrebbe molto più senso che non ti consenta di unirti a un gioco senza ricollegarti se la tua sessione ha in qualche modo, forma o forma, scaduta. Il fatto che ti consenta di unirti ai giochi dopo che hai terminato la sessione è un bug per me. La cosa inquietante qui, e qualcosa che non è stato ancora creato, è che gli sviluppatori devono capire i loro utenti. Questo potrebbe benissimo essere un caso limite, ma è un caso limite per i giocatori molto dedicati che dovrebbero essere impostati per soddisfare.

Tecnicamente, possono sostenere che è di progettazione, e non è qualcosa che intendono correggere. È ancora un difetto nei miei occhi, che in definitiva dipende da loro se lo classificano o meno come un insetto. Ciò non significa che i giocatori siano d'accordo.

Ad ogni modo, ho pensato di mettere una risposta leggermente diversa da quella che è stata postata finora.

    
risposta data 21.10.2011 - 20:47
fonte
4

Un bug potrebbe essere ragionevolmente definito come "qualsiasi deviazione dal comportamento previsto del software".

Chiaramente essi (ed è il loro software in modo che possano determinare come dovrebbe comportarsi) non hanno mai inteso che il software gestisca questo scenario, quindi non soddisfa questa definizione di bug.

Tuttavia, quello che vorrei dire è, perlomeno, subottimale è il modo in cui gestisce questa condizione.

Garbage in, garbage out (cioè l'utente fa qualcosa di stupido o di cattivo o imprevisto e qualcosa di brutto succede di conseguenza) è stato considerato un cattivo standard di comportamento. Direi che almeno dovrebbe essere più elegante nel modo in cui gestisce questa condizione.

Quindi non è un bug, ma una cattiva gestione di un caso limite.

Detto questo, se fossi in loro non è qualcosa che probabilmente valuterò la pena di aggiustare (troppo costoso per troppi benefici), sebbene potrei dirlo al team per riferimento futuro che sarebbe stato qualcosa che avrebbero potuto gestire meglio.

    
risposta data 21.10.2011 - 16:29
fonte
1

La definizione di un bug non ha nulla a che fare con il comportamento del software. Un bug è definito in base al fatto che il comportamento del software corrisponda al suo intento. E chi deve dire quale fosse l'intento? (Dato che qui mi occupo di programmatori, chiarirò la prima frase: non esiste alcun comportamento software che, di per sé, costituisca un bug).

Ricorda che generalmente un bug è qualcosa che gli sviluppatori software dovrebbero risolvere. Quindi la definizione di un bug si basa su ciò che vogliono correggere. Ad esempio, "funzionare correttamente più del 50% delle volte è una funzionalità che prevediamo di rilasciare nelle versioni future". Qualsiasi cosa può essere definita come non essere un bug fingendo che il software non abbia mai avuto lo scopo di risolvere quel particolare problema. Quindi, in pratica, ciò che costituisce un insetto è una considerazione puramente politica.

(Per inciso, questo taglia in entrambi i modi: a un cliente che non deve pagare per correggere i bug ma deve pagare per un nuovo sviluppo "non fa alcune funzionalità che ho appena pensato ma che io "Ora ho deciso che il 100% delle cose che ho menzionato" è chiaramente un bug.)

    
risposta data 21.10.2011 - 19:05
fonte
1

Non considererei di non disconnettere un bug. È solo un bug se si supponeva che (per disegno, intento) si disconnettesse e non lo facesse. Chiamerei ciò che hai inviato una richiesta di funzione.

Detto questo, perdere i dati dopo la battaglia - che potrebbe essere il bug. Non so molto su Starcraft, ma sospetto che non sia di progettazione.

    
risposta data 21.10.2011 - 20:13
fonte

Leggi altre domande sui tag