TDD i BDD a l'era de la IA: per què els agents d'IA exigeixen un 100 % més de desenvolupament amb proves primer
El panorama del desenvolupament de programari s'ha transformat de soca-rel. Els agents d'IA no es limiten a escriure codi: s'estan convertint en desenvolupadors principals als nostres equips. Aquest canvi de paradigma exigeix replantejar de dalt a baix com abordem les proves. El desenvolupament guiat per proves (TDD) i el desenvolupament guiat pel comportament (BDD), que abans es consideraven bones pràctiques opcionals, s'han convertit en disciplines crítiques en l'era del desenvolupament impulsat per la IA.
Mai no hi havia hagut tant en joc. Diversos estudis mostren que entre un 60 i un 80 % dels costos de desenvolupament de programari provenen de la feina refeta, i que una bona gestió de requisits pot eliminar entre un 50 i un 80 % dels defectes d'un projecte. Amb agents d'IA que generen codi a una velocitat mai vista, el cost d'equivocar-se amb els requisits es multiplica de manera exponencial. El TDD i el BDD són les baranes que mantenen el desenvolupament amb IA dins del camí.
Per què els agents d'IA fan que el TDD sigui irrenunciable
El problema del no determinisme
El desenvolupament impulsat per la IA planteja un repte de fons: el no determinisme. A diferència del desenvolupament tradicional, on una mateixa entrada dona la mateixa sortida, els agents d'IA poden generar solucions de codi molt diferents per a instruccions idèntiques. Aquesta variabilitat, tot i que afavoreix la resolució creativa de problemes, es converteix en un malson de control de qualitat si no hi ha una infraestructura de proves adequada.
Com assenyala Eric Elliott en la seva obra sobre el desenvolupament impulsat per la IA: «L'AIDD és no determinista, i instruccions diferents poden portar a resultats radicalment diferents. És una bona cosa, perquè permet explorar enfocaments diversos d'un mateix problema per trobar-ne la millor solució. Tanmateix, també pot ser un repte assegurar que el codi generat sigui correcte».
Bucles de retroalimentació ràpids com a xarxa de seguretat
El TDD ofereix als agents d'IA criteris de sortida deterministes. En lloc de fiar-nos del criteri de la IA sobre quan el codi està «acabat», les proves obliguen els agents a iterar fins que tots els requisits es compleixen. Així es crea un bucle de retroalimentació continu en què les proves guien la IA cap a implementacions correctes i detecten al·lucinacions i errors lògics abans que s'acumulin.
Simon Willison, una veu destacada en el desenvolupament amb IA, ho remarca: «Les proves ens donen criteris de sortida fiables. No depenem dels capricis de l'agent d'IA, sinó que l'obliguem a iterar fins que les proves que fallaven passin».
El marc TDD de l'era de la IA: Test → Drive → Develop
El cicle tradicional Vermell-Verd-Refactoritza del TDD ha evolucionat per a l'era de la IA. Aquest és el nou paradigma que fa que els agents d'IA siguin productius i fiables:
- TEST: Converteix primer el PRD en proves d'acceptació automatitzades
- Redacta les proves a partir de les especificacions del PRD: els agents d'IA destaquen a convertir requisits en llenguatge natural en esquelets de proves. Davant d'un apartat del PRD com «L'inici de sessió ha d'admetre 2FA», la IA pot generar casos de prova complets que cobreixin els camins feliços, els casos límit i les condicions d'error.
- Refinament humà: desenvolupadors i enginyers de QA revisen les proves generades per la IA per assegurar-ne la completesa, l'exactitud de la lògica de negoci i les consideracions de seguretat que la IA podria passar per alt.
- Fes servir el format Given-When-Then: escriu els criteris d'acceptació amb estil BDD per guanyar claredat.
- DRIVE: El procés de desenvolupament guiat per les proves
- Els agents d'IA reben les suites de proves com a entrada principal, en lloc d'instruccions vagues.
- Refinament iteratiu per part de la IA amb eines com Cursor, Claude Code i GitHub Copilot per executar aquest bucle de manera autònoma.
- Capacitats d'autoreparació: els agents avançats actualitzen automàticament les proves perquè s'ajustin als canvis de la interfície.
- DEVELOP: Atura't quan totes les proves passin
- Proves unitàries automatitzades: verifiquen que cada funció sigui correcta i que la lògica de negoci funcioni.
- Proves d'acceptació funcionals: validen els fluxos d'usuari de punta a punta i la integració del sistema.
- Proves de regressió visual: eines amb IA detecten incoherències d'interfície mitjançant visió per computador.
- Vistiplau humà de QA/QC: validació final de l'experiència d'usuari i dels casos límit per part de persones de QA.
BDD: d'una promesa incomplerta a una realitat impulsada per la IA
El repte històric
El desenvolupament guiat pel comportament prometia un llenguatge comú que unís els equips de producte, desenvolupament i QA. A la pràctica, sovint va acabar sent una activitat de QA tancada en si mateixa. Escriure escenaris en Gherkin requeria coneixements tècnics, mantenir les definicions de passos es feia feixuc i els beneficis de la col·laboració no es van materialitzar mai.
La IA ho canvia tot
La IA elimina les barreres tècniques que frenaven el BDD. Ara els responsables de producte poden escriure escenaris en llenguatge natural, i la IA els tradueix automàticament en proves executables. La col·laboració dels «tres amics» (producte, desenvolupament i QA) per fi pot fer-se realitat sense porters tècnics.
- Del llenguatge natural a les proves: la IA pot generar suites de proves completes a partir d'escenaris en llenguatge planer amb una gran precisió.
- Comprensió semàntica: els executors de proves amb IA localitzen els elements de la interfície pel context i no mitjançant selectors CSS fràgils.
- Documentació viva: els escenaris BDD fan de documentació sempre al dia, que alhora executa i documenta el comportament del sistema.
Com implementar TDD/BDD amb IA: una guia pràctica
Fase 1: Preparació de la base
- Tria el teu marc de proves
- Proves unitàries: Jest, Pytest, JUnit
- Proves BDD: Cucumber, SpecFlow, Behave
- Proves visuals: Percy, Applitools, Chromatic
- Proves E2E: Playwright, Cypress
- Integra eines d'IA
- Fes servir assistents de codi amb IA com Cursor, Claude Code o GitHub Copilot.
- Configura els agents d'IA amb context sobre els teus marcs de proves i les teves convencions.
- Configura canalitzacions de CI/CD que executin les proves automàticament a cada commit.
Fase 2: El flux de treball TDD
- Pas 1: Del PRD a les proves
- Exemple: construir una funcionalitat de cistella de la compra
- Pas 2: Revisió i refinament humans
- Cal assegurar l'exactitud de la lògica de negoci, les consideracions de seguretat, els casos límit i els indicadors de rendiment.
- Pas 3: Implementació per part de la IA
- Demana a la IA que implementi les funcionalitats i iteri fins que les proves passin.
- Pas 4: Validació contínua
- Inclou l'execució automàtica de la suite de proves, comparacions de regressió visual, proves de referència de rendiment i més.
Mesurar l'èxit: l'impacte del TDD amb IA
Les dades parlen
Recerques i informes del sector mostren evidències convincents a favor del desenvolupament amb proves primer i IA:
- Reducció de defectes
- El TDD produeix entre un 40 i un 80 % menys d'errors que el desenvolupament amb proves posteriors.
- El TDD amb IA detecta les regressions en el moment del commit, de manera que les branques principals sempre es poden publicar amb fiabilitat.
- Velocitat de desenvolupament
- La IA pot generar suites de proves 10 vegades més de pressa que l'escriptura manual.
- Productivitat de l'equip
- Els desenvolupadors dediquen menys temps a depurar i més a crear funcionalitats.
Com evitar els errors més habituals
Tot i que el TDD/BDD amb IA aporta beneficis enormes, els equips solen trobar-se amb aquests reptes:
- Parany 1: Refiar-se massa de les proves generades per la IA
- Solució: fes que desenvolupadors experimentats revisin sempre les proves generades per la IA.
- Parany 2: Provar la implementació en lloc del comportament
- Solució: centra les proves en el comportament observable i els resultats.
- Parany 3: Saltar-se el cicle de revisió humana
- Solució: el QA humà ha de validar l'experiència d'usuari, l'accessibilitat i els escenaris.
- Parany 4: Descuidar el manteniment de les proves
- Solució: aprofita les capacitats d'autoreparació de la IA per actualitzar automàticament les proves quan hi ha canvis.
L'ecosistema AI-TDD: eines essencials
- Assistents de codi amb IA
- Cursor
- Claude Code
- GitHub Copilot
- Marcs BDD
- Cucumber
- SpecFlow
- Behave
- Plataformes de proves visuals
- Percy (BrowserStack)
- Applitools
- Chromatic
- Plataformes d'automatització de proves
- Playwright
- Cypress
- TestRigor
- Plataformes de proves amb IA
- Functionize
- Momentic
- Agentforce Testing Center
El futur és amb proves primer
La convergència dels agents d'IA i el desenvolupament guiat per proves representa un canvi de fons en la manera de construir programari. El TDD i el BDD ja no són bones pràctiques opcionals: són disciplines essencials per aprofitar la potència de la IA sense renunciar a la qualitat ni a la fiabilitat.
Idees clau:
- El no determinisme de la IA fa que les proves siguin imprescindibles.
- El procés Test → Drive → Develop: converteix primer els PRD en proves i fes servir les proves per guiar el desenvolupament.
- La promesa del BDD, complerta: la IA elimina les barreres tècniques i fa el BDD accessible.
- Automatització a escala: la IA pot generar i mantenir proves més de pressa, però el criteri humà és decisiu.
- Cobertura completa: combina proves unitàries, proves funcionals, proves de regressió visual i QA humà.
Com va dir Kent Beck: «El codi net que funciona és l'objectiu. El TDD és només la disciplina que ens hi porta». A l'era de la IA, aquesta disciplina mai no havia estat tan vital. Si adoptem el desenvolupament amb proves primer, alliberem el potencial de la IA i alhora mantenim la qualitat, la fiabilitat i la confiança que exigeix el programari modern.
Per on començar
- Comença amb poc: tria una funcionalitat i fes servir l'ajuda de la IA per desenvolupar-la amb proves primer.
- Inverteix en formació: assegura't que l'equip entén els principis del TDD i les capacitats de les eines d'IA.
- Construeix de mica en mica: afegeix l'automatització de proves a la canalització de CI/CD peça a peça.
- Mesura l'impacte: fes un seguiment de les taxes de defectes, la velocitat de desenvolupament i la satisfacció de l'equip.
- Itera: refina els processos segons les necessitats de l'equip i del domini.
El futur del desenvolupament de programari és amb proves primer. Les eines ja són aquí. Els beneficis estan demostrats. El moment d'actuar és ara.
Ja no és com
És més aviat com més cercles