Perché utilizzare phpunit quando è possibile utilizzare i test manuali tradizionali

13

Quando faccio un'app web, collaudo il mio lavoro sul browser per vedere se ricevo errori e li risolvo. Ho reso le applicazioni complesse e testare in questo modo è stato facile e veloce. Ho visto molti video su YouTube relativi a phpunit e non riesco a trovare uno scopo per questo. Perché questa libreria è utile? Phpunit è più per framworks php come cakephp o zend? Non uso alcun framework solo core php. Potrebbe o può essere utile a phpunit? Se sì, come?

C'è anche xdebug ma non sono sicuro se si riferisce.

    
posta Sarmen B. 25.10.2011 - 10:36
fonte

4 risposte

12

Would or can phpunit be useful for me? If yes, how?

Sì, sicuramente.

phpunit appartiene alla famiglia di xUnità delle librerie di test . Si utilizzano queste librerie per creare test eseguibili automaticamente che verificano il comportamento dell'applicazione. Questo è importante per garantire, tra le altre cose, che le tue modifiche non interrompano la funzionalità esistente.

Elenco di tutti i motivi per i test automatici, i vari tipi e le tecnologie sarebbero troppi. Dai uno sguardo ai seguenti link per leggere:

risposta data 25.10.2011 - 11:01
fonte
6

Diciamo che volevi testare manualmente la tua applicazione ogni volta che la distribuivi. Come faresti a farlo?

Bene, per cominciare, potresti fare una lista di tutte le cose che vuoi testare in modo da non dimenticare di testare qualcosa più tardi. Quindi probabilmente scriveresti i passaggi per ciascun test per assicurarti di averli eseguiti allo stesso modo ogni volta. Se non hai verificato che il processo di test che hai utilizzato fosse coerente, i tuoi risultati non sarebbero coerenti.

Quindi, ora che hai l'elenco dei test che devi eseguire, devi aprire il browser, leggere i passaggi del primo test, eseguirli e prendere nota del risultato. Ripeteresti questa procedura per ogni test nel tuo elenco.

Il numero di test che esegui continuerà a crescere man mano che la tua applicazione cresce e quando trovi nuovi bug. Ovviamente, si dovrebbe limitarsi a eseguire questi test a velocità umana, rendendoli piuttosto lenti.

L'ironia qui è che, passando da un elenco di operazioni a un altro, stai calcolando. Lo stai facendo molto più lentamente di, ad esempio, un computer.

Questo, tra molti altri buoni motivi, è il motivo per cui scriviamo test unitari: lasciano che il computer esegua il computer in modo da non doverlo fare.

Posso eseguire una suite di test unitaria completa abbastanza velocemente da usarla spesso durante lo sviluppo, non solo una volta alla settimana prima della distribuzione. Ciò mi consente di rilevare gli errori più rapidamente, risparmiando tempo e denaro.

Posso persino scrivere test che predicono il comportamento del sistema e then scrivere quel comportamento (che già so è corretto perché l'ho appena testato), un processo noto come Test Driven Development.

    
risposta data 25.10.2011 - 18:28
fonte
5

Il test manuale (ad esempio facendo clic sull'applicazione nel browser) viene in realtà chiamato test funzionale. Test funzionali e test unitari sono due metodi diversi utilizzati nel controllo qualità. Perché pensi di non poterli usare entrambi?

Test dell'unità viene utilizzato per verificare se il tuo codice funziona come previsto (ad esempio se il tuo servizio web gestisce l'errore in modo appropriato o se restituisce i risultati come previsto).

Quando fai clic sulla tua domanda, stai testando la funzionalità della tua applicazione.

Would or can phpunit be useful for me? If yes, how?

I test unitari hanno molti vantaggi: può essere uno strumento molto utile durante il refactoring, perché puoi confermare che il codice funziona come previsto. Inoltre, quando qualcuno legge il tuo codice può essere molto utile vedere l'uso previsto del codice nei test di unità.

    
risposta data 25.10.2011 - 10:55
fonte
1

Sì!

Sì. Assolutamente sì.

In realtà, questo richiede una qualifica. I framework di testing unitario come PHPunit sono utili se stai scrivendo e gestendo un'applicazione che altre persone dovrebbero utilizzare.

I motivi per cui il test unitario è utile includono

  • Test di regressione per bug specifici che hai esposto e

  • I test unitari in esecuzione sono molto più veloci dei test manuali e quindi possono essere molto più accurati.

In azienda per cui lavoro, scriviamo test unitari prima di scrivere il codice che li passa. Questo ci aiuta a produrre progetti sane e verificabili (perché dobbiamo pensare a ciò che scriveremo prima di farlo!) E fornisce un modo semplice per affermare che il nostro codice soddisfa i requisiti dell'utente.

    
risposta data 25.10.2011 - 10:51
fonte

Leggi altre domande sui tag