El proceso de prueba de software, aunque no es exactamente el mismo para todas las metodologías, puede generalizarse para contener los puntos principales y más importantes que nos ayudan a tener una experiencia de prueba efectiva.
Primero necesitamos definir la estrategia de prueba y el plan de prueba. Algunas de las cosas que puede utilizar para describir el alcance de prueba de su proyecto son:
Sistemas que deben probarse
Características y funciones específicas del proyecto
requerimientos no funcionales
Herramientas
Y muchos más
Sin estrategia y plan, cada proyecto tendrá dificultades para ser productivo. Esto le ayudará a definir sus criterios de entrada y salida para las pruebas, que son importantes como control para su equipo. Si los requisitos carecen de especificidad, no entrarán en prueba. Si el código probado no cumple con los estándares de calidad específicos, el código nunca pasará a la siguiente fase.
En segundo lugar, necesita el diseño de prueba. Aquí tendrá una colección de casos de prueba necesarios para validar el sistema. El diseño de la prueba se basa en la experiencia de la prueba, el conocimiento de los probadores del sistema que se está probando y las prácticas de prueba predominantes. Se centra en descubrir y corregir errores importantes, en lugar de otros aspectos o defectos superficiales.
La tercera fase es la ejecución de la prueba. Hay muchas formas en las que puede ejecutar pruebas, para este paso tendrá que adaptar sus pruebas a la cantidad adecuada de pruebas hasta que esté seguro de que su sistema es completamente funcional y en su mayoría libre de errores. Comprender los requisitos de su entorno de prueba es clave para poder decidir su estrategia de prueba.
Finalmente, tenemos el cierre de la prueba. Aquí es donde entran en juego sus criterios de salida porque indican la finalización del ciclo de prueba y la preparación para el lanzamiento de su producto. Para garantizar el cierre de la prueba, se deben cumplir todos sus requisitos, tanto técnicos como comerciales. Debe haber aprobado un porcentaje mínimo de aprobación, la mejor práctica es apuntar al 90% de las pruebas aprobadas. Cada defecto crítico debe arreglarse.
Estos pasos son solo una vista general de cómo debería ser su proceso de prueba.
Hay cuatro niveles de prueba de software que debe tener en cuenta. Estos son:
Prueba unitaria: el programa se somete a evaluaciones que se centran en componentes específicos del software para ver si son completamente funcionales. El propósito de esta ronda de pruebas es determinar si el software funciona según lo diseñado. Una unidad puede referirse a una función, un programa individual o un procedimiento.
Prueba de integración: esto permite a las personas la oportunidad de combinar todas las unidades en un programa y probarlas juntas. Está diseñado para encontrar defectos de interfaz entre cada módulo o función.
Prueba del sistema: el nivel de prueba del sistema es el primero en el que se prueba la aplicación como un todo. Su objetivo es evaluar si el sistema ha cumplido con todos los requisitos y ver si cumple con los estándares de calidad.
Prueba de aceptación: este es el nivel final de prueba y se utiliza para determinar si un sistema está listo para su lanzamiento o no. Los requisitos pueden cambiar durante el ciclo de desarrollo, por lo que debe realizar una prueba para ver si el proceso satisface las necesidades de la empresa. Una vez superado este nivel, el software se puede entregar a producción.
Hay varios roles y actividades que se deben realizar en las pruebas, cada uno de los cuales tiene ciertas responsabilidades que deben realizarse. Los roles principales son:
Administrador de pruebas: el administrador de pruebas generalmente se contrata cuando hay muchos grupos de prueba. Algunas de las funciones principales de un administrador de pruebas son: preparar la estrategia de prueba, preparar el presupuesto de prueba, definir los niveles y ciclos de prueba, desarrollar la estrategia para la documentación de prueba, métricas e informes, y muchos más.
Líder de prueba: cada grupo de prueba debe estar dirigido por un líder de prueba. El líder de la prueba desempeña los roles de administrador de la prueba cuando está ausente y tiene sus propias responsabilidades, que incluyen: preparar el plan de prueba en cada nivel de prueba, definir los objetivos, asignar roles y proporcionar horarios a los probadores, etc.
Probadores: El grupo de probadores puede tener diferentes niveles de probadores y roles como probadores de rendimiento, probadores de automatización, etc.
Algunas de sus responsabilidades son: recopilar los requisitos de prueba, configurar y verificar el entorno de prueba, automatizar las pruebas y muchas más.