Quanto tempo / soldi dovrebbero essere spesi per il software QA / QC? [chiuso]

5

Qualsiasi applicazione / programma / sistema / cosa-non-banale commerciale richiede test (QA / QC).

Non contando cose come test automatici, quanto tempo / denaro relativo all'investimento nello sviluppo nel progetto dovrebbe essere speso test (ad esempio con persone vive)?

So che non ci sono percentuali magiche di tempo o budget, e i singoli progetti differiscono per dimensioni e portata dei test, ma c'è qualcosa che è considerato una buona pratica? Un'applicazione può essere perfetta in tutti i modi, ma è comunque l'unico modo per accertarlo.

Fondamentalmente il mio datore di lavoro vuole ridurre i test sui software sviluppati in mare, ma nutro forti riserve nei confronti di ciò (essendo responsabile della QA e avendo lavorato con il venditore in precedenza, non penso che la nostra direttiva di dire loro di "fare meno bug" ci porterà esattamente i risultati, indipendentemente da quanto previsto nel contratto).

Esiste qualche tipo di best practice o linea guida a cui posso prestare attenzione?

    
posta Kyle Lowry 31.05.2011 - 20:26
fonte

2 risposte

8

Se c'è una legge in cui sono incappata dopo aver lavorato a progetti software per più di un decennio, è questa:

The longer you wait to fix a problem, the more expensive and troublesome it will be to fix.

Nel corso degli anni, sono stato in grado di sperimentare diverse strategie di processo. Quello che ha aumentato di molto la qualità del software è stato il test del 50% dei giorni di calendario. Un'iterazione funzionerebbe in questo modo:

  • Definisci / perfeziona il set di funzionalità / correzioni di bug che andranno nello sprint corrente.
  • Implementa le funzionalità / correzioni di bug
  • Distribuisci ai test.
  • I tester iniziano a testare la versione interna appena implementata, mentre gli sviluppatori iniziano la successiva iterazione (prima puntata)
  • I tester segnalano problemi, che ricevono priorità per le iterazioni future (la maggior parte delle volte hanno priorità più alta rispetto alle nuove funzionalità)

Essenzialmente avevo due team: il team di sviluppo e il team di test. Il team di test, per definizione, era sempre un'iterazione dietro al team di sviluppo. Ciò ha contribuito a fornire un feedback tempestivo e a cogliere problemi significativi prima che diventassero problemi insormontabili.

Significava anche che un'iterazione non avrebbe mai potuto essere più breve del tempo necessario per testare l'applicazione. Ciò aiuta a evitare un ciclo troppo rapido per consentire ai team di tenere il passo. Il punto debole per i miei team sembrava essere di circa 1-2 settimane per iterazione / sprint (tutte le iterazioni hanno lo stesso periodo di tempo).

Il mio team di test di solito era più piccolo del team di sviluppo, quindi le ore uomo hanno funzionato in modo diverso. Con un team di 6 sviluppatori, potremmo tenere il passo con 1 o 2 tester.

    
risposta data 31.05.2011 - 20:41
fonte
0

In breve, non c'è risposta alla domanda. Qual è il tuo dominio? Giochi web per bambini, incubatori per bambini prematuri, iPhone iapps o Avionics? Quanto spenderesti per ogni test di quelle applicazioni? Quanto costa riparare se si lascia un difetto, può anche essere riparato?

Il test non è uguale a QA / QC. Il QA inizia al primo contatto con il cliente e termina quando il software viene rimosso. Sfortunatamente non puoi testare in qualità, il meglio che puoi fare è testare l'assenza di qualità. Se non rilevi alcun bug nel test, il programma è perfetto o il test è imperfetto? Esistono dei metodi per stabilire questo, ma in base al tuo post, il budget non lo sarà.

Puoi ridurre i test se questo è ciò che richiede il tuo capo, senza tagliare la qualità: spendi i risparmi altrove nel ciclo di vita.

Se vuole ridurre i costi del tutto, è una domanda diversa con una risposta diversa.

    
risposta data 01.06.2011 - 03:35
fonte

Leggi altre domande sui tag