Una primissima introduzione al TDD per chi 竪 a digiuno di test in generale e di TDD in particolare. Usa Java/Junit, ma 竪 facimente adattabile ad altri linguaggi. 40-60 minuti.
Una panoramica sui test automatizzati con un p嘆 di teoria su come approciarsi.
Ed infine una panoramica su Serenity BDD, tool utilizzato per creare i test automatizzati
Test, Tools and Tips per tester e non.
Consigli su come affrontare il testing e come comportarsi con applicazioni di tipo web, con scenari e possibili soluzioni con vari tools a disposizione
Le pratiche ingegneristiche di eXtreme ProgrammingAndrea Francia
油
Le pratiche ingegneristiche sono il sottoinsieme delle pratiche descritte nei libri di eXtreme Programming che hanno direttamente a che fare con le modalit con cui si scrive/progetta/verifica il software.
Esse sono:
- il Simple Design
- il Test-Driven Development
- la Continuous Integration
- il Refactoring, e
- il Pair Programming.
Sono famose di nome, ma non sempre 竪 possibile venire a contatto con una loro definizione corretta, ed 竪 facile farsi un'idea sbagliata di cosa siano e trovare problemi ad applicarle in modo efficace alla propria situazione.
Spiegher嘆 come ognuna di queste pratiche possono aiutarci nello sviluppo software portando esempi presi dal mio lavoro quotidiano o dal lavoro di altre persone con cui sono venuto in contatto.
Si parla tanto di DevOps e alle conferenze gli argomenti pi湛 gettonati sono build pipeline, continuous integration/delivery/deploy, deploy automation e monitoring.
Ci stiamo dimenticando qualcosa... i test! dove sono i test? perch辿 non si parla quasi mai di test? in questo fantastico mondo DevOps come si inseriscono i test?
I test sono solo un passo della pipeline di build? se la pensassi cos狸 il titolo del mio intervento sarebbe stato "Continuous Testing in DevOps", non credete?
Le operazioni di testing possono richiedere molto tempo e possono implicare ingenti costi per le imprese. Per questo motivo 竪 di fondamentale importanza individuare sul mercato le migliori soluzioni disponibili, al fine di ridurre al minimo gli effort impiegati per testare le proprie applicazioni.
TestComplete di SmartBear centra appieno questi obiettivi: TestComplete, infatti, offre una piattaforma di test per creare, eseguire e mantenere in modo semplice test automatici per applicazioni software di tipo desktop, Web, mobile, e client-server, favorendo unelevata riduzione dei tempi e dei costi dedicati alle operazioni di testing.
In questo webinar uno dei Testing Guru di Emerasoft mostra come sfruttare al meglio le potenzialit offerte dal testing automatico grazie allutilizzo di TestComplete.
Guarda il webinar on demand: https://www.youtube.com/watch?v=N7aTTfSoREI
Ci sono bug e bug. Alcuni si nascondono nel codice e possono essere trovati prima che arrivino al cliente, altri emergono dallintegrazione dei sistemi e possono essere gestiti in modo che non facciano danni in produzione, altri ancora invece sfuggono inesorabilmente.
Il Test Driven Development 竪 una pratica sempre pi湛 diffusa, ci consente di scrivere software che funziona e che pu嘆 evolvere pi湛 rapidamente e facilmente. Tuttavia, sebbene sia una pratica test-first, viene spesso utilizzata quando ormai 竪 troppo tardi e quellultima categoria di bug ha gi prodotto il suo effetto.
Si tratta infatti degli errori che si celano nelle pieghe dei requisiti e delle specifiche. Le buone notizie sono due: anche i requisiti e le specifiche possono essere testati prima ancora di scrivere una sola riga di codice, anche questi test possono essere automatizzati.
Il Continuous Testing secondo il ragioniere dell'Agilit. Scopriamo insieme, con l'uso di metafore, cosa fare e non fare per approcciare sistematicamente al testing.
Unit Test: Un tipo di test del software in cui vengono testate singole di un software. Lo scopo 竪 convalidare che ogni unit del codice software funzioni come previsto. Lo Unit Testing viene eseguito durante lo sviluppo (fase di codifica) di un'applicazione da parte degli sviluppatori. Essi isolano una sezione di codice e ne verificano la correttezza.
Unit: pu嘆 essere una singola funzione, metodo, procedura, modulo o oggetto. La definizione di unit 竪 decisa team by team
Le pratiche ingegneristiche di eXtreme ProgrammingAndrea Francia
油
Le pratiche ingegneristiche sono il sottoinsieme delle pratiche descritte nei libri di eXtreme Programming che hanno direttamente a che fare con le modalit con cui si scrive/progetta/verifica il software.
Esse sono:
- il Simple Design
- il Test-Driven Development
- la Continuous Integration
- il Refactoring, e
- il Pair Programming.
Sono famose di nome, ma non sempre 竪 possibile venire a contatto con una loro definizione corretta, ed 竪 facile farsi un'idea sbagliata di cosa siano e trovare problemi ad applicarle in modo efficace alla propria situazione.
Spiegher嘆 come ognuna di queste pratiche possono aiutarci nello sviluppo software portando esempi presi dal mio lavoro quotidiano o dal lavoro di altre persone con cui sono venuto in contatto.
Si parla tanto di DevOps e alle conferenze gli argomenti pi湛 gettonati sono build pipeline, continuous integration/delivery/deploy, deploy automation e monitoring.
Ci stiamo dimenticando qualcosa... i test! dove sono i test? perch辿 non si parla quasi mai di test? in questo fantastico mondo DevOps come si inseriscono i test?
I test sono solo un passo della pipeline di build? se la pensassi cos狸 il titolo del mio intervento sarebbe stato "Continuous Testing in DevOps", non credete?
Le operazioni di testing possono richiedere molto tempo e possono implicare ingenti costi per le imprese. Per questo motivo 竪 di fondamentale importanza individuare sul mercato le migliori soluzioni disponibili, al fine di ridurre al minimo gli effort impiegati per testare le proprie applicazioni.
TestComplete di SmartBear centra appieno questi obiettivi: TestComplete, infatti, offre una piattaforma di test per creare, eseguire e mantenere in modo semplice test automatici per applicazioni software di tipo desktop, Web, mobile, e client-server, favorendo unelevata riduzione dei tempi e dei costi dedicati alle operazioni di testing.
In questo webinar uno dei Testing Guru di Emerasoft mostra come sfruttare al meglio le potenzialit offerte dal testing automatico grazie allutilizzo di TestComplete.
Guarda il webinar on demand: https://www.youtube.com/watch?v=N7aTTfSoREI
Ci sono bug e bug. Alcuni si nascondono nel codice e possono essere trovati prima che arrivino al cliente, altri emergono dallintegrazione dei sistemi e possono essere gestiti in modo che non facciano danni in produzione, altri ancora invece sfuggono inesorabilmente.
Il Test Driven Development 竪 una pratica sempre pi湛 diffusa, ci consente di scrivere software che funziona e che pu嘆 evolvere pi湛 rapidamente e facilmente. Tuttavia, sebbene sia una pratica test-first, viene spesso utilizzata quando ormai 竪 troppo tardi e quellultima categoria di bug ha gi prodotto il suo effetto.
Si tratta infatti degli errori che si celano nelle pieghe dei requisiti e delle specifiche. Le buone notizie sono due: anche i requisiti e le specifiche possono essere testati prima ancora di scrivere una sola riga di codice, anche questi test possono essere automatizzati.
Il Continuous Testing secondo il ragioniere dell'Agilit. Scopriamo insieme, con l'uso di metafore, cosa fare e non fare per approcciare sistematicamente al testing.
Unit Test: Un tipo di test del software in cui vengono testate singole di un software. Lo scopo 竪 convalidare che ogni unit del codice software funzioni come previsto. Lo Unit Testing viene eseguito durante lo sviluppo (fase di codifica) di un'applicazione da parte degli sviluppatori. Essi isolano una sezione di codice e ne verificano la correttezza.
Unit: pu嘆 essere una singola funzione, metodo, procedura, modulo o oggetto. La definizione di unit 竪 decisa team by team
Il buon programmatore - consigli pratici per una vita feliceAndrea Dottor
油
Lavorando come consulente mi sono trovato spesso di fronte a problematiche (a volte banali), ma che erano la causa di gravi problemi di performance dell'appliccazione realizzata, oppure pi湛 banali, ma che rendevano il codice meno manutenibile e gestibile, specialmente lavorando in team. Vedere che nel tempo, persone/realt diverse, commettono gli stessi errori mi ha fatto pensare a questa sessione...dove intendo elencare i problemi pi湛 comuni, che per causa di tempo o scarsa conoscenza, vengono commessi, e proporre delle soluzioni semplici da poter applicare fin da subito. (ASP.NET, ma non solo)
PASS Virtual Chapter - Unit Testing su SQL ServerAlessandro Alpi
油
Con quanto segue andremo ad approfondire il concetto di unit test e, nella fattispecie, del testing tramite il framework free tSQLt, utilizzando t-sql e SQL Server Management Studio.
Lo Unit Test 竪 importante per testare gli aspetti di base di un qualsiasi applicativo PHP.
Con il framework PHPUnit noi possiamo effettuare test di unit senza problemi e senza notevoli sforzi.
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
油
Continuous Integration con SQL Server. Come automatizzare i processi di build e di test su database SQL Server. Come includere SQL Server nei processi di Application Lifecycle Management (Database Lifecycle Management).
La continuous integration, ovvero un insieme di pratiche di sviluppo atte a rilasciare frequentemente le modifiche al nostro codice, pu嘆 essere applicata anche a SQL Server. In questa sessione andremo a descrivere come mettere sotto controllo del codice sorgente i nostri database in un'ottica di teamwork e, successivamente, a capire come automatizzare il processo di test unitario al fine di prevenire regressioni e correggere quanto prima bug.
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
油
Build automatizzate, esecuzione di unit test, creazione di un pacchetto nuget, ecco cosa serve per essere pronti con SQL Server e la continuous integration
Delphi & Dintorni Webinar - Diventa un mago del TestingMarco Breveglieri
油
Il Testing 竪 una pratica sempre pi湛 preziosa e fondamentale nell'ambito dello sviluppo del software: si tratta di un passaggio fondamentale per ridurre il numero dei bug nel software e abilitare automatismi come la Continuous Integration e la Continuous Delivery. Se utilizzati in modo errato per嘆, i test possono causare pi湛 problemi di quanti ne prevengano: 竪 importante quindi conoscere le differenze tra le varie tipologie di test, quali sono le loro caratteristiche ideali e padroneggiarli al meglio. In questo webinar faremo luce sul Testing, chiariremo bene i concetti di Unit e Integration Test, vedremo come scriverli nel modo corretto e quali tool ci vengono in aiuto... alla fine il Testing non avr pi湛 segreti!
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...Alessandro Alpi
油
In questa serie di slide vedremo come creare i build step su Visual Studio Team Services sfruttando gli add-on forniti da Red Gate, come DLM Automation 2: Build.
Creare Suite di Test Automatici intelligenti con Selenium IDEStefano Trojani
油
Come creare delle suite (test plan) intelligenti con Selenium IDE? Una completa guida che parte dal concettuale per andare nel dettaglio tecnico (non troppo) che spiega un approccio testing strutturato, partendo dagli use case, ai test case.
Presentazione della Tesi di Laurea Specialistica : STRUMENTI PER LA GENERAZIO...Boymix81
油
Breve presentazione del lavoro svolto per la tesi : STRUMENTI PER LA GENERAZIONE AUTOMATICA DI TEST STRUTTURALI E FUNZIONALI, scaricabile dal sito web http://boymix81.mynickname.info
1. TDD Patterns and TDD Strategies
Alessandro Ceseno
contact me, my website is: www.alexceseno.it
Add me on Linkedin:
http://www.linkedin.com/in/alessandroceseno
2. TDD Patterns
Test
Come fare TDD
Aggiungi un test
Fai fallire un test (barra rossa)
Modica il test per vedere la barra verde (tutti i test eseguiti
con successo)
Refactoring verificando che:
- funzioni
- non vi 辿 duplicazione di codice
3. Isolated Test
Come capire se funziona la tua classe?
Scrivi un test automatico.
Il tuo test 竪 isolato se non da problemi:
nell' essere eseguito in modo concorrente con altri test
non si basa su un altro test (ogni test dovrebbe ricreare il
suo contesto e non dipendere da un altro test)
non si basa su un sistema esterno (FS, Network,etc.)
non necessita di un ambiente con una particolare
configurazione (It worked on my machine!)
se fallisce non test il messaggio di errore non indica
chiaramente perch竪 fallisce il test
4. Test list
Crea una lista dei test
Mentre scrivi test e codice applicativo,
se individui altri test aggiungili alla tua lista di test
5. Test First
Scrivi il test prima del codice applicativo
Qual'e il prossimo test?
Il prossimo test 竪 quello che ti insegna qualcosa e quello in
cui ti senti pi湛 confidente
6. Test Data
Quali dati per il test si devono utilizzare?
Il codice di test dovrebbe essere il pi湛 leggibile e semplice
possibile, quindi la struttura dei dati di test da utilizzare 竪
quella che consente leggibilit e semplicit
7. Evident Data
I risultati che ci si aspetta e i risultati attuali
devono essere chiari ed evidenti
8. TDD Strategies
I tre approcci principali di implementazione e design nel
TDD:
- Write the obvious implementation (Scrivi il caso pi湛
evidente e pi湛 semplice)
- Fake it (till you make it). Essendo una tecnica
incrementale, inizia anche con un fake test.
Generalizza solo quando hai due o tre esempi di test
- Triangulate. Il passo successivo 竪 l'implementazione
dell'algoritmo corretto.
9. Considerazioni:
Considerare i test affinch竪 non vi siano ridondati test,
i test ridondanti sono test che non creano nuove distinzioni
di comportamento.
redundancy code --> pu嘆 generare eccessivi problemi di
manutenzione
quindi anche
redundancy test --> possono generare eccessivi problemi
di manutenzione
Arrivi al design desiderato solo rimuovendo la duplicazione,
10. Il TDD 竪 un modo di gestire la "paura" nello sviluppo?
un modo di gestire il coraggio.
Ti consente di fare tentativi semplici e corti come numero di
linee di codice, tentativi che ti consentono di capire il
funzionamento in un tempo relativamente breve.
Consentono una miglior comunicazione (perch竪 i test si
capisco, o meglio si dovrebbero capire, se il TDD 竪 fatto
bene)
11. Se hai un test "grande" che si rompe, introduci un test
"piccolo" (in questo modo isoli il problema), risolvi il
problema e poi reintroduci il test grande.
Broken test: viene utilizzato affinch竪 quando si ritorna su
una sessione di programmazione si sa esattamente da
dove iniziare.
12. Break: fare una pausa quando si sente di aver bisogno di
una pausa.
Cheap Desk, Nice Chair.
13. Come individuare test scritti male:
codice di setup con molte linee
duplicazione di codice che vi 竪 nel setup nelle altre parti
della classe
test unitari lunghi da eseguire
test fragile: i test si rompono ma non si sa il perch竪 si
rompono
15. TDD Patterns and TDD Strategies
Alessandro Ceseno
contact me, my website is: www.alexceseno.it
Add me on Linkedin:
http://www.linkedin.com/in/alessandroceseno