Está en la página 1de 2

Las pruebas de software (en inglés software testing) son las investigaciones

empíricas y técnicas cuyo objetivo es proporcionar información objetiva e


independiente sobre la calidad del producto a la parte interesada o stakeholder. Es
una actividad más en el proceso de control de calidad.

Las pruebas son básicamente un conjunto de actividades dentro del desarrollo de


software. Dependiendo del tipo de pruebas, estas actividades podrán ser
implementadas en cualquier momento de dicho proceso de desarrollo. Existen
distintos modelos de desarrollo de software, así como modelos de pruebas. A cada
uno corresponde un nivel distinto de involucramiento en las actividades de
desarrollo.

Definición
Un caso de pruebas es una breve declaración de algo que debería ser probado. Es el
mecanismo, manual o automático, de verificar si el comportamiento del sistema es el
deseado o no.1

Historia
El objetivo de las pruebas es presentar información sobre la calidad del producto a
las personas responsables de este. Las pruebas de calidad presentan los siguientes
objetivos: encontrar defectos o bugs, aumentar la confianza en el nivel de calidad,
facilitar información para la toma de decisiones, evitar la aparición de defectos.

Teniendo esta afirmación en mente, la información que puede ser requerida es de lo


más variada. Esto hace que el proceso de testing sea completamente dependiente del
contexto en el que se desarrolla.2

El ambiente ideal de las pruebas es aquel que es independiente del desarrollo del
software, de esta manera se logra objetividad en las pruebas.

A pesar de lo que muchos promueven, no existen las "mejores prácticas" como tales.
Toda práctica puede ser ideal para una situación, pero completamente inútil o
incluso perjudicial en otra.

Por esto, las actividades técnicas, documentación, enfoques y demás elementos que
condicionarán las pruebas a realizar deben ser seleccionadas y utilizadas de la
manera más eficiente según contexto del proyecto.

Proceso de Desarrollo de Software


Tenemos el proceso de desarrollo en cascada, se denomina de este modo, ya que a
cada salida de una etapa cae en la siguiente, es decir, las etapas se llevan a cabo
una a continuación de la otra. Una de las peculiaridades de este proceso, es que no
está previsto volver a una etapa anterior, es decir si se olvidó relevar algún
requerimiento al comienzo, no tiene una alternativa para considerar este caso. Este
proceso supone cada etapa independiente de las etapas anteriores.

También tenemos el desarrollo iterativo y creciente, se tiene las mismas etapas que
en el Proceso de Desarrollo en Cascada, sin embargo, en este proceso, la etapa de
relevamiento se divide en distintos sub conjuntos,y cada uno de estos sub conjuntos
se construye de la misma forma que con el ciclo de vida en cascada. Se van
desarrollando por partes que luego se integran, una vez finalizadas las mismas.

Otro Proceso de Desarrollo que tenemos es el Iterativo, en este tenemos las mismas
etapas de desarrollo que los procesos anteriores, pero trabajamos sobre el todo, no
necesariamente conocemos al comienzo todos los detalles del producto que queremos
construir.

Y por último tenemos el desarrollo ágil de software, este es un proceso iterativo e


incremental, se caracteriza por contar con iteraciones cortas y por no tener fases
lineales, tipo cascada en cada iteración. Existen distintas metodologías Ágiles,
que entre las más conocidas y utilizadas encontramos "Scrum" y "XP: Extreme
Programming".

Pruebas estáticas
Son el tipo de pruebas que se realizan sin ejecutar el código de la aplicación.

Puede referirse a la revisión de documentos, ya que no se hace una ejecución de


código. Esto se debe a que se pueden realizar "pruebas de escritorio" con el
objetivo de seguir los flujos de la aplicación.

Pruebas dinámicas
Todas aquellas pruebas que para su ejecución requieren la ejecución de la
aplicación.

Las pruebas dinámicas permiten el uso de técnicas de caja negra y caja blanca con
mayor amplitud. Debido a la naturaleza dinámica de la ejecución de pruebas es
posible medir con mayor precisión el comportamiento de la aplicación desarrollada.

Pruebas contra Especificación (ESRE)


Antes de entender para que les sirve a los probadores beta trabajar con el
documento de especificación de requerimientos, debemos saber qué son las
especificaciones de requerimientos (ESRE).

Las Especificaciones de Requerimientos son un documento clave en el desarrollo de


Software. Cuando consideramos los ciclos de vida clásicos, tiene la descripción
completa de lo que va a hacer el sistema sin describir cómo lo va a hacer. Estos
documentos tienen una estructura en forma de reporte bastante definida, poseen
carátula, historial de cambios, introducción, definiciones, acrónimos y
abreviaturas, especificación de requerimientos funcionales, especificación de
requerimientos no funcionales y casos de uso.

Los probadores beta se guían en este documento para validar si el sistema se


comporta de la manera que indican las ESRE. Contiene información detallada sobre
los requisitos funcionales y no funcionales que el Cliente desea en el sistema.
También se pueden ejecutar casos de pruebas a partir de las especificaciones de
requerimientos ya que estos resultan muy útiles porque son sencillos de seguir y se
conocen de antemano los posibles resultados.

Tipos de pruebas por su ejecución


Pruebas manuales
Pruebas automáticas
Enfoques de pruebas
Pruebas de Caja blanca
Pruebas de Caja negra
Testing aleatorio3

También podría gustarte