¿Qué son las pruebas de software?
El termino pruebas de software se refiere a un conjunto de procesos, los cuales tienen un
fin de probar un sistema o aplicaciones, para así comprobar el funcionamiento de este.
Estas pruebas van desde el inicio del desarrollo del aplicativo, hasta la finalización de este.
Lo que las hace interesantes (A las pruebas de software), es que estas se pueden realizar
de forma automática, para determinar si la aplicación es estable o no en cualquier
momento. [1]
Casos de prueba
Llamamos a casos de prueba a los distintos conjuntos de condiciones o variables bajo las
cuales se determinará si una aplicación o sistema de software resulta aceptable o no
aceptable. Para determinar si un requisito es satisfactorio o no, se pueden realizar casos
de prueba, esto se lleva a cabo mediante la realización de casos de prueba a cada uno de
los requisitos, a menos de que este cuente con requisitos secundarios, en este caso se le
haría caso de prueba a cada requisito secundario.
Los casos de pruebas escritos se caracterizan ya que hay una entrada conocida y una
salida esperada, las cuales se formulan antes de realizar la prueba. Teniendo que la
entrada conocida pruebe una precondición y que la salida esperada pruebe una
postcondición. Estos también incluyen una descripción de la funcionalidad a evaluar, esta
se toma de los requisitos o de los casos de uso y estos escritos son generalmente
recolectados en una suite de pruebas. [2]
Fig. 1. Diseño de un caso de prueba
Técnicas de pruebas
- Análisis del valor límite (BVA)
Esta prueba se basa en pruebas en los límites entre particiones. Incluye límites máximos,
mínimos, internos o externos. valores típicos y valores de error. El principio de esta
técnica es, si un sistema funciona bien para ciertos valores particulares, funcionara con
cualquier otro valor con el que sea probado.
Pautas:
- Si una condición de entrada está restringida entre los valores x e y, entonces los
casos de prueba deben diseñarse con valores x e y con otros valores que estén por
encima y por debajo de los mismos.
- Si una condición de entrada es un gran número de valores, se debe desarrollar el
caso de prueba que necesita ejercer los números mínimo y máximo. También se
ponen a prueba los valores superiores e inferiores a los valores mínimos y máximos.
- Al aplicar las pautas 1 y 2 a las condiciones de salida, da una salida que refleja los
valores mínimos y máximos esperados. También prueba los valores inferiores o
superiores.
Particionamiento de clase de equivalencia
Esta técnica nos permite dividir el conjunto de condiciones de prueba en una partición
que debe considerarse igual. El principio de esta técnica es que el caso de prueba de un
valor representativo de cada clase es el mismo a una prueba de otro valor de la misma
clase, identificando de esta forma equivalencias validad y no válidas.
Prueba basada en la tabla de decisiones
Técnica para funciones que responden a una combinación de entradas o eventos. Un
ejemplo sería probar que el botón de envió este habilitado si el usuario llena todos los
campos obligatorios. Para cada función, se debe crear una tabla y enumerar todos los
tipos de combinaciones de entradas y sus respectivas salidas.
Pasos para crear una tabla de decisiones:
- Alista las entradas en filas.
- Ingresa todas las reglas en la columna.
- Rellena la tabla con la combinación diferente de entradas.
- En la última fila, anota la salida contra la combinación de entrada.
Transición de estado
Técnica en la cual los cambios en las condiciones de entrada cambian el estado de la
aplicación que se esté probando, comprobando de esta forma el comportamiento de un
AUT. Durante la aplicación de esta técnica, el equipo de pruebas proporciona valores de
prueba, tanto como de entradas positivos, como negativos, esto para evaluar el
comportamiento del sistema
Pautas:
- La transición de estado debe usarse cuando un equipo de prueba está probando la
aplicación para un conjunto limitado de valores de entrada.
- Debe usarse cuando el equipo de prueba quiere probar la secuencia de eventos que
suceden en la aplicación bajo prueba. [3]
Tipos de pruebas
- Pruebas unitarias
Son de muy bajo nivel, realizándose cerca de la fuente de la aplicación. Consiste en
probar métodos y funciones individuales de las clases, componentes o módulos que
usa el software. Son bastante baratas de automatizar, ejecutándose fácilmente de
una forma rápida mediante un servidor de integración continua.
- Pruebas de integración
Estas pruebas verifican que los distintos módulos o servicios utilizados en la
aplicación, funcionen bien en conjunto, por ejemplo, probando la interacción con la
base de datos. Son más costosas de ejecutar, ya que esta requiere que varias partes
de la aplicación este en marcha
- Pruebas funcionales
Estas se centran en los requisitos empresariales de una aplicación, únicamente
verificando el resultado de una acción en concreto, sin comprobar los estados
intermedios del sistema al momento de realizar la acción. Normalmente se
confunden las pruebas de integración, con las funcionales, ya que tienen en común la
necesidad de que varios componentes interactúen entre sí, teniendo la diferencia en
que, la prueba de integración simplemente verifica que se puedan hacer consultas en
la base de datos, mientras que la funcional espera obtener un valor especifico desde
la base de datos, según los requerimientos del producto
- Prueba de aceptación
Son pruebas formales que verifican si un sistema satisface los requisitos
empresariales, requiriendo que se esté ejecutando toda la app durante las pruebas y
se centran en replicar las conductas de los usuarios. Sin embargo, también se puede
ir más allá y medir el rendimiento del sistema, rechazando los cambios en caso de
que no se hayan cumplido ciertos objetivos. [4]
Bibliografía
[1] J. Turrado, «campusmvp,» 10 Marzo 2022. [En línea]. Available: [Link]
[Último acceso: 18 Octubre 2022].
[2] C. varios, «Wikipedia,» 18 Octubre 2021. [En línea]. Available: [Link] [Último
acceso: 18 Octubre 2022].
[3] «tecnologias - información,» [En línea]. Available: [Link] [Último acceso: 18
Octubre 2022].
[4] S. Pittet, «Atlassian,» [En línea]. Available: [Link] [Último acceso: 18 Octubre
2022].