Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Firebase Test Lab for Android redujo los costos de prueba de la app de American Express en un 50%
Introducción
La app para dispositivos móviles de AMEX, con un millón de descargas en Android, es usada por
los titulares de tarjetas para hacer un seguimiento de sus gastos y recompensas, encontrar ofertas, pagar
facturas y disfrutar de las funciones exclusivas de la app. En American Express, con el fin de facilitar las actualizaciones
frecuentes, crearon un laboratorio de dispositivos para probar los cambios en el código
de su app en todas las plataformas antes del lanzamiento.
Desafiar
Con decenas de dispositivos ejecutando varias versiones de Android,
era difícil escalar el laboratorio. Agregar tareas nuevas disminuía la productividad
debido a la capacidad de procesamiento limitada del laboratorio de dispositivos. Y cuando se unían nuevos miembros del equipo,
la cantidad de cambios en el código aumentaba,
lo que generaba aún más sobrecarga.
El mantenimiento del laboratorio de dispositivos demandaba mucho tiempo y era costoso,
lo que acaparaba la atención de los ingenieros que, de otro modo, se hubieran enfocado
en implementar mejoras para generar valor adicional
para los titulares de tarjetas. Los dispositivos frecuentemente tenían problemas que requerían
de intervenciones manuales, lo que a menudo les exigía repetir la ejecución de todo el conjunto de pruebas.
Los dispositivos problemáticos se quitaban periódicamente del laboratorio,
y su reemplazo muchas veces creaba tiempos de inactividad, ya que el equipo debía esperar
la llegada de los dispositivos nuevos.
Solución
Durante la fase alfa del producto, la frecuencia de las actualizaciones
de la app de AMEX, el compromiso de lanzar versiones de alta calidad y
la predisposición para trabajar colaborativamente de los ingenieros
generó el entorno ideal para el equipo de Firebase Test Lab. Posteriormente, American Express
proporcionó información valiosa que ayudó a desarrollar la versión actualizada del producto. Firebase Test Lab se integró
en el complejo conjunto de cientos de pruebas
de instrumentación de American Express. Incluso cuando Test Lab estaba en etapa
de desarrollo temprano, American Express pudo trasladar todas sus pruebas de integración
continua a Test Lab y desmontar gran parte
de su laboratorio de dispositivos. De este modo, los ingenieros encargados de mantener
los dispositivos pueden enfocarse en brindar funciones nuevas
a los titulares de tarjetas y, al mismo tiempo, programar y ejecutar
pruebas para garantizar una alta calidad del producto.
Además, American Express pudo escalar la cantidad de
pruebas sin preocuparse por ralentizar la ejecución del conjunto de pruebas ni
escalar verticalmente un laboratorio de dispositivos propio. Esto incluye controlar
los aumentos en la cantidad de pruebas a medida que se unen nuevos miembros al equipo
y generar cambios de codificación adicionales. Ahora, American Express ejecuta
más de 1,000 pruebas de instrumentación en cada solicitud de extracción, lo que
equivale a cientos de pruebas por lanzamiento público.
La ejecución de tantas pruebas simultáneas permite
evitar errores nuevos y recurrentes, todo gracias a la capacidad
de Firebase Test Lab de paralelizar masivamente
las pruebas.
RENUNCIA DE RESPONSABILIDAD: Los resultados pueden variar.
Resultados
30% más pruebas en la mitad del tiempo
Ejecución del conjunto completo de pruebas dos veces más rápido y sin demoras cuando se agregan
pruebas
Reducción del 50% de los costos en comparación con el laboratorio interno de dispositivos
Con Firebase Test Lab, American Express puede ejecutar su gran conjunto de pruebas de Android para cada solicitud de extracción. Firebase se encarga del escalamiento de la infraestructura de pruebas, de manera que nuestros ingenieros puedan enfocarse en el código, impulsar mejoras en la app y corresponder los cambios en el conjunto de pruebas".
- Michael Bailey, vicepresidente de Ingeniería, American Express
[null,null,[],[],[],null,["[*arrow_back*\nExplore other case studies](/case-studies) \n[View more solutions](/solutions) \n\nFirebase Test Lab for Android reduced American Express app test costs by 50%\n\n*** ** * ** ***\n\nIntroduction The AMEX mobile app, with a million Android downloads, is used by\nCard Members to track spending and rewards, find offers, pay\nbills, and enjoy app-only features. To facilitate frequent\nupdates, American Express built a device lab to test code changes\nin their app across all platforms before release.\n\n*** ** * ** ***\n\nChallenge With dozens of devices running various Android releases, the lab\nwas tough to scale. Adding new tests decreased productivity\nbecause of the device lab's limited throughput, and when new team\nmembers joined, the increased number of code changes added even\nmore load.\n\nMaintaining the device lab was time-consuming and costly,\ndiverting the attention of engineers who otherwise would have\nbeen focused on enhancements to drive additional value for Card\nMembers. The devices commonly had issues that required manual\nintervention, often forcing reruns of the entire test suite.\nProblematic devices were regularly removed from the device lab,\nand replacing them often created down-time while the team awaited\nthe arrival of new devices. \n\n*** ** * ** ***\n\nSolution \nDuring the product's alpha period, the frequency of updates\nto the AMEX app, commitment to high-quality releases, and\nwillingness of engineers to collaborate provided an ideal\nenvironment for the Firebase Test Lab team. American Express,\nin turn, provided valuable feedback that helped to shape the\nreleased version of the product. Firebase Test Lab integrated\nwith American Express' complex suite of hundreds of\ninstrumentation tests. Even while Test Lab was in early\ndevelopment, American Express was able to switch all of their\ncontinuous integration testing to Test Lab and successfully\nretire much of their device lab. This enabled the engineers\nmaintaining the devices to shift their focus to shipping new\nfeatures to Card Members while also writing and running tests\nto ensure high product quality. \nIn addition, American Express was able to scale the number of\ntests without worrying about slowing down test-suite execution\nand scaling up a homegrown device lab. This includes handling\nsurges in the number of tests as new team members join and\ngenerating additional code changes. American Express now runs\nover 1,000 instrumentation tests on every pull request, which\nequals hundreds of thousands of tests per public release.\nRunning so many concurrent tests dramatically increases\ntheir ability to prevent new and recurring bugs, all thanks\nto Firebase Test Lab's ability to massively parallelize\ntesting.\n\nDISCLAIMER: Results may vary.\n\n*** ** * ** ***\n\nResults\n\n30% more tests in half the time\n\n2X+ faster execution of full test suite, with no slowdown when adding\ntests\n\n50% lower cost vs. internal device lab \n\nFirebase Test Lab enables American Express to execute our entire extensive Android test suite for every pull request. Firebase takes care of scaling the test infrastructure, so our engineers can focus on the code, driving improvements to the app and corresponding changes to our test suite.\"\n\n\n- Michael Bailey, VP and Principal Engineer, American Express \nTry Firebase today\n\n\nIntegrating it into your app is easy.\n[Get started](https://console.firebase.google.com/) \n\nAll Firebase products \n\nBuild\n\n- [App Check](/products/app-check)\n- [App Hosting](/products/app-hosting)\n- [Authentication](/products/auth)\n- [Cloud Functions](/products/functions)\n- [Cloud Storage](/products/storage)\n- [Data Connect](/products/data-connect)\n- [Extensions](/products/extensions)\n- [Firestore](/products/firestore)\n- [Firebase ML](/products/ml)\n- [Genkit](https://genkit.dev/)\n- [Hosting](/products/hosting)\n- [Realtime Database](/products/realtime-database)\n- [Firebase AI Logic client SDKs](/products/firebase-ai-logic)\n\n[Generative AI](/products/generative-ai) \n\nRun\n\n- [A/B Testing](/products/ab-testing)\n- [App Distribution](/products/app-distribution)\n- [Cloud Messaging](/products/cloud-messaging)\n- [Crashlytics](/products/crashlytics)\n- [Google Analytics](/products/analytics)\n- [In-App Messaging](/products/in-app-messaging)\n- [Performance Monitoring](/products/performance)\n- [Remote Config](/products/remote-config)\n- [Test Lab](/products/test-lab)"]]