[bcn-pm] Dijous 30 de juny: Testing Open Space

Daniel Ribes daniel a danielribes.com
dis jul 2 04:22:08 PDT 2016


Que interessant, llastima no haver pogut ser-hi! :(

Gràcies pel resum Alex.

Daniel.


El 2/7/16 a les 12:29, Alex Muntada ha escrit:
> Marc Egea i Sala:
>
>> Si surt alguna cosa interessant, si us plau passeu-la a la llista
> Després de les presentacions corresponents (teníem cares noves)
> vam explicar diferents casos amb què ens trobem que cal introduir
> tests, sobretot d'integració, en sistemes «legacy». Vam posar
> com a exemples els següents:
>
> * Introduir tests en un sistema no modularitzat per a fer les
>    altes d'usuaris als serveis del meu departament. És un codi
>    que originalment es va fer per resoldre un problema concret
>    i que ha anat creixent de forma descontrolada (un script per
>    cada servei) i sense tests.
>
> * Introduir tests en una eina per automatitzar els pull requests
>    als upstreams dels mòduls de Perl que empaquetem a Debian. Ja
>    tenim una forma d'enviar les diferències dels canvis que hem
>    de fer per generar els paquets a Debian, però per als upstream
>    que tenen els repositoris a GitHub volem crear directament els
>    pull requests.
>
> * Com fer tests d'integració en un sistema que utilitza serveis
>    d'AWS sense replicar tot l'entorn de producció.
>
> En aquest punt vam fer una petita explicació de les diferències
> entre els tests funcionals o unitaris i els d'integració. També
> vam parlar de mocking i de com evitar-lo tenint diferents entorns
> per a producció i testing.
>
> Tot seguit, vam comentar com amb refactorings petits que vagin
> afegint una capa d'abstracció als serveis d'AWS es podrien fer
> els tests més fàcilment: aquest middleware primer cridaria
> exactament als serveis d'AWS (assegurant així que no s'introdueix
> cap canvi de disseny que afecti al funcionament) i que després
> gradualment es podria anar evolucionant fins que permeti fer
> tests sense tocar els serveis d'AWS. Vam comparar-ho amb el patró
> Model-View-Controller i amb altres middlewares com DBIC.
>
> Després vam fer una mica de teràpia de grup parlant dels motius
> pels quals no es fan els tests i la qualitat del codi no és la
> que hom desitjaria. Vam parlar del triangle de ferro (recursos,
> abast, temps i qualitat) i de la versió «pick two»:
>
> https://en.wikipedia.org/wiki/Project_management_triangle
>
> Finalment, ja quan estàvem a la porta a punt de marxar va sorgir
> el tema del Behaviour Driven Development i vam comentar molt
> ràpidament què fa i quina diferències té respecte al Test Driven
> Development: BDD està orientat a negoci i TDD a desenvolupament.
>
> Us recomano aquest parell de llibres:
>
> * Perl Testing: A Developer's Notebook (antic però vàlid)
>    http://shop.oreilly.com/product/9780596100926.do
> * Refactoring (1ed: Java, 2ed: Ruby)
>    http://refactoring.com/
>
> També podeu trobar interessant aquest vídeo sobre l'economia
> del refactoring (no estic d'acord amb tot el que diu però
> el trobo igualment interessant) d'en Xavi Gost a la CAS2014:
>
> https://www.youtube.com/watch?v=mqjvkL2h3_I
>
> Salut i Perl!
> Alex
> _______________________________________________
> llista dels Barcelona-pm
> Barcelona-pm a pm.org
> http://mail.pm.org/mailman/listinfo/barcelona-pm
> BCN Perl Mongers: http://barcelona.pm.org



Més informació sobre la llista de correu Barcelona-pm