Está en la página 1de 17

UNIVERSIDAD LA SALLE

INTRODUCCIÓN A LA INGENIERÍA
DEL SOFTWARE
PRUEBAS EN EL DESARROLLO DE
SOFTWARE
Docente
Ing. Juan Carlos Gómez Boza
Pruebas de Software
Pruebas de Software
• La prueba de software es el proceso de evaluar y verificar que un producto o
aplicación de software hace lo que se supone que debe hacer.

• Los beneficios de las pruebas incluyen la prevención de errores, la reducción de los


costos de desarrollo y la mejora del rendimiento.
La importancia de las pruebas de
software
• Al igual que sucede en cualquier otro sector del mercado, los
desarrolladores de software trabajan para ofrecer los mejores resultados
en cuanto a calidad.

• Se trata de un ámbito en el que la competencia cada día es mayor y lo


mismo sucede con el grado de exigencia por parte del consumidor o
usuario.

• Así que es necesario garantizar que el producto cumple con todos los
requisitos definidos por el cliente. Surge entonces la necesidad de
aplicar las pruebas de software con las que garantizar que este se
encuentra libre de fallos.
La importancia de las pruebas de
software
• Las pruebas de software son el mejor método para confirmar la
funcionalidad del producto que se está desarrollando.

• Deben aplicarse en todas las fases del desarrollo, desde el inicio del
proyecto hasta el final, de manera que puedan descubrirse fallos
aislados en un primer momento o detectar un comportamiento erróneo
al final.

• Estas pruebas sirven, por ejemplo, para descubrir fallos en el diseño y la


arquitectura del software, en la seguridad o en la escalabilidad.
La importancia de las pruebas de
software
• Lo que se lleva a cabo durante estas pruebas es una evaluación
minuciosa para verificar la funcionalidad de un determinado producto,
es decir, comprobar que funciona tal y como debería hacerlo.

• Esto aporta varios beneficios que incluyen la solución de errores en una


fase temprana, con lo que el esfuerzo para buscar una solución es menor.

• También se reducen gastos y hay un aumento del rendimiento.


Pruebas funcionales
• Las pruebas funcionales se llevan a cabo para comprobar las características críticas
para el negocio, la funcionalidad y la usabilidad.
• Las pruebas funcionales garantizan que las características y funcionalidades del
software se comportan según lo esperado sin ningún problema.
• Valida principalmente toda la aplicación con respecto a las especificaciones
mencionadas en el documento Software Requirement Specification (SRS).
• Los tipos de pruebas funcionales incluyen pruebas unitarias, pruebas de
interfaz, pruebas de regresión, además de muchas.
Pruebas no funcionales
• Las pruebas no funcionales son como pruebas funcionales; sin embargo, la principal
diferencia es que esas funciones se prueban bajo carga para el rendimiento de los
observadores, fiabilidad, usabilidad, escalabilidad, etc.
• Las pruebas no funcionales, como las pruebas de carga y esfuerzo, generalmente se
llevan a cabo utilizando herramientas y soluciones de automatización, como
LoadView.
• Además de las pruebas de rendimiento, los tipos de pruebas no funcionales incluyen
pruebas de instalación, pruebas de confiabilidad y también pruebas de seguridad.
Pruebas unitarias o unit testing
• Comprueban que cada una de las piezas o unidades más pequeñas
del software en el que se está trabajando funcione correctamente. Estas
pruebas se aplican de manera individual y son las primeras que deben
realizarse durante todo el proceso de desarrollo.
• Para ello, es necesario aislar esas unidades, que pueden ser fragmentos
de código, para verificar su comportamiento. Al trabajar con unidades
tan pequeñas es posible testear el proyecto por partes, sin necesidad de que
esté terminado. Son muy rápidas y facilitan la comprobación de la
legibilidad del código.
• Entre sus ventajas está el ahorro de tiempo y de dinero, ya que permiten
detectar errores al principio y evitar seguir avanzando arrastrando ese
fallo que va a condicionar el resto del proyecto.
Pruebas de integración
• Cualquier aplicación de software está formada por varios elementos que
deben encajar a la perfección. El objetivo de estas pruebas es comprobar
que los diferentes componentes operan bien juntos.

• En ocasiones sucede que un módulo que funcionaba perfectamente de


manera aislada, una vez que se integra con el resto provoca algún tipo
de fallo en el sistema, por lo que es necesario supervisar esa integración
para obtener los mejores resultados.

• Es un proceso más complejo y debe realizarse después de las pruebas


unitarias.
Pruebas funcionales
• Lo que se comprueba son las funciones del software creado
para establecer la usabilidad y las características de cara al mercado.

• Son consideradas pruebas de caja negra o black-box testing porque lo que


se verifica es el comportamiento del sistema, si todo funciona tal y como
está establecido en el documento Software Requirement Specification (SRS).

• Las pruebas unitarias y de regresión son pruebas funcionales.


Pruebas de aceptación
• Antes de comenzar a trabajar, el equipo responsable del proyecto
debe definir cuáles son los criterios de aceptación. Por otra parte, si durante
la fase de desarrollo se toma cualquier decisión que añada o disminuya
criterios, también debe dejarse constancia.

• Durante las pruebas unitarias y de integración se realizarán las pruebas


de aceptación para corroborar que todo el sistema funciona según lo
esperado.
Pruebas de rendimiento
• Se trata de chequear la respuesta del software ante cargas de trabajo
diferentes y en condiciones reales.

• Sirven para definir cuestiones como la estabilidad o la velocidad de una


aplicación de software y están directamente relacionadas con la
experiencia del usuario y la tasa de conversión.

• Las pruebas de carga, de resistencia, estrés, volumen, picos y


escalabilidad son consideradas pruebas de rendimiento.
Pruebas de estrés
• Antes de dar por finalizado el proceso de desarrollo de un software es
necesario comprobar cuánta tensión puede soportar antes de que se
produzca algún error.

• Para ello, se envía mucha más información de lo habitual


para comprobar en qué punto se satura el sistema.
Pruebas de regresión
• En ocasiones, el desarrollador decide modificar alguna funcionalidad en
el sistema.

• Este tipo de pruebas tienen como objetivo comprobar que los cambios en
un componente del software no provocan reacciones no deseadas o fallos en
otros elementos no modificados.

• No tendría sentido introducir una nueva función si esto va a tener


consecuencias negativas sobre el resto.
Pruebas de humo
• Son pruebas funcionales que ayudan a determinar si el conjunto
del software funciona bien y si está preparado para ser sometido a pruebas
más exhaustivas.

• Están pensadas para garantizar la funcionalidad principal, así que si no


se superan no se avanza ni se programa ninguna prueba más compleja.
Hay que volver al punto de inicio.
Pruebas de Software
• Hay más tipos de pruebas de software, las cuales se abordan en
profundidad en el Máster en Full Stack Developer de UNIR, tanto desde un
punto de vista funcional como de sus objetivos.

• Las pruebas de software contribuyen a aumentar la confianza de los usuarios,


ya que el producto que se les presenta ofrece la garantía de haber sido
testeado en todas las etapas de su desarrollo. Resolver un fallo durante
el desarrollo siempre es menos costoso que tener que asumirlo una vez
que el software está ya en el mercado, lo cual implicaría una pérdida de
prestigio para cualquier marca.

También podría gustarte