Cosa testare quando si creano siti Web che utilizzano CMS?

4

Il mio lavoro consiste principalmente nella creazione di siti web che utilizzano CMS come Drupal, eZPublish o Magento.

Gran parte del lavoro è costituito da template, CRUD e aderenti alle specifiche con questo. Occasionalmente, esiste una logica aziendale specifica, ma in genere è di circa 20 righe. La maggior parte della logica è un po 'di if nei modelli.

In questo contesto, trovo difficile discutere sui test unitari. Cosa devo testare? Solo test di integrazione? Solitamente possono essere eseguiti solo a un livello molto alto, come l'utilizzo dell'IDE Selenium. E il Selenio è un problema da gestire nei prodotti in modalità progetto, perché i requisiti cambiano spesso in 6 mesi e quindi il progetto è finito. Ci sono anche altre difficoltà come gli URL dinamici. (I CMS non rispettano sempre un'architettura RESTful, specialmente per i contenuti.)

Sono favorevole al test unitario. Per le librerie o progetti basati su framework, li scrivo facilmente e creo per loro un server Jenkins. Ma per i progetti basati su CMS, non so come e dove iniziare.

    
posta Florian Margaine 19.08.2013 - 08:33
fonte

1 risposta

2

Non scrivi test unitari solo per il gusto di farlo, li scrivi quando è un modo efficiente per ridurre il numero di bug. Per quell'unità i test sono usati in due modi:

  • Per testare i componenti del livello inferiore in isolamento o per guadagnare un po 'di fiducia in essi prima di scrivere i livelli superiori o perché è più semplice eseguire il debug che impostare i livelli superiori.
  • Per assicurarti di mantenere la funzionalità quando è necessario ristrutturare i componenti per motivi tecnici.

Ora nel progetto basato su CMS il livello inferiore è il CMS, che probabilmente ha i propri test e non lo stai modificando, quindi non hai bisogno di scrivere test per te stesso.

E nei progetti brevi che si limitano a riempire pezzi in un CMS, raramente si ristrutturano qualsiasi cosa tranne quando cambiano i requisiti. In tal caso, dovrai anche riscrivere il test.

Quindi nessuna delle ragioni si applica in misura significativa. Quindi non mi preoccuperei dei test unitari. Non proverei nemmeno a fare di tutto per automatizzare i test di integrazione. L'automazione del browser va bene, ma se hai solo bisogno di testarlo alcune volte e poi va in diretta e nessuno lo toccherà più a meno che i requisiti cambino, basterà testarlo un paio di volte, quindi l'automazione potrebbe non risparmiare tanto test di tempo da pagare. Soprattutto perché è necessario eseguire alcuni test di integrazione manuale.

    
risposta data 19.08.2013 - 09:56
fonte

Leggi altre domande sui tag