Glosario de Conceptos Fundamentales de Testing
🧩 Glosario de Conceptos Fundamentales de Testing (Complementario Final)
Este glosario completa los anteriores reuniendo conceptos esenciales que aún no se habían tratado directamente.
Abarca fundamentos, tipologías básicas, ciclos, documentación, herramientas y roles, para consolidar una visión global del Testing de Software.
🧱 Fundamentos del Testing
Definición de Testing
Proceso sistemático de ejecución y evaluación de un sistema para verificar que cumple con los requisitos especificados y detectar defectos antes de su liberación.
Error, Defecto y Falla
- Error: Equivocación humana durante el desarrollo.
- Defecto (bug): Manifestación técnica del error en el código.
- Falla (failure): Comportamiento incorrecto del sistema al ejecutarse.
Objetivos del Testing
- Detectar defectos antes de llegar al usuario.
- Verificar conformidad con los requisitos.
- Aumentar la confianza en la calidad del producto.
- Prevenir futuros fallos mediante aprendizaje continuo.
Ciclo de Vida del Testing (STLC)
Etapas estructuradas del proceso de pruebas:
- Análisis de requerimientos
- Planificación del testing
- Diseño de casos de prueba
- Configuración del entorno
- Ejecución de pruebas
- Reporte de resultados y defectos
- Cierre y documentación final
🔍 Tipos de Testing por Nivel
Unit Testing
Verifica el funcionamiento de componentes o funciones individuales.
Ejemplo: Jest, Mocha, JUnit.
Integration Testing
Comprueba la interacción entre varios módulos o servicios.
System Testing
Evalúa el sistema completo en un entorno controlado.
Acceptance Testing
Validación funcional final antes del lanzamiento (por el cliente o usuario).
Regression Testing
Asegura que los cambios recientes no han roto funcionalidades existentes.
Smoke Testing
Conjunto mínimo de pruebas rápidas para validar que una build es estable.
Sanity Testing
Pruebas focalizadas tras pequeños cambios o correcciones.
🧩 Tipos de Testing por Propósito
Functional Testing
Valida las funciones descritas en los requisitos del producto.
Non-Functional Testing
Evalúa atributos como rendimiento, seguridad, usabilidad o compatibilidad.
Performance Testing
Mide velocidad, estabilidad y capacidad de respuesta bajo carga.
Load Testing
Evalúa el rendimiento bajo una carga de usuarios esperada.
Stress Testing
Prueba los límites del sistema con cargas superiores a las normales.
Usability Testing
Determina la facilidad de uso y comprensión por parte de usuarios reales.
Compatibility Testing
Verifica comportamiento en distintos navegadores, dispositivos o sistemas.
Localization Testing
Asegura que el sistema funciona correctamente con distintos idiomas y formatos regionales.
⚙️ Técnicas de Diseño de Pruebas
Black Box Testing
Se evalúan las entradas y salidas del sistema sin conocer su código interno.
White Box Testing
El tester conoce la estructura interna del código y diseña pruebas basadas en ella.
Gray Box Testing
Combinación de las dos anteriores, con conocimiento parcial del sistema.
Equivalence Partitioning
Divide los datos de entrada en grupos equivalentes para reducir casos redundantes.
Boundary Value Analysis
Evalúa los límites superior e inferior de los valores de entrada.
Decision Table Testing
Usa tablas de decisiones para probar combinaciones de condiciones y acciones.
State Transition Testing
Evalúa el comportamiento del sistema ante cambios de estado.
🧪 Tipos de Automatización
Automated Testing
Uso de herramientas y scripts para ejecutar pruebas repetitivas sin intervención manual.
Manual Testing
Ejecutado por personas sin herramientas automatizadas, centrado en usabilidad y exploración.
Continuous Testing
Integración de pruebas automatizadas en cada fase del desarrollo (parte esencial de CI/CD).
Regression Automation
Automatización específica de regresión para verificar estabilidad continua.
Data-Driven Testing
Los datos de entrada se parametrizan desde archivos externos (CSV, JSON, DB).
Keyword-Driven Testing
Las pruebas se definen a partir de palabras clave que representan acciones o verificaciones.
🧠 Roles y Responsabilidades
Tester / QA Engineer
Diseña, ejecuta y documenta pruebas, reporta defectos y valida correcciones.
Test Lead / QA Lead
Coordina actividades de testing, define estrategias y supervisa métricas.
Test Architect
Diseña la arquitectura de automatización y herramientas de testing.
SDET (Software Development Engineer in Test)
Desarrollador con enfoque en pruebas automatizadas e infraestructura de QA.
UAT Tester (User Acceptance Tester)
Usuario final que valida el producto antes del lanzamiento.
🧩 Documentación de Testing
Test Plan
Documento maestro que define el alcance, estrategia, objetivos y recursos del proceso de prueba.
Test Case
Conjunto estructurado de pasos, datos y resultados esperados.
Test Suite
Agrupación de casos de prueba relacionados que se ejecutan juntos.
Test Scenario
Descripción general de una funcionalidad a probar.
Test Data
Datos reales o simulados utilizados para ejecutar las pruebas.
Defect Report
Informe formal que describe un defecto encontrado, su impacto y pasos de reproducción.
Test Summary Report
Documento final que resume el esfuerzo, cobertura, resultados y conclusiones del testing.
🧩 Entornos y Configuración
Test Environment
Entorno técnico donde se ejecutan las pruebas, con configuraciones y dependencias controladas.
Staging Environment
Clon de producción usado para pruebas finales antes del despliegue real.
Test Bed
Conjunto de hardware, software y datos configurados para pruebas específicas.
Test Harness
Infraestructura o conjunto de scripts que automatizan la ejecución de pruebas.
📈 Métricas Clave en Testing
- Coverage: Porcentaje de código o requisitos cubiertos por las pruebas.
- Defect Density: Número de defectos por tamaño del módulo o línea de código.
- Mean Time to Detect (MTTD): Tiempo promedio en descubrir un fallo.
- Mean Time to Repair (MTTR): Tiempo promedio en corregirlo.
- Pass Rate: Porcentaje de pruebas superadas.
- Reopen Rate: Frecuencia con la que defectos cerrados vuelven a abrirse.
- Test Execution Progress: Seguimiento del avance de las ejecuciones planificadas.
🧰 Herramientas Clásicas y Populares
Testing Unitario
Jest, Mocha, JUnit, NUnit, Pytest.
Automatización de UI
Selenium, Playwright, Cypress, Puppeteer.
API Testing
Postman, Newman, Rest Assured, Karate.
Performance Testing
JMeter, Gatling, K6, Locust.
Gestión de Casos
TestRail, Zephyr, Qase, Xray.
Gestión de Bugs
Jira, Bugzilla, MantisBT.
CI/CD Integrado
GitHub Actions, Jenkins, GitLab CI, CircleCI.
📚 Principios Fundamentales del Testing
- El testing muestra la presencia de defectos, no su ausencia.
- Las pruebas exhaustivas son imposibles.
- El testing debe comenzar temprano.
- Los defectos se agrupan en áreas específicas.
- El efecto pesticida obliga a revisar y actualizar las pruebas.
- El testing depende del contexto.
- La ausencia de errores no implica que el sistema sea útil.
Nota: Este glosario complementa los anteriores (
Glosario AvanzadoyGlosario de Conceptos de Testing) y puede servir como base para una nota de referencia general.
Etiquetas recomendadas:#testing #QA #fundamentos #automatizacion #STLC #ISTQB #quality-assurance
¿Te gusta este contenido? Suscríbete vía RSS