Pruebas Manuales

## **¿Qué son?**

Son un tipo de prueba de software donde los analistas QA ejecutan manualmente los casos de prueba definidos sin usar ninguna herramienta o script de automatización. Es la más primitiva de todos los tipos de prueba y ayuda a encontrar errores en el sistema de forma muy puntual.

## **Objetivo**

* Garantizar que la aplicación esté libre de errores y que funcione de conformidad con los requisitos funcionales especificados.
* Garantizar que los conjuntos de pruebas o casos, estén diseñados durante la fase de prueba y que tengan una cobertura de prueba del 100%.
* Verificar la calidad del sistema y la entrega de un producto libre de errores al cliente.

## **¿Cuándo se deben implementar las Pruebas Manuales?**

las pruebas manuales son parte importante durante todo el ciclo de vida del desarrollo y tomando en cuenta que se necesitan habilidades como experiencias humanas para su planificación y ejecución, resultan apropiadas para los siguientes casos:

* Pruebas exploratorias.
* Pruebas de usabilidad.
* Pruebas ad-hoc.

## **Ventajas**

* No se requiere conocimiento sobre programación o desarrollo de software.
* Se obtienen resultados desde una perspectiva humana en condición de usuario final.
* Ejecución de pruebas exploratorias.
* Recomendable para diseños GUI que cambian o actualizan de forma dinámica.
* El costo generado en las pruebas manuales es menor, ya que no se requieren herramientas y procesos de automatización.

## **Proceso de Pruebas**

### Planificación de prueba

* Objetivo
* Alcance/fuera de alcance
* Infraestructura
* Suposiciones
* Estrategia
* Entregables
* Criterio de finalización y prueba
* Metricas
* Ambiente de pruebas
* Herramientas

Clic aquí para ver plan de pruebas

### Análisis de prueba

* Se analizan las bases de la prueba
* Bases de pruebas: aquellos documentos o productos de trabajo (Requerimientos, historias de usuario, diagramas, modelos) a partir de los cuales se pueden inferir los requisitos de un componente o del sistema
* El análisis de la prueba responde a la pregunta ¿qué probar?

### Diseño de prueba

* El diseño de las pruebas responde a la pregunta ¿Cómo realizar las pruebas?
* Diseñar y priorizar casos de pruebas
* Identificar los datos de pruebas
* Diseñar el entorno de pruebas
* Verificar y actualizar la trazabilidad bidireccional

### Implementación de prueba

* Actividades relacionas con el entorno de las pruebas
* Se hace unido a la fase de diseño

### Ejecución de prueba

* Ejecutar pruebas (manuales o automatizadas)
* Comprobar los resultados reales contra los esperados
* Reportar los defectos encontrados
* Registrar el resultado de la ejecución de prueba
* Repetir actividades de prueba (pruebas de confirmación y/o regresión)

### Compleción de la prueba

* Verificar si todos los informes de defectos están cerrados
* Crear un informe de resumen de las pruebas
* Finalizar y archivar el entorno de pruebas
* Entregar el software de prueba
* Analizar las lecciones aprendidas de las actividades de pruebas

## **Pruebas estáticas**

Consisten en la revisión de documentos de requerimientos, de diseño e incluso del código fuente para corregir errores al menos costo posible, evitando llegar a etapas superiores del ciclo de vida del sistema donde la reparación será más costosa. Se basa de la revisión manual o automatizada de los productos de trabajo incluido el código fuente sin ejecutar.

### Productos de trabajo examinados en pruebas estáticas:

* Especificaciones de negocio y funcionales.
* Épicas, historias de usuario y criterios de aceptación.
* Especificaciones de arquitectura y diseño.
* Código fuente.
* Productos de prueba (planes de prueba, casos de prueba, scripts de automatización).
* Contratos, planes de proyecto, calendarios y presupuesto.

### Análisis estático:

Es un tipo de pruebas basada en herramientas que se concentra en probar lenguajes formales, es usado para probar estáticamente el código fuente, la mayoría de herramientas se centran en código de software, suelen ser usadas por los desarrolladores antes y durante las pruebas unitarias y de integración y por los diseñadores durante el modelado de software.

### Las herramientas de análisis estático muestran:

* Profundidad de anidamiento.
* Complejidad ciclomática.
* Estándares de codificación.
* Flujo de control.
* Relaciones de datos.
* Numero de rutas entre líneas de código