[{"data":1,"prerenderedAt":192},["ShallowReactive",2],{"case-study-qa-transformation":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":7,"area":9,"summary":10,"order":11,"body":12,"_type":186,"_id":187,"_source":188,"_file":189,"_stem":190,"_extension":191},"\u002Fes\u002Fcase-studies\u002Fqa-transformation","case-studies",false,"","Transformación de QA: migración a Pest + E2E asistido por IA","Testing & quality","Modernicé la práctica de testing de un codebase PHP maduro — migré el suite backend a Pest y construí una metodología E2E en Playwright asistida por IA.",1,{"type":13,"children":14,"toc":178},"root",[15,35,44,51,56,62,106,112,135,141,146,152],{"type":16,"tag":17,"props":18,"children":19},"element","blockquote",{},[20],{"type":16,"tag":21,"props":22,"children":23},"p",{},[24,27,33],{"type":25,"value":26},"text","Extracto sanitizado de trabajo comercial en ",{"type":16,"tag":28,"props":29,"children":30},"strong",{},[31],{"type":25,"value":32},"Salutte2 (Alephoo HDE)",{"type":25,"value":34}," — un SaaS\nde historia clínica electrónica usado en 5 países. No se divulga código propietario.",{"type":16,"tag":21,"props":36,"children":37},{},[38],{"type":16,"tag":39,"props":40,"children":43},"img",{"alt":41,"src":42},"Flujo E2E asistido por IA","\u002Fdiagrams\u002Fqa-flow.svg",[],{"type":16,"tag":45,"props":46,"children":48},"h2",{"id":47},"contexto",[49],{"type":25,"value":50},"Contexto",{"type":16,"tag":21,"props":52,"children":53},{},[54],{"type":25,"value":55},"Un codebase PHP grande y maduro (CodeIgniter 3, jQuery) con una suite de tests acotada\ne inconsistente. Las regresiones se detectaban tarde, y el QA manual era el bottleneck\nantes de cada release.",{"type":16,"tag":45,"props":57,"children":59},{"id":58},"lo-que-hice",[60],{"type":25,"value":61},"Lo que hice",{"type":16,"tag":63,"props":64,"children":65},"ul",{},[66,77,87],{"type":16,"tag":67,"props":68,"children":69},"li",{},[70,75],{"type":16,"tag":28,"props":71,"children":72},{},[73],{"type":25,"value":74},"Migré el suite de tests backend a Pest",{"type":25,"value":76}," — ~64.000 líneas de tests en 600+ archivos —\nestableciendo la práctica moderna de testing del equipo.",{"type":16,"tag":67,"props":78,"children":79},{},[80,85],{"type":16,"tag":28,"props":81,"children":82},{},[83],{"type":25,"value":84},"Diseñé e implementé una metodología E2E en Playwright asistida por un AI agent",{"type":25,"value":86}," —\nun harness reutilizable (helpers compartidos, configuración, validación por módulo\npiloto) que genera y mantiene cobertura end-to-end. ~+48.000 líneas, 1.414 archivos.",{"type":16,"tag":67,"props":88,"children":89},{},[90,95,97,104],{"type":16,"tag":28,"props":91,"children":92},{},[93],{"type":25,"value":94},"Levanté CI en GitHub Actions",{"type":25,"value":96}," (con ",{"type":16,"tag":98,"props":99,"children":101},"code",{"className":100},[],[102],{"type":25,"value":103},"actionlint",{"type":25,"value":105},") y consolidé el monitoreo de errores\nen Sentry.",{"type":16,"tag":45,"props":107,"children":109},{"id":108},"decisiones-que-vale-la-pena-defender",[110],{"type":25,"value":111},"Decisiones que vale la pena defender",{"type":16,"tag":63,"props":113,"children":114},{},[115,125],{"type":16,"tag":67,"props":116,"children":117},{},[118,123],{"type":16,"tag":28,"props":119,"children":120},{},[121],{"type":25,"value":122},"Pest sobre PHPUnit",{"type":25,"value":124}," — feedback más rápido y una API fluida que redujo la fricción de\nescribir tests, lo cual pesó más para la adopción que la paridad cruda.",{"type":16,"tag":67,"props":126,"children":127},{},[128,133],{"type":16,"tag":28,"props":129,"children":130},{},[131],{"type":25,"value":132},"E2E asistido por IA como metodología, no como algo puntual",{"type":25,"value":134}," — los agentes generan y\nmantienen los specs; el equipo es dueño del harness. La ganancia es cobertura sostenida,\nno un único test generado.",{"type":16,"tag":45,"props":136,"children":138},{"id":137},"resultado",[139],{"type":25,"value":140},"Resultado",{"type":16,"tag":21,"props":142,"children":143},{},[144],{"type":25,"value":145},"Modernicé la práctica de testing del equipo y reduje el esfuerzo de QA manual por ciclo de\nrelease, acelerando la cadencia de releases para un producto que sirve a decenas de miles\nde usuarios.",{"type":16,"tag":45,"props":147,"children":149},{"id":148},"evidencia-metadatos-públicos-de-prs",[150],{"type":25,"value":151},"Evidencia (metadatos públicos de PRs)",{"type":16,"tag":63,"props":153,"children":154},{},[155,160,173],{"type":16,"tag":67,"props":156,"children":157},{},[158],{"type":25,"value":159},"PR #13594 — migración a Pest (~64k líneas).",{"type":16,"tag":67,"props":161,"children":162},{},[163,165,171],{"type":25,"value":164},"PR #13782 — ",{"type":16,"tag":98,"props":166,"children":168},{"className":167},[],[169],{"type":25,"value":170},"feat(e2e): AI agent E2E testing methodology",{"type":25,"value":172}," (+48k líneas).",{"type":16,"tag":67,"props":174,"children":175},{},[176],{"type":25,"value":177},"PR #13645 — migración completa de E2E + unit a Pest.",{"title":7,"searchDepth":179,"depth":179,"links":180},2,[181,182,183,184,185],{"id":47,"depth":179,"text":50},{"id":58,"depth":179,"text":61},{"id":108,"depth":179,"text":111},{"id":137,"depth":179,"text":140},{"id":148,"depth":179,"text":151},"markdown","content:es:case-studies:qa-transformation.md","content","es\u002Fcase-studies\u002Fqa-transformation.md","es\u002Fcase-studies\u002Fqa-transformation","md",1788209838685]