Quante diverse configurazioni vengono utilizzate per i test del software? [chiuso]

2

Questo articolo mostra che per le app Android, gli sviluppatori di software utilizzano tra 30 e 50 dispositivi diversi per test di compatibilità.

Ho cercato di trovare informazioni sui test delle applicazioni su computer "classici", ad esempio giochi per PC o applicazioni aziendali orientate alla grafica: quante configurazioni hardware diverse sono tipicamente testate in quest'area?

    
posta mjn 06.03.2013 - 17:15
fonte

5 risposte

2

Abbastanza per acquisire la certezza che il tuo software funzionerà sulle piattaforme desiderate.

Naturalmente non testate tutti i dispositivi; decidi quanta copertura del tuo pubblico di destinazione desideri e poi strutturi i tuoi test sui dispositivi che ritieni abbiano la maggior parte del tuo pubblico.

A meno che il tuo software non richieda hardware esotico (CUDA, forse, o schede audio multicanale), è più facile testare il software su piattaforme PC. Le tue preoccupazioni hanno più a che fare con "i requisiti di sistema" (cose come velocità del processore, RAM e spazio su disco) di quanto non facciano con le differenze tra computer e framework software come .NET progettati per funzionare su quasi tutti i dispositivi compatibili con PC .

    
risposta data 06.03.2013 - 17:27
fonte
2

Realizziamo un prodotto di offuscamento .Net. Poiché siamo abbastanza conservatori e ci sforziamo per la compatibilità, dobbiamo testare su molte piattaforme diverse.

Alcune piattaforme:

  • Windows XP 32 bit
  • Windows Vista 32 e 64 bit
  • Windows 7 32 e 64 bit
  • Windows 8 32 e 64 bit

E poi dobbiamo anche provare diverse versioni di .Net

  • .Net 3.5
  • .Net 3.5 SP1
  • .Net 4.0
  • .Net 4.5

e quindi dobbiamo verificare che i programmi emessi debbano funzionare su un insieme ancora più ampio di versioni.

Tuttavia, direi che dovresti fare un controllo generale del QA (come dopo l'implementazione di ogni funzione) su un gruppo di sistemi "popolari" diversi e poi prima che un rilascio faccia un test molto più ampio (ma non così profondo) tutte le piattaforme che prevedi di supportare. Macchine virtuali, un server per eseguirle e un abbonamento MSDN è tuo amico:)

    
risposta data 06.03.2013 - 17:33
fonte
0

Abbiamo avuto varie app basate su Java e Flash che abbiamo testato (quindi più semplici di un gioco o di un'app completamente installata) e abbiamo avuto circa 15 macchine di prova con (iirc) ~ 20-30 VM su ciascuna per il test.

Quando arrivi a quel punto, stai davvero testando le regressioni - diventa impossibile eseguire ogni test manuale contro ogni configurazione hardware / software.

    
risposta data 06.03.2013 - 17:19
fonte
0

Dipende enormemente dalle garanzie che vuoi fornire ai tuoi clienti.
Se non pubblicizzi nulla, dovrebbe essere sufficiente testare solo su una singola piattaforma.
Se dichiari che funziona sulle piattaforme X, Y e Z, allora è meglio che i rapporti di prova lo dimostrino.

Ed è qui che diventa interessante. Con le applicazioni per PC, le persone tendono ad accettare molto più bug o incompatibilità rispetto ad altri dispositivi elettronici, come i telefoni cellulari. Ciò si riflette nello sforzo di test e per questo motivo, i principali sviluppatori di app testano la loro app con un numero così grande di dispositivi, solo così possono tenere conto di eventuali incompatibilità.

Come aneddoto, ho lavorato per un'azienda che produce kit per auto (quindi puoi usare il tuo telefono cellulare in auto). Questi kit per auto vengono testati contro quasi tutti i telefoni cellulari presenti sul mercato, perché la gente semplicemente non li accetta se il loro telefono non interagisce in modo impeccabile con il loro kit auto.

    
risposta data 06.03.2013 - 18:24
fonte
0

È qui che il test automatizzato è l'unico approccio gestibile. Ha un sacco di spese generali, ma alla fine ne vale la pena per ottenere la copertura che stai cercando. Per brevità, sviluppate i test automatici per la massima copertura del codice. E quindi impostare un programma per il test che alterna le diverse architetture che si desidera testare. È possibile scegliere il programma in base al numero di opzioni di architettura che si desidera coprire. Normalmente faccio solo amd64, ARM e x86. Includo anche le lingue (en-us, ja-jp, ecc.) Per il pubblico internazionale. Ma sto lavorando su un'app Desktop. Spero che ti aiuti!

    
risposta data 09.03.2013 - 01:31
fonte