Вы находитесь на странице: 1из 5

Escuela Politécnica Nacional

Nombre: Alexander Lara


Grupo: Gr-1
Tema: Detallar qué son las Pruebas No funcionales en
el desarrollo de un sistema.

¿Qué son las pruebas no funcionales?


Pruebas no funcionales son pruebas de atributos de un componente o sistema que no se refieren a
la funcionalidad, por ejemplo: rendimiento, carga, estrés, fiabilidad, eficiencia, usabilidad,
mantenibilidad, portabilidad, entre otras dependiendo la necesidad y se las realizan en cada nivel
de prueba.
Los niveles de prueba son, en el primer nivel se ejecutan las pruebas Unitarias, en el siguiente
nivel pruebas de Componentes, le siguen las pruebas de Integración por ultimo las pruebas de
Sistema.
Existen varias formas o tipos de pruebas que se pueden ejecutar para la comprobación de un
sistema, como las siguientes:

 Pruebas de Carga.
 Pruebas de Estrés.
 Pruebas de Volumen.
 Pruebas de Configuración.
 Pruebas de Usabilidad.
 Pruebas de Seguridad.
 Pruebas de Resistencia.
 Pruebas de Escalabilidad.
 Pruebas de Recuperación.
 Pruebas de Mantenibilidad.

Pruebas de Carga
Las pruebas de carga consisten en simular demanda sobre una aplicación de software y medir el
resultado. Estas pruebas se realizan bajo demanda esperada y también en condiciones de
sobrecarga (picos en la demanda).
Para ejecutar estas pruebas, se requiere del uso de herramientas de testing que simulen la carga,
como por ejemplo SoapUI.
Las pruebas de carga ayudan a identificar la máxima capacidad operativa de una aplicación, así
como en el identificar cuellos de botella y las causas de posible degradación del desempeño.
Cuando la carga de prueba se eleva por encima de los parámetros esperados, a estas pruebas se
les conoce como pruebas de estrés.
Pruebas de estrés
Son pruebas de carga que se realizan con demandas mayores a la capacidad operativa, con
frecuencia hasta llegar al punto de ruptura.
Este tipo de prueba de software se utiliza para determinar la estabilidad de un sistema o aplicación,
con especial atención en la disponibilidad y manejo de errores cuando se enfrenta a la sobrecarga.
Al igual que para las pruebas de carga, se requieren de herramientas que simulen la demanda,
SoapUI es una de estas herramientas que permite simular peticiones para servidores de
aplicaciones web.
Aquí te compartimos un Tutorial de SopaUI.
Con las pruebas de estrés se pueden identificar los puntos de ruptura, límites para uso seguro de
la aplicación, confirmar las especificaciones de diseño, identificar las formas en que el sistema
falla, entre otros aspectos.

Pruebas de volumen
Las pruebas de volumen consisten en validar el funcionamiento de la aplicación con ciertos
volúmenes de datos.
Por ejemplo, si se quiere ver el comportamiento de una aplicación con un tamaño de base de datos
específico, se expande el tamaño de base de datos a dichos parámetros y luego e realizan
consultas, procesos o funcionalidades de la aplicación, midiendo su desempeño.
El sujeto de pruebas no está limitado a bases de datos, también se puede usar por ejemplo para
medir el desempeño de una interfaz cuando el archivo de interfaz (un archivo de texto, xml, etc.)
supera cierto tamaño.
El objetivo es ver si dado ciertos volúmenes de datos la aplicación funciona con normalidad,
cuales son los límites máximos de volúmenes de datos para la operación e identificar condiciones
de falla.

Pruebas de configuración
En lugar de probar el desempeño de una aplicación desde la perspectiva de la carga, las pruebas
de configuración se usan para validar que efectos en el desempeño tienen ciertos cambios en la
configuración.
Un ejemplo típico de esta situación es experimentar con diferentes métodos de balanceo de cargas
y ver la respuesta de la aplicación a niveles similares de sobrecarga.
Otro ejemplo es verificar si el sistema es capaz de funcionar adecuadamente en diferentes
versiones o configuraciones de entornos de hardware y software, como pueden ser diversos
navegadores de internet, versiones de navegadores, entre otros.

Pruebas de Usabilidad
En las pruebas de usabilidad, los testers de software se enfocan en validar que tan fácil de usar
es una determinada aplicación.
Las características evaluadas en la usabilidad incluyen:

 Facilidad de aprendizaje: Que tan fácil es para los usuarios realizar funciones básicas la
primera vez que utilizan la aplicación.
 Eficiencia: Que tan rápido los usuarios experimentados pueden realizar sus tareas.
 Memorización: Que tan fácil de memorizar es el uso de la aplicación, esto es, cuando un
usuario pasa mucho tiempo sin usar la aplicación, puede recordar lo suficiente para usarla
con efectividad la próxima vez, o tiene que empezar a aprender de nuevo.
 Errores: Cuantos errores atribuibles al diseño comete el usuario, que tan severos son y
que tan fácil es recuperarse de los mismos.
 Satisfacción: Que tanto le gusta (o desagrada) al usuario utilizar el sistema.

Pruebas de Seguridad
Consiste en probar los atributos o características de seguridad del sistema, si es un sistema seguro
o no, si puede ser vulnerado, si existe control de acceso por medio de cuentas de usuario, si pueden
ser vulnerados estos accesos.
Las pruebas de seguridad también sirven para validar si el equipo de desarrollo de software ha
seguido prácticas de seguridad recomendadas en su programación.
Entre las características de seguridad de un sistema, están la confidencialidad, integridad,
autenticación, autorización y la disponibilidad.

Pruebas de Resistencia
Las pruebas de resistencia implican someter a un Sistema o aplicación a una carga determinada
durante un período de tiempo, para determinar cómo se comporta luego de un uso prolongado.
Un sistema informático puede comportarse de forma normal durante las primeras horas, sin
embargo, luego de cierto tiempo, problemas como fugas de memoria suelen ocasionar fallas.
Estos defectos en el desarrollo de software no pueden identificarse bajo pruebas funcionales
normales, por lo que es conveniente involucrar pruebas de resistencia entre los tipos de pruebas
de software.

Pruebas de estabilidad
Las pruebas de escalabilidad consisten en verificar la capacidad de una aplicación de escalar
cualquiera de sus características no funcionales, como por ejemplo la carga que soporta, número
de transacciones, volúmenes de datos, entre otros.
Al diseñar casos de prueba de escalabilidad, es recomendable considerarlos en bloques
incrementales, dada la dificultad de predecir la carga real que tendrá una aplicación luego de
implementada en producción.
Probar en bloques incrementales significa por ejemplo primero probar con niveles de demanda
bajos, luego incrementar a niveles de demanda medios y finalmente probar con altos niveles de
carga. De esta manera se puede determinar que también escala la aplicación y los problemas que
comienzan a surgir en distintos niveles.
Para que los resultados sean confiables, los ambientes de prueba y su configuración deben
mantenerse constantes.

Pruebas de Recuperación
Las pruebas de recuperación se realizan para verificar que tan rápido y que tan bien se recupera
una aplicación luego de experimentar un falló de hardware o software.
Por lo tanto, para realizar pruebas de recuperación se requiere forzar la falla y luego verificar si
la recuperación ocurre adecuadamente.
Por ejemplo, cuando una aplicación esté funcionando desconectar el cable de red, o en una
aplicación móvil interrumpir la conexión con la red Wi-Fi o con la operadora, para luego
restablecer la conexión.

Pruebas de Mantenibilidad
Básicamente consisten en evaluar que tan fácil es realizar el mantenimiento de un sistema o
aplicación. Esto significa que tan fácil es analizar, cambiar y probar estos cambios.
Para realizar esta prueba deben evaluarse la forma en que está implementada la aplicación,
siguiendo buenas prácticas de ingeniería de software. Es decir, que se estén siguiendo los patrones
recomendados de ingeniería de software y que no se estén introduciendo inadvertidamente anti
patrones, esto es, que no se estén cometiendo errores comunes de programación.

Las pruebas no funcionales permiten conocer y mitigar los riesgos relacionados con el mal
desempeño de las aplicaciones en los entornos de producción y realizar las correcciones
necesarias antes de salir al mercado. Se cuantifica la capacidad de la infraestructura, se validan
los requerimientos de performance, la escalabilidad de las plataformas y del sistema a probar.
Referencias:
Panel. (2006-2018). Pruebas de software. Madrid, España.: Recuperado de
https://www.panel.es/blog/pruebas-software-modelo-capas-cebolla/
Panel. (2006-2018). ¿Cuáles son los tipos de software? Madrid, España.: Recuperado de
https://www.panel.es/blog/software-qa-cuales-son-los-tipos-de-pruebas-software/
La Oficina de Proyectos de Informática. (2012-2018). Tipos de pruebas no funcionales. Amazon.:
Recuperado de http://www.pmoinformatica.com/2016/07/tipos-pruebas-no-funcionales.html

Вам также может понравиться