Come chiamate gli sviluppatori della suite di test prima del check-in? [chiuso]

8

Sto lavorando a un progetto in cui stiamo aggiungendo test automatici a un progetto esistente. Stiamo iniziando con un componente centrale e impostando entrambi i test unitari a livello di modulo di codice e test eseguiti sull'intero componente, anche se nell'ambiente di sviluppo. L'intento è che questa suite di test debba passare prima del check-in del codice e verrà eseguita da un sistema di integrazione continua su ciascun ramo di sviluppo.

Come dovremmo chiamare questo? In questo momento lo chiamiamo "test di unità di sviluppo", ma il lato pedante di me dice che non è giusto, perché contiene più di unit test. E la nostra visione è che questa suite crescerà nel tempo per includere test di accettazione del prodotto completo.

Qualche input qui? O dovremmo smettere di discutere sui nomi e fare test di scrittura?

Aggiornamento

Tutti, grazie per una buona discussione! Penso che la conclusione a cui sto arrivando sia che non c'è davvero una definizione "comune" - ogni progetto / team presenta nomi che hanno più senso per quel progetto, a seconda delle tecnologie (Java, C #, ruby, ecc.) e metodologie (cascata old-skool, Scrum, XP, ecc.) in uso.

    
posta dpassage 01.04.2011 - 20:18
fonte

9 risposte

10

Sono noti come "Check-in con gating" in MSFT TFS. link

    
risposta data 01.04.2011 - 20:27
fonte
2

Chiamali come vuoi, non importa. Ciò che importa è la qualità dei test e che vengono eseguiti.

I nostri test sono test di accettazione automatizzati, ma li chiamiamo "test" qui al mio lavoro. Come in:

  • correggi i tuoi "test"
  • hai interrotto i "test"
  • hai scritto un "test"
  • questo "test" fa schifo, quindi l'ho riscritto
risposta data 02.04.2011 - 03:14
fonte
0

Li chiamo "i test" con l'implicazione che sto parlando dei "test unitari automatizzati" e con il risvolto corollario che questi sono veloci (alcuni secondi a pochi minuti quello che ho vissuto più frequentemente.

A volte ci saranno altri test che vengono eseguiti automaticamente al check-in, o una volta di notte, per esempio. Questi tendono a richiedere più tempo. Qualcosa tra 30 minuti e qualche ora. In genere chiamiamo "i test funzionali" o "i test di regressione" o anche "i test lenti".

    
risposta data 03.04.2011 - 04:08
fonte
0

Dalle mie esperienze:

Un unit test è un test o una serie di test che copre un particolare modulo. Nella programmazione OO, un modulo è in genere una funzione o una classe. I test unitari sono raggruppati in suite di test. I test unitari sono gli elementi costitutivi delle prove di regressione e fumo e, in alcuni casi, possono servire come documentazione per il comportamento previsto di un sistema o di parti di un sistema.

Il test di regressione è l'atto di eseguire la maggior parte o tutti i test unitari su un modulo modificato. Ciò garantisce che il modulo modificato continui a funzionare come previsto dopo le modifiche.

Il test del fumo è l'esecuzione di un test (piccolo - si desidera che il test del fumo sia abbastanza rapido) di unità sui moduli non modificati per garantire che una modifica a un modulo non abbia effetti collaterali indesiderati su altri moduli. L'attenzione è in genere sulle classi che hanno associazioni con la classe modificata e sui moduli che forniscono funzionalità chiave per l'applicazione.

A seconda del tuo ambiente di costruzione, uno di questi potrebbe essere automatizzato o eseguito dallo sviluppatore. Un set di modifiche impegnate dovrebbe essere sufficientemente piccolo in modo che i test di regressione non durino in modo inaccettabilmente lungo e il test del fumo sia progettato per essere abbastanza veloce. In genere, eseguo almeno la regressione e il fumo test sul codice prima che venga eseguito il check in, in modo da non interrompere la compilazione. Di solito ho visto il sistema di compilazione essere progettato per eseguire e riportare lo stato di tutti i test case su base regolare, che vanno dal quotidiano al settimanale a seconda del tasso di sviluppo e del tempo per costruire ed eseguire i test.

    
risposta data 03.04.2011 - 15:10
fonte
0

Se lo si esegue attraverso la base di codice prima di un check-in, si tratta di un test di regressione.

se provi solo il bit che hai modificato è un test unitario.

Quando aggiungi un test per un bug a livello di sistema, correggilo, questo è un test di regressione.

I suoi test se stai regredendo: andando indietro.

Vale la pena eseguire test di regressione perché i bug tendono a raggrupparsi in determinati punti e alcuni bug si ripresentano.

Se riesci a sopportare la disciplina dei test a livello di sistema, l'aggiunta di test di regressione ti ripaga. Qualsiasi sottosistema fragile finisce con il bozzolo nei test di regressione.

Storia vera.

    
risposta data 04.04.2011 - 00:49
fonte
-1

Test unitari automatizzati è quello che li ho sempre chiamati.

    
risposta data 01.04.2011 - 20:20
fonte
-1

Non sono sicuro che ci sia o meno un termine ufficiale, ma li chiamerei Test automatici. Sono d'accordo con te, la parola unità che sta lì non è precisa.

    
risposta data 01.04.2011 - 20:26
fonte
-1

Il termine "test automatizzati" copre lo spettro da test di unità, test di regressione, test di integrazione, test di accettazione, ecc.

    
risposta data 03.04.2011 - 04:51
fonte
-1

Di solito li chiamiamo test al fumo, test di sanità o test di priorità 1. I test di Priorità 2 avvengono dopo un check-in e quindi i test di priorità 3 vengono eseguiti sui build pianificati. La nostra serie finale di test, i test con priorità 4, si verificano quando abbiamo una build speciale che si verifica nel corso di un fine settimana, poiché richiedono un tempo così lungo per essere eseguiti.

    
risposta data 03.04.2011 - 07:08
fonte

Leggi altre domande sui tag