martes, 26 de marzo de 2013

Pruebas no funcionales (K2 - entender, explicar , razonar)


Objetivos:

  1. Comparar cuatro tipos de pruebas de software (funcional, no funcional, estructural y asociado al cambio) (K2).
  2. Reconocer que las pruebas funcionales y estructurales se llevan a cabo en cualquier nivel de prueba (K1).
  3. Identificar y describir los tipos de pruebas no funcionales en base a requisitos no funcionales (K2).
  4. Identificar y describir los tipos de pruebas en base al análisis de la estructura o arquitectura o arquitectura de un sistema de software (K2). 
  5. Describir el objetivo de las pruebas de confirmación y regresión (K2).
Términos usados en este artículo: PRUEBAS DE CAJA NEGRA, COBERTURA DE CÓDIGO, PRUEBAS FUNCIONALES, PRUEBAS DE INTEROPERABILIDAD, PRUEBAS DE CARGA, PRUEBAS DE MANTENIBILIDAD, PRUEBAS DE FIABILIDAD, PRUEBAS DE SEGURIDAD, PRUEBAS DE ESTRÉS, PRUEBAS ESTRUCTURALES, PRUEBAS DE USABILIDAD, PRUEBAS DE CAJA BLANCA.

Antecedentes.

Las pruebas no funcionales incluyen, pero sin limitarse a ello, pruebas de rendimiento, pruebas de carga, pruebas de estrés, pruebas de usabilidad, pruebas de mantenibilidad, pruebas de fiabilidad y pruebas de portabilidad. Estas pruebas se refieren a "cómo" funciona el sistema.

Las pruebas no funcionales pueden ejecutarse a todos los niveles de prueba. El término pruebas no funcionales hace referencia a las pruebas necesarias para medir las características de los sistemas y software que pueden cuantificarse según una escala variable , tales como los tiempos de respuesta en el caso de las pruebas de rendimiento.

Estas pruebas pueden hacer referencia a un modelo de calidad como el previsto en "Ingeniería de software" (ISO 9126). 

Las pruebas no funcionales tienen en cuenta el comportamiento externo del software y , en la mayoría de los casos, para ello utiliza técnicas de diseño de pruebas de caja negra.

Resumiendo:

Pruebas de Sistemas
  • Pruebas de carga ("load test"): Sistema bajo carga (carga mínima, más usuarios / Transaccionales).
La carga de trabajo se refiere a la capacidad máxima que tiene un servidor web (hardware y software), para atender a un conjunto de usuarios de manera simultánea. Por ello, las actividades de esta etapa tienen relación con comprobar, de manera anticipada, el funcionamiento que tendrá el servidor del Sitio Web cuando esté en plena operación.
Las pruebas en este caso consisten en simular una carga de trabajo similar y superior a la que tendrá cuando el sitio esté funcionando, con el fin de detectar si el software instalado (programas y aplicaciones) cumple con los requerimientos de muchos usuarios simultáneos y también si el hardware (servidor y el equipamiento computacional de redes y enlace que lo conecta a Internet) es capaz de soportar la cantidad de visitas esperadas.
Es importante considerar que si el servidor está en las dependencias de un tercero que entrega el servicio de alojamiento del Sitio Web (hosting), se le debe solicitar a dicho proveedor un informe en que dé a conocer las características de carga de la solución de hardware y software sobre la cual funciona el Sitio Web de la institución.
Hay diversos software en el mercado que están orientados a este tipo de simulaciones, todos los cuales ofrecen características similares. Entre los datos más relevantes que es posible obtener se cuenta:
  • Tiempo de acceso de los usuarios a los datos
  • Volumen de datos y ancho de banda utilizado
  • Archivos solicitados y tiempos usados en transferencia de datos
  • Tiempo de espera de los usuarios tras hacer un clic
  • Tiempo de respuesta a clicks de usuarios
  • Niveles de error existentes tras clicks de usuarios
Como se puede apreciar del listado anterior, los reportes que se obtienen a través de esta vía se refieren a tiempos de acceso que tienen los usuarios que acceden al Sitio Web y la degradación que ocurre en los servicios cuando aumenta el volumen de visitantes concurrentes.

Enlace Recomendado

Apache JMeter Herramienta Open Source para las pruebas de carga.

  • Pruebas de rendimiento ("perfomance test"): Rapidez con la cual un sistema ejecuta una determinada función.

Enlace Recomendado

Apache JMeter Herramienta Open Source para las pruebas de rendimiento.
  • Pruebas de volumen ("volumne test"): Porcesamiento de grandes cantidades de datos / ficheros.
  • Pruebas de estrés ("stress test") : Reacción a la sobrecarga / recuperación tras el retorno a una carga normal.
  • Pruebas de estabilidad ("stability test"): Rendimiento en "modo de operación contínua".
  • Pruebas de robustez ("test for robustness"): Reacción a entradas erróneas no especificadas. a fallos de hardware / recuperación ante situaciones de desastre.
  • Pruebas de cumplimiento: Cumplir normas y reglamentos (interno/ externo).
  • Pruebas de usabilidad: Estructurado , comprensible , fácil de aprender por parte del usuario.
Otros aspectos no funcionales de calidad
  • Portabilidad: adaptabilidad , reemplazabilidad, instalabilidad, coexistencia, cumplimiento de portabilidad.
  • Mantenibilidad: analizabilidad, modificabilidad, estabilidad, testabilidad, cumplimiento de mantenibilidad.
  • Fiabilidad: madurez, tolerancia a fallos, recuperabilidad, cumplimiento de fiabilidad. 
Pregunta de examen
7 Non-functional system testing includes:
a) testing to see where the system does not function properly
b) testing quality attributes of the system including performance and usability-->OK
c) testing a system feature using only the software required for that action
d) testing a system feature using only the software required for that function
e) testing for functions that should not exist

7 Pruebas del sistema no funcional incluye:
a) la prueba para ver donde el sistema no funciona correctamente
b ) los atributos de calidad de pruebas del sistema , incluyendo el rendimiento y facilidad de uso-->OK
c) probar una característica del sistema utilizando sólo el software necesario para la acción
d ) probando una característica del sistema utilizando sólo el software requerido para esa función
e) las pruebas para las funciones que no deberían existir.

39 Which of the following is not part of performance testing:
a) Measuring response time
b) Measuring transaction rates
c) Recovery testing-->NOK
d) Simulating many users
e) Generating many transactions

39 ¿Cuál de los siguientes no es parte de las pruebas de rendimiento 
a) Medición de tiempo de respuesta-->OK
b ) La medición de las tasas de transacción-->OK
c ) las pruebas de regresión-->NOK
d ) La simulación de muchos usuarios-->OK
e) Generar muchas transacciones-->OK

No hay comentarios:

Publicar un comentario