Una breve guía para las pruebas de software: estándares y procesos
Publicado: 2021-05-18"Todo código es culpable hasta que se pruebe su inocencia", un experto en tecnología desconocido.
No se puede tener un buen software sin dejarlo pasar por pruebas rigurosas. En este artículo, aprenderá más sobre los estándares y procesos de prueba de software que debe seguir para poder ofrecer mejores resultados.
¿Qué son las pruebas de software?
En pocas palabras, las pruebas de software hacen que el software sea mejor. Es un proceso que identifica la corrección, integridad y calidad del software desarrollado. La prueba es importante ya que descubre defectos / errores antes de la entrega al cliente, lo que garantiza la calidad del software. Hace que el software sea más confiable de usar.

Etapas de prueba de software

Repasemos las etapas de prueba de software enumeradas anteriormente:
Análisis de requisitos:
El análisis de requisitos define las expectativas de los usuarios finales para una aplicación de software que se va a construir / modificar. Por lo tanto, el análisis de requisitos significa analizar, informar, documentar, validar y gestionar los requisitos de software o sistema.
El ingeniero de pruebas debe realizar las siguientes tareas para completar el análisis de requisitos
- Lea cada requisito para verificar que esté completo, claro y ambiguo, si lo hubiera.
- Verifique que se hayan considerado todos los escenarios posibles en una fase de análisis de requisitos e intente identificar todos los casos descubiertos o cualquier brecha.
- Discusión sobre preguntas o dudas que surgen del análisis de requisitos durante las llamadas diarias para que el equipo esté en sintonía.
- Es necesario utilizar la matriz de trazabilidad de requisitos para garantizar la cobertura completa de requisitos del software bajo prueba.
A continuación se muestra la plantilla de muestra de RTM (Matriz de trazabilidad de requisitos)

Crédito: Opencodez
Planificación de pruebas:
Un plan de prueba es un documento que describe los objetivos de la prueba, el cronograma, la estimación, los entregables y los recursos necesarios para realizar las pruebas de software en una aplicación de software. Un plan de prueba ayuda a comprender y determinar los esfuerzos necesarios para validar la calidad de una aplicación bajo prueba. A continuación se muestra un plan de prueba ágil de muestra:

Crédito: zenq
Diseño de prueba:
El diseño de pruebas es una fase en la que se diseñan los casos de uso necesarios para las pruebas. El diseño de la prueba se realiza según el plan de prueba. Los casos de prueba diseñados se aseguran de cubrir todos los requisitos de la aplicación de software. El mapeo de casos de prueba con la matriz de trazabilidad también se considera necesario para cubrir todas las brechas de requisitos.
Escenarios de prueba / casos de prueba diseñados en base a las técnicas de diseño de prueba a continuación para garantizar una cobertura de prueba completa en la ruta feliz y las pruebas de escenario negativo.
- Análisis de valor límite (BVA)
- Partición de equivalencia (EP)
- Prueba de casos de uso
- Pruebas basadas en impacto
A continuación se muestra la plantilla de diseño de prueba de muestra

Crédito: https://www.softwaretestingclass.com/
Configuración del entorno de prueba:
El entorno de prueba es una plataforma creada para implementar y ejecutar los casos de prueba en la aplicación de software. El entorno para las pruebas se crea mediante la integración del hardware y software necesarios junto con la configuración de red requerida y los ajustes necesarios. Antes de comenzar con cualquier prueba, siempre es importante realizar una prueba de humo en el entorno de prueba para verificar la viabilidad del entorno de prueba.
Ejecución de pruebas:
La ejecución de pruebas es el proceso de ejecución de casos de prueba diseñados, documentar y comparar los resultados esperados y reales. Los siguientes factores se consideran para la ejecución de una prueba considerando los riesgos. Seleccione un subconjunto del conjunto de pruebas que se ejecutará para este ciclo y asígnelo al analista de calidad / probador respectivo.

- La ejecución de la prueba se realiza en función de los casos de prueba / escenarios de prueba diseñados según el plan de prueba.
- Observaciones: documentado en el ticket JIRA respectivo tal como se encontró durante la ejecución de la prueba
- La documentación de prueba en el boleto JIRA respectivo consta de lo siguiente
Prueba ◦ Estado: BIEN / FALLO - Representa el estado de la prueba del billete JIRA
◦ URL de prueba: consta de los datos de prueba utilizados para probar el requisito particular
◦ Escenarios de prueba y sus capturas de pantalla
- Cordura y regresión: las pruebas de cordura y regresión se realizan en los entornos superiores (STG) de forma regular en cada final del sprint como parte de las medidas de prueba Pre UAT
Cierre de prueba:
La lista de verificación de cierre de la prueba de sprint asegura que las siguientes actividades se realicen al final de cada sprint para una transición suave entre múltiples sprints.
- Pruebas funcionales completadas según los plazos con cobertura completa.
- Todas las observaciones registradas y atendidas por el equipo.
- Observaciones válidas registradas como defectos y asignadas a los respectivos propietarios de boletos
- Documentación de prueba de prueba actualizada para cada ticket con sus respectivas pruebas manuales y resultados de prueba de dispositivo
- Prueba de regresión realizada en el entorno de prueba antes de que el código se fusione con los entornos superiores, es decir. en este caso de Dev a STG
Prueba de dispositivo / Prueba de navegador cruzado:
La prueba de dispositivo / navegador cruzado es el proceso mediante el cual se prueba la calidad de un dispositivo / navegador para ver qué tan bien cumple con los requisitos para los que ha sido desarrollado. Las pruebas de dispositivos / navegadores cruzados se cubren con la siguiente lista de dispositivos / navegadores según lo confirmado por el cliente. Pila de navegadores utilizada como plataforma para las pruebas de dispositivos.

Diferentes tipos de pruebas de software
Examen de la unidad:
Unit Testing consiste en verificar pequeñas unidades de código para entregar información con anticipación para acelerar sus estrategias de prueba y reducir los ciclos de pruebas no deseados. Las pruebas unitarias generalmente las realiza un desarrollador antes de entregar el código al equipo de pruebas de software.
Prueba de humo:
Smoke Testing es un procedimiento de prueba de software que determina si el software implementado es estable o no. Las pruebas de humo son una confirmación para que el equipo de pruebas proceda con más pruebas de software. Consiste en un conjunto mínimo de pruebas para ejecutar en cada compilación para probar las funcionalidades del software.
Pruebas de integración:
Las Pruebas de Integración se definen como un tipo de prueba que se lleva a cabo en un entorno integrado de hardware y software para verificar el comportamiento del sistema. Los componentes de software / hardware se integran y prueban progresivamente hasta que se prueba el sistema completo.
Prueba del sistema:
Prueba del sistema de un producto de software completamente integrado. Es la prueba final para verificar que el producto entregado cumple con las especificaciones de requisitos mencionadas en el documento de requisitos. Se deben considerar en el alcance tanto los requisitos funcionales como los no funcionales.
Pruebas de regresión:
La regresión verifica que los cambios de código recientes no alteran ni destruyen la funcionalidad ya existente. Las pruebas de regresión incluyen tanto subconjunto como regresión completa, ambos pueden cubrirse con escenarios de prueba manuales o automatizados.
Prueba de aceptación del usuario (UAT):
La prueba de aceptación del usuario es una de las etapas finales del ciclo de vida de la prueba del software y la realiza el cliente después de que el software ha sido probado a fondo. Los usuarios finales del producto realizan UAT para las aprobaciones e implementaciones de la versión de producción.
