Guía de garantía de calidad del software

Seguro de calidad

La garantía de calidad (comúnmente conocida como QA) es el medio por el cual se verifica un producto en desarrollo para asegurarse de que funciona como se supone que debe hacerlo. Los métodos reales utilizados en los procesos de control de calidad varían enormemente según el tamaño y la naturaleza del producto.

Para un proyecto personal, probablemente solo probará sobre la marcha, pidiendo a otros que proporcionen comentarios en las etapas adecuadas. Por el contrario, una aplicación bancaria debe tener todos los aspectos de cada característica exhaustivamente revisados ​​y documentados para garantizar que sea funcional y segura.

Independientemente de cuán formal o detallado sea un proceso de control de calidad, su objetivo es identificar errores para que puedan resolverse antes de que se lance el producto.

Metodologias

Ágil

En un enfoque ágil del desarrollo, el objetivo es que cada ciclo de trabajo ('sprint') produzca un software funcional que se pueda agregar y mejorar de forma iterativa. Esto hace que los procesos de QA sean una parte intrínseca del ciclo de desarrollo.

Al probar los componentes de software en cada etapa de su producción, reduce el riesgo de que aparezcan errores en el lanzamiento.

Terminología

Pruebas de automatización

Pruebas realizadas con scripts escritos previamente diseñados para controlar la ejecución de pruebas.

Caja negra

Estas pruebas no miran dentro del sistema bajo prueba, sino que lo tratan como 'cerrado' de la misma manera que lo experimentará el usuario final.

Defecto

Cualquier desviación de las especificaciones de una aplicación; a menudo denominado "error".

Prueba exploratoria

Un enfoque de prueba sin guión, que se basa en la creatividad única del evaluador en un esfuerzo por encontrar errores desconocidos e identificar regresiones.

Pruebas de integración

Probar componentes / módulos individuales juntos para asegurarse de que se conectan e interactúan bien entre sí.

Prueba de ruta negativa

Un escenario de prueba diseñado para producir un estado de error en una función / aplicación y verificar que el error se maneja correctamente. Un ejemplo de esto es ingresar una serie de números en el campo de correo electrónico en un formulario de registro de usuario y verificar que no se acepte el registro hasta que se proporcione una dirección de correo electrónico real.

Pruebas de regresión

Pruebas realizadas en una nueva compilación para garantizar que la nueva funcionalidad no haya roto accidentalmente la funcionalidad probada anteriormente.

Pruebas de humo

Un enfoque minimalista de las pruebas destinado a garantizar que la funcionalidad básica esté funcionando antes de que se realicen pruebas más profundas. Suele ocurrir al comienzo del proceso de prueba.

Caso de prueba

Condiciones previas especificadas, pasos y resultados esperados a los que hace referencia un probador / ingeniero de control de calidad para determinar si una función realiza o no su tarea como se esperaba.

Caja blanca

Se refiere a las pruebas realizadas a nivel estructural, dentro del código base. Los programadores que verifican que las entradas y salidas de funciones o componentes específicos serían pruebas de caja blanca.

También conocido como 'Caja de vidrio', 'Caja transparente', 'Caja transparente' porque el probador puede 'ver dentro' del sistema bajo prueba.

Las categorías principales son

  • Pruebas unitarias (las unidades individuales de código hacen lo que deberían)
  • Pruebas de integración (las unidades / componentes interactúan entre sí correctamente)
  • Pruebas de regresión (volver a aplicar las pruebas en etapas posteriores del desarrollo para garantizar que aún funcionen)

Hay tres técnicas principales:

  • Partición de equivalencia (los valores de entrada probados son representativos de conjuntos de datos de entrada más grandes)
  • Análisis de valor límite (el sistema se prueba con entradas elegidas donde el comportamiento y, por lo tanto, la salida deben cambiar)
  • Gráficos de causa-efecto (las pruebas se diseñan a partir de una visualización de las relaciones de entrada-salida)

Otros recursos

  • Cómo escribir documentación de control de calidad que realmente funcione
  • Desarrollo basado en pruebas
  • Pruebas unitarias