CursosEmpresasBlogLiveConfPrecios
Curso de Performance Testing en Node.js con K6

Rate Metric

Curso de Performance Testing en Node.js con K6

Contenido del curso

Introducción al performance testing

  • 1
    ¿Por qué hacemos testing?

    ¿Por qué hacemos testing?

    05:14 min
  • 2
    ¿Cuándo necesitamos performance testing?

    ¿Cuándo necesitamos performance testing?

    03:18 min
  • 3
    Performance testing en front-end: Lighthouse y WebPageTest

    Performance testing en front-end: Lighthouse y WebPageTest

    08:59 min
  • 4
    Performance testing en back-end: K6

    Performance testing en back-end: K6

    02:59 min

Creando nuestra suite de tests

  • 5
    Instalación de K6 en Linux, MacOS, Windows y Docker

    Instalación de K6 en Linux, MacOS, Windows y Docker

    00:58 min
  • 6
    Crea tu primer test en K6 e interpreta los resultados

    Crea tu primer test en K6 e interpreta los resultados

    06:27 min
  • 7
    Opciones, stages y virtual users

    Opciones, stages y virtual users

    08:31 min
  • 8
    Smoke testing, stress testing y spike testing

    Smoke testing, stress testing y spike testing

    09:47 min
  • 9
    Load testing y soak testing

    Load testing y soak testing

    06:02 min
  • 10
    Ejecución de Tests Masivos en Local con K6

    Ejecución de Tests Masivos en Local con K6

    01:26 min
  • 11
    Exportando los resultados

    Exportando los resultados

    05:50 min

Custom Metrics

  • 12
    Counter Metric

    Counter Metric

    08:52 min
  • 13
    Gauge Metric

    Gauge Metric

    09:24 min
  • 14
    Rate Metric

    Rate Metric

    Viendo ahora
  • 15
    Trend Metric

    Trend Metric

    05:31 min

Criterios de aceptación

  • 16
    Checks Y Thresholds

    Checks Y Thresholds

    07:35 min
  • 17
    Opciones de los Thresholds

    Opciones de los Thresholds

    07:04 min

Visualizando resultados

  • 18
    Dashboard de resultados

    Dashboard de resultados

    04:10 min
  • 19
    Creando nuestro dashboard local

    Creando nuestro dashboard local

    05:25 min

Ejecución remota y resultados en la nube

  • 20
    Testing en la nube

    Testing en la nube

    04:40 min
  • 21
    Enviando resultados a K6 Cloud

    Enviando resultados a K6 Cloud

    06:54 min
  • 22
    Ejecutando tests en K6 Cloud

    Ejecutando tests en K6 Cloud

    07:45 min

Bonus: Integraciones de K6

  • 23
    Conoce todas las integraciones de K6

    Conoce todas las integraciones de K6

    03:05 min
  • 24
    Creando un dashboard en New Relic

    Creando un dashboard en New Relic

    11:58 min
  • 25
    Integrando tus test a un flujo de trabajo profesional

    Integrando tus test a un flujo de trabajo profesional

    10:55 min
  • 26
    Performance test en CI/CD

    Performance test en CI/CD

    12:18 min

Despedida

  • 27
    ¿Con qué puedes continuar tu aprendizaje?

    ¿Con qué puedes continuar tu aprendizaje?

    01:28 min
Tomar examen

Rate Metric

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Comentarios8

      manuel pineda

      manuel pineda

      Estudiante
      Hace 3 años
        Darys Darwin Hilario Jiménez

        Darys Darwin Hilario Jiménez

        Estudiante
        Hace 3 años
        Juan José Mamani Tarqui

        Juan José Mamani Tarqui

        Estudiante
        Hace 3 años
      Ruth Recalde

      Ruth Recalde

      Estudiante
      Hace 3 años
      CRISTIAN DAVID ARENAS GOMEZ

      CRISTIAN DAVID ARENAS GOMEZ

      Estudiante
      Hace 3 años
      Facundo Carroz

      Facundo Carroz

      Estudiante
      Hace 3 años
      David steven Abril Pulecio

      David steven Abril Pulecio

      Estudiante
      Hace 5 meses
      Luifer Eduardo Ortega Perez

      Luifer Eduardo Ortega Perez

      Estudiante
      Hace un año
      Irving Juárez

      Irving Juárez

      Estudiante
      Hace un año
      Darys Darwin Hilario Jiménez

      Darys Darwin Hilario Jiménez

      Estudiante
      Hace 3 años

      dejo mi solucion:

      import { Rate } from 'k6/metrics'; import http from 'k6/http'; import { randomIntBetween } from 'https://jslib.k6.io/k6-utils/1.4.0/index.js'; export const options = { vus: 10, duration: '10s' }; const porcentOk = new Rate('products found'); export default function () { const number = randomIntBetween(1, 300) const res = http.get(`https://api.escuelajs.co/api/v1/products/${number}`); porcentOk.add(res.status === 200 ? 1 : 0); }!

      Buena esa del operador ternario

      Excelente solucion

      En mi caso el porcentaje no cambiaba entonces la solución fue cambiar el if a:

      if (request404.status === 400) { myRate.add(0); }

      es decir, al final es un error del tipo 400 no 404

      Gente aquí les dejo mi solución al reto:

      import http from 'k6/http'; // importa el módulo HTTP de K6 para hacer peticiones import { Rate } from 'k6/metrics'; // importa el módulo Metrics de K6 para manejar métricas de pruebas export const options = { vus: 10, // número de usuarios virtuales que simularán la carga en la aplicación duration: '20s' // tiempo total de ejecución de la prueba } const myRate = new Rate('called_products'); // instancia un objeto de tipo Rate con nombre 'called_products' const random = (min, max) => { // función que genera un número aleatorio en un rango dado return Math.floor(Math.random() * (max - min)) + min; } export default function testEcommerceAPI() { const random_product = random(1, 300); // llama a la función random para obtener un número aleatorio entre 1 y 300 // realiza una petición GET a la API con el número aleatorio generado const request = http.get(`https://api.escuelajs.co/api/v1/products/${random_product}`); // si el estado de la respuesta es 400, agrega un valor de 0 a la métrica 'called_products', de lo contrario agrega 1 request.status === 400 ? myRate.add(0) : myRate.add(1); }

      Hola 🖐. Aquí dejo mi resolución del reto 😄

      import http from 'k6/http'; import { Rate } from 'k6/metrics'; export const options = { vus: 10, duration: '20s' } const rate = new Rate("exists_product"); export default function(){ const randomProduct = random(1, 300);// Return random value between 1 and 300 const response = http.get("https://api.escuelajs.co/api/v1/products/" + String(randomProduct)); // If the response status equals 400 if(response.status === 400){ rate.add(0); } else{ rate.add(1); } } function random(min, max) { return Math.floor((Math.random() * (max - min + 1)) + min); }

      CUSTOM

      products....: 0.15% 2 out of 1259

      Mi solución

      import http from 'k6/http'; import {Rate} from 'k6/metrics'; export const options = { vus: 10, duration: '20s', } const myRate = new Rate("called_products"); export default function() { let numberRandom = Math.floor(Math.random() * 300) + 1; const request = http.get(`https://api.escuelajs.co/api/v1/products/${numberRandom}`); if (request.status === 400 || request.status === 404) { myRate.add(0); } else { myRate.add(1); } } ```import http from 'k6/http';import {Rate} from 'k6/metrics'; export const options = {  vus: 10,  duration: '20s',} const myRate = new Rate("called\_products"); export default function() {  let numberRandom = Math.floor(Math.random() \* 300) + 1;   const request = http.get(`https://api.escuelajs.co/api/v1/products/${numberRandom}`);  if (request.status === 400 || request.status === 404) {    myRate.add(0);  } else {    myRate.add(1);  }}

      El valor que se puede agregar puede ser un numero o un booleano

      Para este caso con un if else es sencillo

      import http from "k6/http"; import { Rate} from "k6/metrics"; export const options = { vus: 10, duration: "20s" } const myRate = new Rate("called_products") export default function(){ var min = 1; var max = 300; var randomPrduct = Math.floor(Math.random() * (max - min + 1)) + min; const request = http.get(`https://api.escuelajs.co/api/v1/products/${randomPrduct}`); if (request.status ===400){ myRate.add(0); } else{ myRate.add(1) } }