Dentro del desarrollo de software es importante tener una información sobre la calidad del producto que se está entregando, para esto se debe tener en cuenta algunos tipos de pruebas, entregables y roles en el proceso de pruebas que ayudan a presentar un mejor producto.
Una de las frases más relevante que he visto acerca del porque es importante un proceso de pruebas es la siguiente: “El proceso de testing es completamente dependiente del contexto en el que se desarrolla“, es decir que sea lo que sea lo que usted este desarrollando nunca se le olvide realizar las pruebas necesarias para garantizar la calidad de lo que entrega.
Hay que tener en cuenta que las pruebas con un conjunto de actividades que son implementadas en cualquier momento en un proceso de desarrollo de software, dependiendo del tipo de pruebas que se requiera.
Acá un resumen del tipo de pruebas más comunes que se llevan a cabo, estas no son todas pero si cubren en gran parte el proceso de certificación del software.
Tipo de Prueba |
Rol que ejecuta las pruebas |
Descripción del tipo de pruebas |
Observaciones |
Pruebas Unitarias |
|
Probar el correcto funcionamiento el código desarrollado, esto debe cubrir métodos y operaciones puntuales. | Debe estar desarrollado el código a probar y se debe tener en claro que retorna y que recibe como parámetro cada uno de los métodos a probar. |
Pruebas Integración |
|
Este tipo de pruebas se realizan después de ejecutar las pruebas unitarias y su objetivo es probar que todos los elementos del software, integrados como un todo funcionan correctamente. Refleja de alguna forma lo que se hace internamente en los procesos que cubre el software para dar respuesta a los requerimientos funcionales. |
Todo el código que se desarrolla para cubrir los artefactos a probar, debe estar completo.Debe tenerse claro en los requerimientos como es la interdependencia y composición de los mismos, para así entender los procesos que cubren los artefactos desarrollados. |
Pruebas de Carga |
|
Es importante validar el comportamiento de los artefactos y del aplicativo bajo condiciones extremas de carga o escenarios de carga definidos | Los artefactos deben estar desarrollados. |
Pruebas de Aceptación |
|
Es importante que el usuario valide la aceptación del producto o componentes del producto. | Requerimientos funcionalesCriterios de aceptación acordados con el usuario, es necesario acotar con el usuario cuales son dichos criterios. |
También es de suma importancia tener roles que se apropien del proceso de pruebas, de los más importantes son:
Rol |
Responsabilidades específicas |
Analista de Pruebas | Es la persona responsable de elaboración del plan de pruebas, criterios de aceptación, tiempos de ejecución y casos de pruebas. Adicionalmente es responsable de la ejecución de los casos de pruebas, reportes de errores, informes de avance y cierre de la versión en pruebas. |
Usuario Funcional | Responsable de la validación del plan de pruebas, criterios de aceptación de pruebas; así como de certificar los desarrollos y las pruebas realizadas relacionadas con los documentos de especificación y el soporte y orientación en el diseño de casos de pruebas a partir de su experiencia y conocimiento del negocio. |
Para llevar un proceso de pruebas es importante tener entregables que evidencien los resultados de las mismas, estos son algunos de los entregables más importantes:
Entregable |
Descripción |
Casos de prueba | Consiste en la especificación detallada y formulación de los escenarios de negocio asociados con cada uno de los Casos de Uso que se van a probar. Típicamente, la formulación de un caso de prueba se especifica en términos de pre-condiciones, acciones y post-condiciones |
Datos de prueba | Consiste en los datos de prueba, entrada y salida que se requieren para hacer la realización o ejecución del caso de prueba. |
Suite de pruebas | Consiste en la unión de todos los documentos anteriores pero organizados de acuerdo a una visión de prueba integral de lógica de negocio. |
Resultados de la prueba | Consiste en el registro de resultados obtenidos después de la ejecución de la prueba formal por caso de uso y casos de prueba. Estos resultados son la validación de los criterios de aceptación del usuario para el sistema. |