Facultad De Ingeniería Industrial
Interacción Hombre-Maquina
Nombre
Ericka Barragan
Docente
Ing. Cesar Granizo
Ciclo
2024-2025 CI
Procesos de aseguramiento de calidad
Pruebas de Software:
1. Pruebas Funcionales:
Las pruebas funcionales evalúan si el software cumple con los requisitos funcionales
especificados. Esto implica probar las funciones del sistema y verificar si funcionan como se
espera. Algunas técnicas comunes incluyen:
• Pruebas de caja negra: Se prueba el software desde el punto de vista del usuario sin
conocer su estructura interna.
• Pruebas de caja blanca: Se examina la lógica interna del software para asegurar que se
ejecuta correctamente.
2. Pruebas No Funcionales:
Estas pruebas evalúan los aspectos no funcionales del sistema, como la usabilidad, la
seguridad, el rendimiento y la escalabilidad. Algunas categorías de pruebas no funcionales
incluyen:
• Pruebas de rendimiento: Evalúan el rendimiento del sistema bajo diferentes condiciones
de carga.
• Pruebas de seguridad: Verifican la resistencia del sistema a posibles vulnerabilidades y
ataques.
• Pruebas de usabilidad: Evalúan la facilidad de uso del software y la experiencia del
usuario.
3. Pruebas de Rendimiento:
Estas pruebas evalúan cómo se comporta el sistema en términos de velocidad, estabilidad y
escalabilidad bajo diferentes condiciones de carga. Algunas técnicas y herramientas comunes
incluyen:
• Pruebas de carga: Simulan la carga esperada en el sistema y evalúan su rendimiento.
• Pruebas de estrés: Exponen el sistema a condiciones extremas de carga para evaluar su
comportamiento bajo presión.
• Herramientas de monitoreo de rendimiento: Permiten analizar el rendimiento del sistema
en tiempo real y detectar cuellos de botella.
4. Pruebas de Regresión:
Estas pruebas se realizan para asegurar que las modificaciones recientes en el código no
hayan afectado negativamente a las funcionalidades existentes del software. Se pueden ejecutar
automáticamente utilizando suites de pruebas de regresión.
5. Pruebas de Integración:
Las pruebas de integración se realizan para probar la interacción entre diferentes
componentes o módulos del sistema. Verifican que los diferentes componentes funcionen
correctamente juntos como un sistema integrado.
6. Pruebas de Aceptación del Usuario (UAT):
Las pruebas de UAT son realizadas por los usuarios finales para verificar si el software
cumple con sus requisitos y expectativas. Estas pruebas se realizan en un entorno similar al de
producción antes de la implementación final del software.
7. Pruebas de Compatibilidad:
Estas pruebas se realizan para verificar si el software funciona correctamente en
diferentes configuraciones de hardware, sistemas operativos, navegadores web, dispositivos
móviles, etc.
8. Pruebas de Recuperación ante Desastres:
Estas pruebas evalúan la capacidad del sistema para recuperarse de fallos y desastres,
como fallos de hardware, pérdida de datos o interrupciones del servicio.
Aseguramiento de Calidad en el Desarrollo de Software:
1. Técnicas de Revisión de Código:
Revisión por pares: Los desarrolladores revisan el código de otros miembros del equipo
para identificar errores y mejorar la calidad del código.
Herramientas de análisis estático: Automatizan la revisión del código en busca de posibles
problemas, como errores de sintaxis o prácticas de codificación incorrectas.
2. Automatización de Pruebas:
Automatizar pruebas funcionales y no funcionales ayuda a identificar rápidamente problemas
en el software y asegurar su calidad de manera eficiente.
• Frameworks de pruebas: Como Selenium para pruebas de interfaz de usuario web, JUnit
para pruebas unitarias en Java, etc.
• Herramientas de gestión de pruebas: Como TestRail, que ayuda a organizar y gestionar
casos de prueba y resultados de pruebas.
3. Integración Continua y Entrega Continua (CI/CD):
Estas prácticas implican la integración automática y la entrega continua de código al
entorno de producción después de pasar una serie de pruebas automatizadas y manuales.
Herramientas como Jenkins, Travis CI y GitLab CI facilitan la implementación de CI/CD.
4. Métricas de Calidad del Código:
Utilizar métricas como la cobertura de código, la complejidad ciclomática y la
duplicación de código ayuda a evaluar la calidad del software y guiar las decisiones de desarrollo
y refactorización.
Conclusión
Las pruebas de software son la evaluación del funcionamiento del sistema para corregir errores
antes de ser lanzado. Las pruebas funcionales se encargan de medir si el software cumple con los
requisitos y funciones establecidas al inicio, las pruebas no funcionales evalúan el aspecto del
rendimiento, usabilidad y seguridad del sistema, las pruebas de rendimiento someten al sistema
ah distintos niveles de carga operativa para validar su resistencia, las pruebas de regresión
verifican si las modificaciones de código no han afectado los demás módulos, las pruebas de
integración miden si los diferentes módulos al integrarse funcionan completamente entre si como
un solo sistema. Para un aseguramiento de calidad del software se deben aplicar técnicas se
revisión del código en la cual los desarrolladores revisan el código de sus compañeros para
descartar errores de sintaxis o malas prácticas y mejorar la calidad, otro aspecto importante es la
automatización de pruebas como Selenium para la interfaz de usuario web y JUnit para pruebas
unitarias de Java, entre otros. La integración continua CI y entrega continua CD en producción
automatizada se puede aplicar con software como Jenkins, GitLab, Travis, etc. Finalmente,
también se califican métricas como la duplicidad del código y complejidad ciclomática.