frontend testing tips

Nell’ambito dello sviluppo di test funzionali capita di dover verificare l’apertura di nuove tab nel browser ed eseguire i test da lì.

Oltre a dover gestire la nuova tab è necessario assicurarsi che una volta completato il test le tab aperte vengano richiuse e la situazione venga ripristinata per non creare problemi ai test successivi.

Continua a leggere

frontend testing tips

Creare test funzionali con Protractor come trattato negli articoli precedenti va ben oltre i testing fatto durante il normale sviluppo, con poche modifiche ci permette far girare la nostra suite di test direttamente su Browserstack. In questa maniera avremo la possibilità di eseguire interi flussi applicativi  in multipiattaforma e garantendo quindi la funzionalità cross-browser della nostra applicazione.

Continua a leggere

frontend testing tips

Protractor offre un ottimo sistema di testing perfettamente integrato con Angular, ma così come l’abbiamo presentato nel test precedente porta con sé degli evidenti problemi.

L’obiettivo è identificare e evitare tutto ciò che renderebbe difficile la manutenzione dei test: la crescita del progetto in dimensioni e complessità li renderebbe di fatto un costo al posto di una risorsa e porterebbe irrimediabilmente al loro abbandono.

Continua a leggere

Frontend testing tips

Il test funzionale detto anche E2E (end to end) consiste nel verificare la funzionalità completa di un’applicazione. Al contrario di quello unitario che si prefigge il test di funzionalità atomiche, il test E2E ha come obiettivo verificare che tutte funzionalità lavorino correttamente assieme.

Lo strumento principale utilizzato con Angular è Protractor, un framework di test E2E che viene integrato in applicazioni generate con Angular cli.

Questa è una guida introduttiva per un quick setup, che ci porterà alla scrittura del primo test che approfondiremo in articoli successivi.

Continua a leggere

Oggi, le applicazioni web che utilizziamo quotidianamente sono state sviluppate utilizzando framework e tecnologie che permettono agli sviluppatori di essere efficienti e veloci.

Al contrario, sviluppare applicazioni desktop rimane piuttosto complicato e macchinoso.

Per sviluppare applicazioni desktop, infatti, non c’è un unico stack tecnologico a cui fare riferimento: sono diffusi decine di linguaggi di programmazione (Java, C++, Python, …) e decine di framework e librerie per la costruzione di interfacce grafiche (Qt, Gtk, Swing, JavaFX, …).

Spesso queste librerie, poi, possono essere anche molto complesse da utilizzare (come faccio un layout fluido?), hanno scarsa documentazione e pochi esempi di codice…. Senza considerare che alcune non sono nemmeno cross-platform!

Perchè sviluppare applicazioni desktop deve essere così complicato? Come sarebbe se potessimo, in qualche modo, utilizzare le tecnologie web per creare app desktop con la stessa facilità?

Continua a leggere