Perché le versioni beta hanno così tanti bug?

0

Quando lavoravo in Microsoft su antivirus MSE, avevamo diverse fasi di pre-release: Alpha, Beta, RC. La più grande differenza tra queste fasi erano correzioni di bug. Ogni volta abbiamo corretto più bug e in genere aggiornato alcune funzionalità minori.

Apple funziona nello stesso modo. Guarda qui: link

Hanno rilasciato una versione beta del sistema operativo Yosemite, ma la beta è piena di bug.

Perché queste grandi aziende funzionano così? Non è meglio rilasciare una versione beta che è stata testata in modo approfondito ma che non fornisce tutte le funzionalità che fornirà la versione finale?

    
posta Eugene 08.06.2014 - 11:49
fonte

4 risposte

5

Why do big companies work this way?

Data la natura della loro dimensione, hanno anche grandi basi di installazione. Parte dello scopo del rilascio di un prodotto Beta è di testare le combinazioni di mondo reale di hardware / software che la società non è in grado di eseguire internamente. Ci sono semplicemente troppe combinazioni per simulare tutto internamente. Quindi, dopo Alpha, alcuni dei test a metà ciclo vengono esternalizzati all'utente finale.

Release I candidati sono quando tutto viene a galla, test approfonditi e serie di funzionalità abbastanza complete. Stai mettendo troppe aspettative sui prodotti Beta. La beta è ancora molto rappresentativa di un prodotto in sviluppo attivo, pieno di bug, funzionalità mancanti, ecc.

    
risposta data 08.06.2014 - 16:22
fonte
4

sono stati rilevati bug e non sono stati resi noti

Avere una fase non aiuta molto a migliorare la base del codice, non puoi capire tutti i bug in una fase.

Avere più fasi consente all'organizzazione di riordinare le priorità, ottenere feedback dagli utenti e migliorare il codice di conseguenza. Le priorità cambiano con test, discussioni degli sviluppatori e code base mature in ogni fase, se vuoi solo una fase significa che devi fornire senza feedback, potresti concentrarti su un'area prima di scoprire che lo stavi facendo completamente sbagliato e poiché vengono rilevati errori, alcune parti dell'applicazione potrebbero essere più bug di altre, di nuovo ti aiuta a capirlo.

Dal punto di vista della gestione del progetto, questo aiuta a fissare le pietre miliari per il progetto e gestire le risorse del progetto.

    
risposta data 08.06.2014 - 12:08
fonte
2

Se aspetti che tutti i possibili bug vengano scoperti, aspetti per sempre. Voltaire lo ha scritto per primo:

Le mieux est l'ennemi du bien.

(tradotto: "Il migliore è il nemico del bene.")

Significa che cercare di creare la perfezione significa che in realtà non produrrà mai nulla di buono; continuerai a non essere finito perché non sei abbastanza perfetto. Devi smettere e rilasciare. Poiché sai che in realtà non stai tentando di produrre la perfezione (basta fare abbastanza bene, bilancia il costo di non correggere un bug contro il costo di non rilasciare a causa del ritardo aggiuntivo) perché preoccuparsi che le cose non siano perfette?

Ciò che tende ad accadere è che le persone producono versioni alfa del software mentre stanno lavorando sulle funzionalità principali; questi potrebbero essere solo interni, o rilasciati solo a un gruppo molto selezionato di persone esterne, e probabilmente saranno piuttosto rotti in altri modi. Quindi, una volta che le cose principali sono a posto e grosso modo lavorando insieme, una beta viene creata e inviata a un gruppo più ampio di persone. Questo è il punto in cui il QA entra davvero in gioco, scovando tutti i tipi di bug minori, e dove le persone che sono molto interessate a ottenere le nuove funzionalità - abbastanza da tollerare il fatto che il software sia conosciuto essere buggy - può ottenere l'accesso anticipato. Potrebbero esserci anche alcuni cicli beta, dal momento che gli errori vengono risolti (compresi eventualmente tutti gli stopper, si spera).

Una volta che il costo della correzione dei bug sta superando il costo di lasciarli non corretti, è il momento per il rilascio completo. Se non ti piacciono i bug, è quello che dovresti aspettare. (Il più conservatore aspetterà anche le prime patch ufficiali che escono, così che anche le cose veramente oscure si schiacciano.) Ma alcune persone sono semplicemente più entusiaste di ottenere quelle caratteristiche: sono quelle a cui puntano le beta (e alfa sono di solito per le persone che sono abbastanza vicino al processo di sviluppo solo, in quanto di solito mancano funzionalità chiave).

I processi agili cercano di accorciare le cose mantenendo la quantità di tempo in cui le cose sono infrante veramente limitate e mettendo il cliente vicino allo sviluppo, ma non è adatto a tutto il software. Qualunque cosa miri ad avere un rilascio veramente ampio (ad es. Prodotti commerciali) semplicemente non può avere tutti i clienti lì; ciò impone il tipo di strategia di rilascio sopra delineata.

    
risposta data 08.06.2014 - 20:19
fonte
1

Ci sono alcune cose da considerare:

  • Non saranno trovati tutti i bug fino a quando "qualcosa" non verrà rilasciato, quindi perché aspettare fino a quando non rompi l'ultimo bug quando sai che lo faranno essere più comunque.
  • Alcuni bug potrebbero non interessare più utenti o in molti casi d'uso.
  • I bug possono essere trovati / creati ad una velocità molto più veloce di quanto possa essere eseguito il debug.
  • Alcuni utenti esperti (come i programmatori) amano vedere il software azione prima piuttosto che dopo indipendentemente dai bug.

Rilasciano app con bug noti, quindi perché le versioni Beta dovrebbero essere migliori?

    
risposta data 08.06.2014 - 18:13
fonte

Leggi altre domande sui tag