Automatización de Pruebas de Software
26 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Qué es la automatización de pruebas?

La automatización de pruebas es el proceso de utilizar herramientas y scripts para ejecutar pruebas de software automáticamente, en lugar de hacerlo de forma manual.

¿Cuáles son los beneficios de la automatización de pruebas? (Escoja todas lo que aplica)

  • Ejecución repetida de pruebas (correct)
  • Reducción de errores humanos (correct)
  • Mayor cobertura de pruebas (correct)
  • Facilidad de ejecución de pruebas en diferentes entornos (correct)
  • Mayor rapidez en la ejecución de las pruebas (correct)
  • Integración continua con pipelines (correct)
  • ¿Cuáles son los desafíos de la automatización de pruebas?

    Requiere tiempo inicial de configuración, mantenimiento de los scripts de prueba, puede ser costoso si las pruebas cambian frecuentemente.

    ¿Cuál es la diferencia principal entre las pruebas manuales y las automatizadas?

    <p>Las pruebas manuales se ejecutan de forma manual por testers humanos. Las pruebas automatizadas se ejecutan mediante scripts y herramientas</p> Signup and view all the answers

    ¿Qué tipos de pruebas se pueden automatizar?

    <p>Pruebas de interfaz de usuario (UI)</p> Signup and view all the answers

    ¿Qué criterios se utilizan para decidir qué pruebas automatizar?

    <p>Son críticas para el negocio (funcionalidades clave que deben ser probadas siempre).</p> Signup and view all the answers

    ¿Qué herramientas se pueden usar para automatizar la instalación y configuración de un sistema operativo en SKY?

    <p>Ansible</p> Signup and view all the answers

    ¿Qué es Jenkins?

    <p>Jenkins es una herramienta de integración continua y entrega continua (CI/CD) que permite automatizar el proceso de construcción, prueba y despliegue de aplicaciones.</p> Signup and view all the answers

    ¿Qué son los pipelines en Jenkins?

    <p>Un pipeline es un conjunto de pasos o procesos organizados de manera secuencial o paralela para lograr un objetivo específico, utilizado comúnmente en desarrollo y despliegue de software.</p> Signup and view all the answers

    ¿Qué etapas se incluyen en un pipeline básico en Jenkings?

    <p>Integration</p> Signup and view all the answers

    ¿Cómo configurar un pipeline básico en Jenkings para realizar pruebas automatizadas?

    <p>Utilizar el plugin de Jenkings para crear un pipeline que ejecute comandos en un entorno controlado o configurar un archivo Jenkins file que defina el flujo de trabajo, construcción, pruebas, despliegue.</p> Signup and view all the answers

    ¿Qué son los "builds" en Jenkins y cómo automatizarlos?

    <p>Los builds son procesos que construyen y verifican código. Se pueden automatizar configurando jenkins para que ejecute un build en forma programada o al detectar un cambio en el repositorio.</p> Signup and view all the answers

    ¿Cómo gestionar entornos de prueba y despliegue en Jenkins?

    <p>Utilizar plugins de Jenkins para trabajar con máquinas virtuales, contenedores o nubes.</p> Signup and view all the answers

    ¿Cómo integrar Jenkins con GitLab?

    <p>Usar un webhook en Gitlab que desencadene un job de Jenkins al hacer un commit o configurar la integración en Jenkins utilizando el plugin de GitLab</p> Signup and view all the answers

    ¿Cómo configurar un pipeline en Jenkins que ejecute pruebas automatizadas cada vez que haya un nuevo commit en GitLab?

    <p>Configurar un webhook en GitLab que notifique a Jenkins sobre los cambios. Usar un archivo Jenkinsfile para definir el pipeline y configurar pasos, ejecución de pruebas, y notificación de resultados.</p> Signup and view all the answers

    ¿Qué pasos seguir si una de las pruebas falla en el pipeline de Jenkins?

    <p>Identificar la causa del fallo.</p> Signup and view all the answers

    ¿Qué es GitLab CI/CD?

    <p>GitLab ofrece integración de CI/CD nativa, lo que permite la construcción, prueba y despliegue automatizados a través de pipelines.</p> Signup and view all the answers

    ¿Cómo configurar GitLab CI/CD para que ejecute pruebas automáticamente al hacer push de código?

    <p>Usar el archivo .gitlab-ci.yml para definir el pipeline y configurar etapas como build, test y deploy dentro de dicho archivo.</p> Signup and view all the answers

    ¿Cómo usar gitlab para gestionar las versiones de tus pruebas?

    <p>Gestionar versiones mediante ramas y etiquetas en GitLab.</p> Signup and view all the answers

    ¿Cómo usar Gitlab con Jenkins? ¿Cómo configurarlo?

    <p>Configurar un webhook en GitLab para notificar a Jenkins y usar un plugin de Jenkins para obtener código desde Gitlab</p> Signup and view all the answers

    ¿Cómo usarías Gitlab para gestionar el código de prueba y su versionado?

    <p>Utilizar ramas para organizar las pruebas y sus versiones y usar tags para marcar versiones estables de los scripts de prueba.</p> Signup and view all the answers

    ¿Qué es Ansible?

    <p>Ansible es una herramienta de automatización que usa archivos YAML para describir tareas y permite automatizar la configuración de sistemas y despliegue de aplicaciones.</p> Signup and view all the answers

    ¿Qué rol juega cada herramienta en el flujo de trabajo con Jenkins, GitLab y Ansible?

    <p>GitLab actúa como el repositorio de código, permite la colaboración entre desarrolladores y sirve como disparador del pipeline al realizar cambios en el código. Jenkins es el motor de automatización que ejecuta los pipelines. Orquesta tareas como la compilación, las pruebas y la implementación. Ansible administra la configuración de entornos y la ejecución de tareas específicas (como instalar dependencias, desplegar aplicaciones, o ejecutar pruebas en un entorno configurado).</p> Signup and view all the answers

    ¿Cómo funciona el flujo de trabajo conjunto entre Jenkins, GitLab y Ansible?

    <p>El flujo de trabajo típico comienza con un desarrollador que realiza un cambio en GitLab. Este cambio genera un webhook en GitLab que notifica a Jenkins sobre el cambio. Jenkins activa el pipeline, comienza la construcción del código, ejecuta las pruebas automatizadas y luego utiliza Ansible para implementar el código en el entorno deseado.</p> Signup and view all the answers

    ¿Qué tipo de prueba se enfoca en la funcionalidad del sistema sin tener conocimiento interno del código fuente o la lógica interna del sistema?

    <p>Pruebas de caja negra</p> Signup and view all the answers

    ¿Qué tipo de prueba se centra en examinar la lógica interna, el flujo de control, y las estructuras de datos del código fuente?

    <p>Pruebas de caja blanca</p> Signup and view all the answers

    Study Notes

    Automatización de Pruebas

    • La automatización de pruebas usa herramientas y scripts para ejecutar pruebas de software automáticamente, en lugar de manualmente. Esto permite ejecutar pruebas de forma más rápida y frecuente.

    Beneficios de la Automatización

    • Mayor rapidez en la ejecución de pruebas.
    • Reduce errores humanos.
    • Posibilidad de pruebas repetidas.
    • Mayor cobertura de pruebas.
    • Integración continua con pipelines.
    • Facilidad de ejecución en entornos diferentes.

    Desafíos de la Automatización

    • Requiere tiempo inicial de configuración.
    • Requiere mantenimiento de los scripts.
    • Puede ser costoso si las pruebas cambian con frecuencia.

    Pruebas Manuales vs. Automatizadas

    • Manuales: Ejecutadas por personas (testers humanos). Útiles cuando la automatización no es viable o rentable.
    • Automatizadas: Ejecutadas por scripts y herramientas. Permite la repetición sin intervención humana.

    Tipos de Pruebas Automatizables

    • Pruebas unitarias
    • Pruebas de integración
    • Pruebas de regresión
    • Pruebas de interfaz de usuario (UI)

    Criterios para Automatizar Pruebas

    • Alta cobertura de código.
    • Repetición frecuente (pruebas de regresión).
    • Críticas para el negocio (funcionalidades clave).
    • Facilidad de automatización y mantenimiento.

    Gestión de Pruebas en SKY

    • Herramientas como Ansible o Python para automatizar la instalación y configuración.
    • Procedimientos claros para actualizaciones y parches.
    • Control de versiones con herramientas como Git.
    • Posibilidad de revertir configuraciones.
    • Pruebas de integración con otras aplicaciones.
    • Pruebas de rendimiento (velocidad y eficiencia).
    • Pruebas de carga y estrés (resistencia a uso extremo).
    • Pruebas de seguridad (vulnerabilidades).

    Herramientas para Pruebas Aisladas

    • Docker para crear contenedores.
    • Ansible para automatizar la configuración del entorno.

    Jenkins

    • Herramienta de Integración Continua y Entrega Continua (CI/CD).
    • Automatiza la construcción, prueba y despliegue de aplicaciones.
    • Se integra con otras herramientas como GitLab, Docker y Ansible.

    Pipelines

    • Conjuntos de pasos (procesos) para lograr un objetivo, secuencial o en paralelo.
    • Automatizan tareas como construir, probar y desplegar aplicaciones.
    • Ejemplos en Jenkins para pruebas automatizadas.

    GitLab CI/CD

    • Ofrece integración CI/CD nativa.
    • Automatiza la construcción, la prueba y el despliegue a través de pipelines.
    • Se usa .gitlab-ci.yml para definir pipelines de ejecución automática.

    Pruebas de Caja Negra

    • Se enfocan en la funcionalidad del sistema sin conocimiento interno del código.

    Pruebas de Caja Blanca

    • Se enfocan en la lógica interna del sistema, el flujo de control y las estructuras de datos.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Automatización de Pruebas PDF

    Description

    Este cuestionario explora la automatización de pruebas en el desarrollo de software, destacando sus beneficios, desafíos y la comparación entre pruebas manuales y automatizadas. Aprenderás sobre diferentes tipos de pruebas que se pueden automatizar y cómo implementarlas de manera efectiva.

    More Like This

    Software Testing Essentials Quiz
    10 questions
    Test Automation Basics
    0 questions
    Test Automation Concepts and Benefits Kurs F
    70 questions
    Use Quizgecko on...
    Browser
    Browser