Demo de aplicaciones web estáticas: CI/CD, implementación y canalización de pruebas en Azure

Rate this content
Bookmark

Una demostración del mundo real y un espacio de juego para el servicio de aplicaciones web estáticas de Azure.

This workshop has been presented at TestJS Summit 2021, check out the latest edition of this JavaScript Conference.

FAQ

Vanya Lebedev es un gerente de ingeniería en el equipo de gestión de la cadena de suministro de Dynamics 365 en Microsoft Ireland. Ha trabajado en Microsoft durante más de 12 años, desempeñándose inicialmente como ingeniero de software y luego como gerente.

El equipo de Vanya está trabajando en aplicaciones de gestión de la cadena de suministro para empresas, enfocándose en desafíos como rendimiento, escalabilidad, integración de aplicaciones y mejorar la experiencia del usuario utilizando la última tecnología y el poder de la Nube de Microsoft.

Para Vanya, la cultura es fundamental en Microsoft, destacando la importancia de la curiosidad, el aprendizaje continuo, la asunción de riesgos y la capacidad de cometer errores como aspectos clave que motivan y inspiran a los empleados a hacer una diferencia significativa en la organización.

Microsoft promueve la mentalidad de crecimiento a través de eventos como hackatones anuales, donde los ingenieros trabajan intensamente en ideas nuevas, fomentando la innovación y la colaboración dentro de la organización.

La misión de Microsoft, según palabras de Vanya y reflejada por el CEO Satya Nadella, es empoderar a cada persona y cada organización en el planeta para lograr más, buscando un alcance global y un impacto sustancial en la sociedad.

El equipo utiliza la plataforma Power Apps y adopta la arquitectura de microservicios para desarrollar y escalar sus aplicaciones de gestión de la cadena de suministro, facilitando lanzamientos independientes y mejoras continuas.

Juarez Barbosa Junior
Juarez Barbosa Junior
50 min
25 Nov, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta masterclass proporciona información sobre la ingeniería en Microsoft, destacando la cultura de curiosidad, aprendizaje y enfoque en el cliente de la empresa. Se discute el uso de hackathons para generar ideas y superar desafíos en la construcción de productos a gran escala. La masterclass también cubre recursos técnicos y tutoriales sobre Azure Static Web Apps y el marco de pruebas Playwright. Se enfatiza la flexibilidad y las potentes características de Playwright para pruebas y reutilización de código. La sesión concluye con información sobre posiciones abiertas en Microsoft.

1. Introducción a la Ingeniería en Microsoft

Short description:

Soy un gerente de ingeniería en Microsoft Ireland y compartiré mi punto de vista y experiencia personal sobre la ingeniería en Microsoft. Microsoft tiene una larga historia de construcción de productos adoptados en todo el mundo. Trabajamos en productos que marcan la diferencia para miles de organizaciones y personas. Nuestra cultura fomenta la curiosidad, el aprendizaje y asumir riesgos. Priorizamos comprender las necesidades de nuestros clientes y abrazamos la diversidad y la inclusión. Creemos que todos deberían ser líderes y contribuir a nuestra cultura y desarrollo de productos. Nuestros eventos anuales de hackathon promueven una mentalidad de crecimiento.

Hola a todos. Permítanme presentarme. Mi nombre es Vanya Lebedev y soy un gerente de ingeniería en el equipo de gestión de la cadena de suministro de Dynamics 365 en Microsoft Ireland. He estado trabajando en Microsoft durante más de 12 años, primero como ingeniero de software y luego como gerente, y estoy muy emocionado por la oportunidad de unirme al summit de TESTJS hoy y hablar sobre la ingeniería en Microsoft. Así que compartiré mi punto de vista personal, perspectiva y experiencia sobre el tema. Hablaré sobre los desafíos de ingeniería que mi equipo está resolviendo actualmente y sobre las oportunidades de ingeniería en el equipo. Espero que les parezca interesante. Así que empecemos.

Todos conocen a Microsoft. Tenemos una larga historia de construcción de productos que se adoptaron en todo el mundo. Y esta es probablemente la razón principal por la que me uní a la empresa en 2009. Fue una oportunidad fantástica para aprender cómo es trabajar en una de las empresas más famosas del mundo. Así que me uní y nunca me arrepentí. Los desafíos de ingeniería han sido emocionantes hasta ahora y me lo he pasado muy bien resolviéndolos.

Una de las mejores cosas para mí personalmente es que he estado trabajando en productos que realmente son necesarios y que marcan la diferencia para miles de organizaciones en todo el mundo y para cientos de miles de personas en estas organizaciones. Nuestro CEO, Satchin Adella, ha expresado esta ambición en la declaración de misión que ven en la pantalla en este momento. Queremos capacitar a cada persona y a cada organización en el planeta para lograr más. Esta declaración me emociona mucho personalmente, específicamente por la ambición, por el alcance de esta visión. Piénsenlo. Es cada persona en el planeta. Este es el alcance del impacto que estamos tratando de lograr. Es un esfuerzo verdaderamente global.

¿Y saben qué? Tener un gran objetivo es genial, pero otra cosa que realmente me inspira, me motiva mucho es que no solo tenemos una visión de hacia dónde vamos, sino que también tenemos una comprensión clara de cómo llegaremos allí. Un hombre inteligente dijo que la cultura es la estrategia para el desayuno. Y es muy cierto. Creo que es la gente que me rodea y la cultura que todos compartimos lo que es y será la piedra angular del éxito de Microsoft.

Todos en la empresa, todos a mi alrededor, son alentados a ser siempre curiosos, ansiosos por aprender, a asumir riesgos. Y otra cosa que es realmente genial es que todos también son alentados a no tener miedo de cometer errores en el camino. Porque si no cometemos errores, si no asumimos riesgos, no marcaremos la diferencia. Sin embargo, si cometemos errores, aprenderemos, mejoraremos y crearemos un software revolucionario. Esta es la cultura. Estos son los mensajes que realmente resuenan conmigo.

Y como parte de esta mentalidad de crecimiento, también estamos tratando de obsesionarnos con los clientes, de salir de nuestro camino para comprender cuáles son sus necesidades reales. No asumiremos que lo hemos aprendido todo. Sabemos todo, pero seguiremos aprendiendo y aprendiendo y aprendiendo sobre ellos. En última instancia, creando mejores productos y marcando la diferencia. Lo mismo ocurre con la diversidad y la inclusión. Somos un equipo que es tan global que no pueden imaginarlo. Personas de todo el mundo con diferentes antecedentes, géneros, etc. son muy bienvenidas en el equipo, y cada persona aporta una perspectiva única. Ha habido tantos ejemplos en mi career donde sus opiniones e ideas nos ayudaron a producir un mejor software y productos, y en última instancia, a tener éxito. Esto es algo que creo que es muy único y muy inspirador en mi trabajo. Por eso sigo adelante. Otra cosa que realmente destaca para mí sobre el trabajo en Microsoft es que una cultura como esta, la cultura que acabo de describir, no surge por sí sola, no emerge por sí sola. Requiere una visión sólida y un liderazgo sólido y un esfuerzo colectivo y para acelerar nuestra cultura hemos introducido esta visión de cuáles son los grandes líderes en la organización y creemos que todos, cada ingeniero, cada persona en la organización debería ser un líder, de lo contrario no podremos progresar tan rápido como queremos, no podremos dar forma a nuestra cultura, no podremos construir los productos que necesitamos, y es realmente genial cuando las personas comienzan a adoptar esta mentalidad, esto es algo que realmente nos ayuda a hacer las cosas, las personas no se sientan en un rincón y se quejan, todos toman su destino en sus manos y marcan la diferencia, hacen un cambio, esto realmente ayuda a impulsar una gran y eficiente organización de ingeniería, así que esto es algo que realmente me gusta.

Fueron muchas palabras, pero ¿qué hay de algunos ejemplos concretos, creo que un gran ejemplo de cómo Microsoft promueve esta mentalidad de crecimiento son los eventos anuales de hackathon. Durante tres días, todos en la organización, todos los ingenieros en la organización simplemente entran en un modo completamente oscuro con pizzas y todo para hackear sus ideas y producir aplicaciones de código, mejoras en las que han estado pensando durante mucho tiempo. Echemos un vistazo rápido a la grabación de lo que se puede lograr. Sí.

2. Hackathons and Engineering Challenges

Short description:

Los hackathones han sido una experiencia increíble para mí, generando grandes ideas y fomentando una fuerte dinámica de equipo. Nuestro equipo se enfoca en aplicaciones de gestión de la cadena de suministro para empresas, abarcando diversas áreas como ventas, adquisiciones, fabricación y más. Construir un producto a gran escala como este requiere un equipo de miles de ingenieros. Nos enfrentamos a desafíos en rendimiento, escalabilidad, integración y experiencia del usuario. Afortunadamente, aprovechamos la Nube de Microsoft y tecnología de vanguardia como Power Apps y la arquitectura de microservicios para superar estos desafíos.

Esto es lo que se puede lograr con los hackathones. Personalmente, he estado participando durante los últimos cinco años. Cada vez, ha sido una experiencia increíble y siempre hemos tenido grandes ideas y nos hemos divertido mucho haciéndolo. Nuevamente, fueron muchas palabras y muchas cosas culturales, pero todos somos ingenieros aquí.

Probablemente estén curiosos, bien, ¿cuáles son los desafíos de ingeniería? ¿Qué hace su equipo? Nuestro equipo está llevando aplicaciones de gestión de la cadena de suministro a empresas. Nos enfocamos en el lado de las aplicaciones empresariales, y esta es una pequeña diapositiva que muestra qué áreas estamos cubriendo. Nuestras aplicaciones abarcan ventas, adquisiciones, fabricación, contabilidad de costos, planificación de la oferta y la demanda, almacenamiento, transporte, finanzas, impuestos. Pueden ver en la diapositiva, solo leyendo los títulos de las aplicaciones que componen nuestra suite de productos, es inmenso. Y si piensan en el tamaño del producto, son decenas de miles de tipos de entidades persistentes. Son cientos de miles de clases, millones de pruebas automatizadas.

El equipo necesario para construir software como este es de unos pocos miles de personas, unos pocos miles de ingenieros. Naturalmente, mi equipo es responsable de una parte más pequeña de esta aplicación. Principalmente, nos enfocamos en la gestión de pedidos inteligente, en el servicio de campo y en las capacidades de planificación de la cadena de suministro. Pero los desafíos de ingeniería son muchos. Nos dirigimos a empresas de tamaño mediano a grande. Y con un tamaño de empresa como este, los requisitos de rendimiento y escalabilidad son extremadamente difíciles de cumplir. Otro desafío interesante es cómo integramos tantas aplicaciones en una suite que tenga una apariencia y sensación fluidas y esté integrada de manera perfecta para brindar a los usuarios una experiencia fácil y eficiente. Y, por supuesto, la experiencia del usuario en sí. ¿Cómo hacemos que esta aplicación sea lo más agradable posible? Afortunadamente, estamos aprovechando el poder de la Nube de Microsoft para construir esta suite de aplicaciones, y estamos utilizando la tecnología más reciente y avanzada para lograrlo. Power Apps es la plataforma que establece el marco para nuestro desarrollo. También estamos adoptando la arquitectura de microservicios como medio para escalar de manera independiente, lanzar de manera independiente, asegurando que nuestro... Muy bien, bienvenidos a nuestra masterclass sobre JavaScript.

Watch more workshops on topic

Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
React Summit 2023React Summit 2023
151 min
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
Top Content
Featured Workshop
Josh Justice
Josh Justice
La Biblioteca de Pruebas de React es un gran marco para las pruebas de componentes de React porque responde muchas preguntas por ti, por lo que no necesitas preocuparte por esas preguntas. Pero eso no significa que las pruebas sean fáciles. Todavía hay muchas preguntas que tienes que resolver por ti mismo: ¿Cuántas pruebas de componentes debes escribir vs pruebas de extremo a extremo o pruebas de unidad de nivel inferior? ¿Cómo puedes probar una cierta línea de código que es difícil de probar? ¿Y qué se supone que debes hacer con esa persistente advertencia de act()?
En esta masterclass de tres horas, presentaremos la Biblioteca de Pruebas de React junto con un modelo mental de cómo pensar en el diseño de tus pruebas de componentes. Este modelo mental te ayudará a ver cómo probar cada bit de lógica, si debes o no simular dependencias, y ayudará a mejorar el diseño de tus componentes. Te irás con las herramientas, técnicas y principios que necesitas para implementar pruebas de componentes de bajo costo y alto valor.
Tabla de contenidos- Los diferentes tipos de pruebas de aplicaciones de React, y dónde encajan las pruebas de componentes- Un modelo mental para pensar en las entradas y salidas de los componentes que pruebas- Opciones para seleccionar elementos DOM para verificar e interactuar con ellos- El valor de los mocks y por qué no deben evitarse- Los desafíos con la asincronía en las pruebas de RTL y cómo manejarlos
Requisitos previos- Familiaridad con la construcción de aplicaciones con React- Experiencia básica escribiendo pruebas automatizadas con Jest u otro marco de pruebas unitarias- No necesitas ninguna experiencia con la Biblioteca de Pruebas de React- Configuración de la máquina: Node LTS, Yarn
Cómo empezar con Cypress
TestJS Summit 2022TestJS Summit 2022
146 min
Cómo empezar con Cypress
Featured WorkshopFree
Filip Hric
Filip Hric
La web ha evolucionado. Finalmente, también lo ha hecho el testing. Cypress es una herramienta de testing moderna que responde a las necesidades de testing de las aplicaciones web modernas. Ha ganado mucha popularidad en los últimos años, obteniendo reconocimiento a nivel mundial. Si has estado esperando aprender Cypress, ¡no esperes más! Filip Hric te guiará a través de los primeros pasos sobre cómo empezar a usar Cypress y configurar tu propio proyecto. La buena noticia es que aprender Cypress es increíblemente fácil. Escribirás tu primer test en poco tiempo y luego descubrirás cómo escribir un test de extremo a extremo completo para una aplicación web moderna. Aprenderás conceptos fundamentales como la capacidad de reintentar. Descubre cómo trabajar e interactuar con tu aplicación y aprende cómo combinar pruebas de API y de UI. A lo largo de todo este masterclass, escribiremos código y realizaremos ejercicios prácticos. Saldrás con una experiencia práctica que podrás aplicar a tu propio proyecto.
Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
React Summit 2022React Summit 2022
117 min
Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
Top Content
WorkshopFree
Yevheniia Hlovatska
Yevheniia Hlovatska
A diferencia de las pruebas unitarias, las pruebas de extremo a extremo buscan interactuar con su aplicación tal como lo haría un usuario real. Y como todos sabemos, puede ser bastante desafiante. Especialmente cuando hablamos de aplicaciones móviles.
Las pruebas dependen de muchas condiciones y se consideran lentas e inestables. Por otro lado, las pruebas de extremo a extremo pueden dar la mayor confianza de que su aplicación está funcionando. Y si se hace correctamente, puede convertirse en una herramienta increíble para aumentar la velocidad del desarrollador.
Detox es un marco de pruebas de extremo a extremo en caja gris para aplicaciones móviles. Desarrollado por Wix para resolver el problema de la lentitud e inestabilidad y utilizado por React Native en sí como su herramienta de pruebas E2E.
Únete a mí en esta masterclass para aprender cómo hacer que tus pruebas de extremo a extremo móviles con Detox sean excelentes.
Prerrequisitos- iOS/Android: MacOS Catalina o más reciente- Solo Android: Linux- Instalar antes de la masterclass
Masterclass de Pruebas de API con Postman
TestJS Summit 2023TestJS Summit 2023
48 min
Masterclass de Pruebas de API con Postman
Top Content
WorkshopFree
Pooja Mistry
Pooja Mistry
En el panorama siempre en evolución del desarrollo de software, garantizar la fiabilidad y funcionalidad de las API se ha vuelto primordial. "Pruebas de API con Postman" es una masterclass completa diseñada para equipar a los participantes con los conocimientos y habilidades necesarios para sobresalir en las pruebas de API utilizando Postman, una herramienta poderosa ampliamente adoptada por profesionales en el campo. Esta masterclass profundiza en los fundamentos de las pruebas de API, avanza a técnicas de prueba avanzadas y explora la automatización, las pruebas de rendimiento y el soporte multiprotocolo, proporcionando a los asistentes una comprensión holística de las pruebas de API con Postman.
Únete a nosotros para esta masterclass para desbloquear todo el potencial de Postman para las pruebas de API, agilizar tus procesos de prueba y mejorar la calidad y fiabilidad de tu software. Ya seas un principiante o un probador experimentado, esta masterclass te equipará con las habilidades necesarias para sobresalir en las pruebas de API con Postman.
Monitoreo 101 para Desarrolladores de React
React Summit US 2023React Summit US 2023
107 min
Monitoreo 101 para Desarrolladores de React
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
Si encontrar errores en tu proyecto frontend es como buscar una aguja en un pajar de código, entonces el monitoreo de errores de Sentry puede ser tu detector de metales. Aprende los conceptos básicos del monitoreo de errores con Sentry. Ya sea que estés ejecutando un proyecto de React, Angular, Vue, o simplemente JavaScript “vainilla”, mira cómo Sentry puede ayudarte a encontrar el quién, qué, cuándo y dónde detrás de los errores en tu proyecto frontend.
Nivel de la masterclass: Intermedio
Pruebas de Aplicaciones Web utilizando Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Pruebas de Aplicaciones Web utilizando Cypress
WorkshopFree
Gleb Bahmutov
Gleb Bahmutov
Este masterclass te enseñará los conceptos básicos de cómo escribir pruebas de extremo a extremo utilizando Cypress Test Runner.
Cubriremos la escritura de pruebas, abarcando todas las características de la aplicación, estructurando las pruebas, interceptando solicitudes de red y configurando los datos del backend.
Cualquier persona que conozca el lenguaje de programación JavaScript y tenga NPM instalado podrá seguir el masterclass.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Solicitudes de Red con Cypress
TestJS Summit 2021TestJS Summit 2021
33 min
Solicitudes de Red con Cypress
Top Content
Cecilia Martinez, a technical account manager at Cypress, discusses network requests in Cypress and demonstrates commands like cydot request and SCI.INTERCEPT. She also explains dynamic matching and aliasing, network stubbing, and the pros and cons of using real server responses versus stubbing. The talk covers logging request responses, testing front-end and backend API, handling list length and DOM traversal, lazy loading, and provides resources for beginners to learn Cypress.
Elevando Monorepos con los Espacios de Trabajo de npm
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Elevando Monorepos con los Espacios de Trabajo de npm
Top Content
NPM workspaces help manage multiple nested packages within a single top-level package, improving since the release of NPM CLI 7.0. You can easily add dependencies to workspaces and handle duplications. Running scripts and orchestration in a monorepo is made easier with NPM workspaces. The npm pkg command is useful for setting and retrieving keys and values from package.json files. NPM workspaces offer benefits compared to Lerna and future plans include better workspace linking and adding missing features.
Pruebas de ciclo completo con Cypress
TestJS Summit 2022TestJS Summit 2022
27 min
Pruebas de ciclo completo con Cypress
Top Content
Cypress is a powerful tool for end-to-end testing and API testing. It provides instant feedback on test errors and allows tests to be run inside the browser. Cypress enables testing at both the application and network layers, making it easier to reach different edge cases. With features like AppActions and component testing, Cypress allows for comprehensive testing of individual components and the entire application. Join the workshops to learn more about full circle testing with Cypress.
Automatizando Todo el Código y las Pruebas con GitHub Actions
React Advanced 2021React Advanced 2021
19 min
Automatizando Todo el Código y las Pruebas con GitHub Actions
Top Content
We will learn how to automate code and testing with GitHub Actions, including linting, formatting, testing, and deployments. Automating deployments with scripts and Git hooks can help avoid mistakes. Popular CI-CD frameworks like Jenkins offer powerful orchestration but can be challenging to work with. GitHub Actions are flexible and approachable, allowing for environment setup, testing, deployment, and custom actions. A custom AppleTools Eyes GitHub action simplifies visual testing. Other examples include automating content reminders for sharing old content and tutorials.
Desarrollo Efectivo de Pruebas
TestJS Summit 2021TestJS Summit 2021
31 min
Desarrollo Efectivo de Pruebas
Top Content
This Talk introduces Test Effective Development, a new approach to testing that aims to make companies more cost-effective. The speaker shares their personal journey of improving code quality and reducing bugs through smarter testing strategies. They discuss the importance of finding a balance between testing confidence and efficiency and introduce the concepts of isolated and integrated testing. The speaker also suggests different testing strategies based on the size of the application and emphasizes the need to choose cost-effective testing approaches based on the specific project requirements.