Domanda

Sto scrivendo un'applicazione web che contiene una sorta di tabella di marcia. Dopo una certa azione, il calendario viene aggiornato e quando l'utente visita la pagina di quel giorno succede qualcosa.

Tutte le idee su come scrivere un test funzionale (accettazione) per quel tipo di funzionalità?

Sto scrivendo questi test end-to-end utilizzando Selenio. L'unica idea che ho è la possibilità di forzare il server da utilizzare una certa data visitando un URL del tipo /set-fixed-time?time=..., poi, dopo il test di visita /set-real-time.

Sul server, vorrei utilizzare un oggetto personalizzato per ottenere il tempo attuale e quell'oggetto sarebbe scambiato quando uno degli URL viene visitato.

È stato utile?

Soluzione

Credo che il suo ok per i test degli sviluppatori tuttavia test di accettazione deve essere fatto senza finta (si potrebbe avere bug nel codice finto). se deve aspettare 3 giorni di test di accettazione deve attendere quei giorni dell'albero o potrebbero by-passato cambiando ora del server. penso che la sua cattiva idea di lasciare back-porte solo per i test (alcuni tester potuto testare a mano e poi dimenticare di / set-real-time).

Altri suggerimenti

Sono d'accordo con la Scimmia, questo è meglio gestita dagli sviluppatori.

Si potrebbe anche provare un ibrido. Non c'è motivo tutti i test di accettazione devono funzionare su una simulazione inalterata del sito di produzione o sono solo permesso di utilizzare l'interfaccia web o non possono cambiare le cose come amministratore o non può eseguire codice. Inoltre non è necessario cambiare il tempo di tutto il server, che è globale e probabilmente avrà conseguenze non volute. È invece possibile cambiare quando l'utente è stato aggiornato l'ultima volta.

Si può guidare selenio da un programma, quindi un test di selenio e il codice ibrido potrebbe usare il codice per impostare dati "quando è stata l'ultima volta che il aggiornata" di un utente e quindi eseguire i test Selenium per controllare il risultato. Provatelo quando il suo non è mai stato eseguito, poco prima dello scadere del tempo, esattamente allo scadere del tempo e subito dopo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top