Mutation testing

Qualche settimana fa in ideato ho tenuto una pill su mutation testing.

Ho conosciuto questo metodo durante il talk di Nicolas Fränkel alla CraftConf 2017, ed ho deciso di approfondire l’argomento.

Con qualche esperimento e un po’ di appunti raccolti, ho scoperto che ci sono interessanti tools a supporto degli sviluppatori PHP e JS, e che nell’attuale ecosistema dei tool automatici, c’è spazio anche per testare i propri test 🙂

Ecco la registrazione della pill, buona visione!
(altro…)

Avanzamento di carriera: i workshop da seguire

workshop

Finalmente è arrivato quel periodo dell’anno in cui iniziamo a fissare alcune date in giro per l’Italia per i nostri corsi di formazione. La crescita professionale per noi è un valore estremamente importante che ci permette di collaborare e inserirci in grandi realtà.
Partendo da tecnologie e metodologie, ogni anno organizziamo workshop utili per chi vuole imparare, tenersi aggiornato e migliorare per fare il passo successivo nella propria carriera.
Non nascondiamo inoltre che questi workshop sono per noi un’ottima occasione per costruire un network di professionisti motivati e in gamba, per conoscere nuove persone, nuovi freelance e – chi lo sa! – magari anche nuovi dipendenti.
Pensi sia arrivato il momento di fare un passo avanti nella tua carriera?
Ecco i prossimi workshop:

I posti sono limitati: iscriviti ora prima che sia troppo tardi!

Test funzionali: lenti, accoppiati ma utili

paratest 2

Mi trovo spesso a sviluppare applicazioni web tramite l’utilizzo di framework full-stack come Symfony o Zend. Questi strumenti, uniti alla natura delle applicazioni stesse, mi portano a scrivere molti test funzionali che a loro volta si portano dietro sia aspetti positivi che negativi. Qui vorrei esplorare quali sono questi aspetti e quando è realmente importante fare test funzionali.

Prima di tutto capiamo bene di che tipo di test stiamo parlando. Tramite il pattern AAA potremo descrivere un test funzionale in questa maniera:

  • Arrange: prepariamo fixtures necessarie a portare la nostra applicazione in un determinato stato iniziale. Tipicamente le fixtures sono dati da caricare su DB, stub di servizi, ecc.
  • Act: eseguiamo il codice di produzione che vogliamo testare. Ad esempio facciamo una request all’uri che indentifica la pagina che vogliamo testare.
  • Assert: controlliamo che il risultato ottenuto cioè che la response sia quella che ci aspettiamo. Questo viene fatto controllando la response e/o il DOM.

(altro…)

Sviluppo Agile e tecniche di progettazione

Software, applicazioni e progetti web sono il risultato di un’attività tecnica che oggi è diventata essenziale per la gestione del business.

In ideato abbiamo intrapreso ormai da anni la strada di tecniche e metodologie che riescono a dare un valore aggiunto ai nostri clienti e alla nostra fase di produzione.
Il nostro processo di sviluppo, infatti, ha solide basi costituite dallo sviluppo Agile che – come stabilito nel Manifesto per lo Sviluppo Agile – si fonda su precisi princìpi incentrati sulla collaborazione con il cliente, sul buon funzionamento del software – sviluppato in maniera iterativa e incrementale – e su una risposta rapida e flessibile al cambiamento. (altro…)