Qual è il posto migliore per iniziare a scrivere test?

Esistono generalmente alcuni livelli di test che è possibile eseguire:

  • Test di unità, in cui si isola un modulo / file / classe e si assicura che gli input sensibili producano output sensibili.
  • Test di integrazione, con più componenti, che verificano che un sistema possa interagire con se stesso come previsto.
  • Test di accettazione, con più sistemi, che testano e regrediscono per assicurarsi che l’intero prodotto funzioni.

Hai ragione per iniziare, i test unitari sono i più facili da affrontare. L’idea generale è quella di testare un modulo in modo isolato: deridere o stub le sue dipendenze, quindi fornirgli input e verificare che l’output sia quello che ti aspetteresti. Un sacco di framework di test sono disponibili per Javascript, ma sono parziale a @http: //pivotal.github.com/jasmine/.

Alcuni consigli aggiuntivi:

  • Inizia con i blocchi di codice più basilari, quelli con il minor numero di dipendenze e esso stesso dipende da altri. Di solito non sono solo i più facili da testare (meno da stub), ma la loro importanza nel sistema significa che in realtà non si vuole che le cose vadano male.
  • Fare alcuni alla volta; non esagerare cercando di provare tutto in una volta. Non solo cambiano i sistemi (e quindi i tuoi test fallirebbero senza una manutenzione attiva), ma è abbastanza facile esaurirsi solo scrivendo i test.
  • Determinare il livello appropriato di test; una buona regola empirica per i test unitari è una per metodo pubblico.
  • Una volta che hai una discreta suite di test, investi in un sistema di integrazione continua (ci). L’idea è che la tua build esegua i test su ogni commit e che distribuiresti solo quando tutti i test passeranno, un ottimo modo per forzarti a mantenere i tuoi test.
  • I test di livello di integrazione e accettazione sono più difficili da eseguire e richiedono tempi di esecuzione più lunghi, sia automatici che manuali. Ancora una volta, pensa a ciò che ha senso testare e quanta copertura viene duplicata tra diversi test e diversi livelli di test.

Buon test!

More Interesting

Consiglieresti di esternalizzare lo sviluppo del tuo software in Ucraina?

È più difficile trovare un ruolo nell'ingegneria del software che nella gestione del prodotto?

Codice automodificante: come ha funzionato come salvaspazio?

Qual è il modo migliore per scrivere le funzionalità del software?

Dipendenti di Amazon: come sei riuscito a prepararti per la parte culturale dell'intervista?

Quando è un buon momento per iniziare a correggere bug minori in un programma?

Sono una persona più fresca, come posso migliorare le mie conoscenze nel settore del software?

Devo prendere questa offerta di tirocinio da RBS? Sono uno studente indiano di ingegneria del terzo anno. Sono stato selezionato per un tirocinante presso la Royal Bank of Scotland per un profilo di sviluppo software.

Esiste una relazione tra Machine Learning e programmazione concorrente?

Quali domande di intervista fai per una posizione di sviluppo software?

Qual è la differenza tra il grado di sviluppo del software e il grado di ingegneria del software?

Posso ottenere un lavoro di ingegneria del software presso Google Gurugram senza una laurea?

Se un browser viene comunemente utilizzato per supportare lo stile architettonico REST, cosa viene comunemente utilizzato per supportare SOAP?

Cosa intendiamo quando diciamo "L'industria del software indiana è morta".

Come ingegnere informatico in India con oltre 3 anni di esperienza, come posso cercare un lavoro a tempo indeterminato negli Stati Uniti o in Europa?