Pruebas no funcionales

โšก Resumen inteligente

Las pruebas no funcionales validan el rendimiento de una aplicaciรณn de software en tรฉrminos de fiabilidad, usabilidad, seguridad, escalabilidad y otros atributos de calidad. Este tutorial explica los objetivos, parรกmetros, caracterรญsticas, tipos de pruebas comunes y ejemplos prรกcticos de casos de prueba utilizados por los equipos de control de calidad.

  • ๐ŸŽฏ Enfoque de calidad: Las pruebas no funcionales miden cรณmo se desempeรฑa un sistema, en lugar de quรฉ hace.
  • ๐Ÿ“ Criterios medibles: Cada requisito se cuantifica, eliminando la terminologรญa subjetiva como bueno, mejor o excelente.
  • ๐Ÿ” Parรกmetros crรญticos: La seguridad, la fiabilidad, la escalabilidad, la usabilidad y la portabilidad son los aspectos que predominan en la verificaciรณn no funcional.
  • ๐Ÿงช Diversos tipos de pruebas: Las pruebas de rendimiento, carga, estrรฉs, recuperaciรณn y compatibilidad abordan riesgos de calidad especรญficos.
  • ๐Ÿ“Š Impacto de negocios: Las pruebas no funcionales rigurosas reducen los costos de producciรณn, el tiempo de inactividad y la insatisfacciรณn del cliente en todas las versiones.

Pruebas no funcionales

ยฟQuรฉ son las pruebas no funcionales?

Pruebas no funcionales Es una categorรญa de pruebas de software que valida los aspectos no funcionales de una aplicaciรณn: rendimiento, usabilidad, fiabilidad y atributos de calidad similares. Evalรบa la preparaciรณn del sistema segรบn criterios que las pruebas funcionales nunca abordan, garantizando que la aplicaciรณn cumpla con las expectativas de la empresa en condiciones reales.

Un ejemplo clรกsico de pruebas no funcionales es medir cuรกntos usuarios simultรกneos pueden iniciar sesiรณn en una aplicaciรณn sin que se degrade el rendimiento. Las pruebas no funcionales son tan importantes como las funcionales, ya que afectan directamente a la satisfacciรณn del cliente y a la percepciรณn general del producto.

ยฟQuรฉ son las pruebas no funcionales? Diagrama general

Objetivos de las pruebas no funcionales

Las pruebas no funcionales se realizan para mejorar la calidad general y la durabilidad de un producto. Los objetivos clave incluyen:

  • Mejorar la usabilidad, la eficiencia, la facilidad de mantenimiento y la portabilidad del producto.
  • Reduzca el riesgo de producciรณn y el coste asociado a los defectos no funcionales.
  • Optimizar la forma en que se instala, configura, ejecuta, gestiona y supervisa el producto.
  • Recopilar mediciones y mรฉtricas para la investigaciรณn y el desarrollo internos.
  • Mejorar la comprensiรณn del comportamiento del producto y de las tecnologรญas utilizadas.

Caracterรญsticas de las pruebas no funcionales

Las siguientes caracterรญsticas definen cรณmo se deben planificar y ejecutar las pruebas no funcionales:

  • Debe ser mensurable, sin dejar lugar a descripciones subjetivas como bueno, mejor o excelente.
  • Las cifras exactas suelen desconocerse al inicio del proceso de definiciรณn de requisitos.
  • Es necesario priorizar los requisitos para abordar primero las รกreas de mayor riesgo.
  • Los atributos de calidad se identifican con precisiรณn durante la fase de ingenierรญa de software.

Parรกmetros de prueba no funcionales

Normalmente se utilizan once parรกmetros para definir el alcance de las pruebas no funcionales:

  1. Seguridad: Mide el grado de protecciรณn de un sistema contra ataques deliberados y accidentales procedentes de fuentes internas o externas. Verificado mediante pruebas de seguridad.
  2. Fiabilidad: Grado en que un sistema realiza continuamente sus funciones especificadas sin fallos. Verificado mediante pruebas de fiabilidad.
  3. Supervivencia: Confirma que el sistema sigue funcionando y se recupera tras un fallo. Verificado mediante pruebas de recuperaciรณn.
  4. Disponibilidad: Determina el grado de fiabilidad del sistema para el usuario durante su funcionamiento. Verificado mediante pruebas de estabilidad.
  5. Usabilidad: La facilidad con la que los usuarios pueden aprender, operar, preparar entradas y consumir salidas del sistema. Verificado mediante pruebas de usabilidad.
  6. Escalabilidad: Grado en que una aplicaciรณn de software puede ampliar su capacidad de procesamiento para satisfacer la creciente demanda. Verificado mediante pruebas de escalabilidad.
  7. Interoperabilidad: Comprueba cรณmo un sistema de software interactรบa con otros sistemas de software. Verificado mediante pruebas de interoperabilidad.
  8. Eficiencia: El grado en que el sistema gestiona la capacidad, la cantidad y el tiempo de respuesta bajo carga.
  9. Flexibilidad: La facilidad con la que la aplicaciรณn puede funcionar en diferentes configuraciones de hardware y software, como distintas especificaciones de RAM o CPU.
  10. Portabilidad: La flexibilidad del software para pasar de su entorno de hardware o software actual a otro.
  11. Reutilizaciรณn: Se refiere a la parte de un sistema de software que puede adaptarse para su uso en otra aplicaciรณn.

Diagrama de parรกmetros de pruebas no funcionales

Tipo de prueba de software

Las pruebas de software se clasifican generalmente en tres categorรญas:

  • Prueba de funcion
  • Pruebas no funcionales
  • Pruebas de mantenimiento

Cada categorรญa contiene varios niveles de prueba, a los que los equipos suelen referirse como tipos de prueba. Los distintos libros y materiales de referencia pueden clasificarlos de forma ligeramente diferente, por lo que cabe esperar pequeรฑas variaciones.

La lista de tipos de pruebas no es exhaustiva: existen mรกs de 100 tipos distintos y siguen apareciendo otros nuevos. No todos los tipos son aplicables a todos los proyectos; su alcance depende de la naturaleza, el perfil de riesgo y la complejidad de la aplicaciรณn que se estรก probando.

Tipos de pruebas no funcionales

Los tipos mรกs comunes de pruebas no funcionales realizadas por los equipos de control de calidad incluyen:

  • Test de rendimiento
  • Prueba de carga
  • Pruebas de conmutaciรณn por error
  • Pruebas de compatibilidad
  • Las pruebas de usabilidad
  • Pruebas de estrรฉs
  • Pruebas de mantenibilidad
  • Pruebas de escalabilidad
  • Pruebas de volumen
  • Pruebas de seguridad
  • Pruebas de recuperaciรณn ante desastres
  • Pruebas de conformidad
  • Pruebas de portabilidad
  • Ensayos de eficiencia
  • Prueba de confiabilidad
  • Pruebas de referencia
  • Pruebas de resistencia
  • Pruebas de documentaciรณn
  • Pruebas de recuperaciรณn
  • Pruebas de internacionalizaciรณn

Ejemplos de casos de prueba para pruebas no funcionales

Los siguientes ejemplos ilustran cรณmo se escriben los casos de prueba no funcionales en proyectos reales:

Caso de prueba # Caso de prueba Dominio
1 El tiempo de carga de la aplicaciรณn no debe superar los 5 segundos cuando hasta 1000 usuarios acceden a ella simultรกneamente. Test de rendimiento
2 El software deberรญa poder instalarse en todas las versiones compatibles de Windows y macOS. Pruebas de compatibilidad
3 Todas las imรกgenes web deben incluir etiquetas alt descriptivas. Pruebas de accesibilidad

Preguntas Frecuentes

Las pruebas funcionales verifican el comportamiento del sistema en funciรณn de los requisitos especificados. Las pruebas no funcionales miden el rendimiento del sistema, incluyendo la velocidad, la fiabilidad, la usabilidad y la seguridad, garantizando que la aplicaciรณn cumpla con los estรกndares de calidad mรกs allรก del comportamiento de las funciones principales.

Las herramientas populares incluyen JMeter y LoadRunner para rendimiento, Selenium para la automatizaciรณn de la usabilidad, Burp Suite y OWASP ZAP para seguridad, y BrowserStack para compatibilidad. Cada herramienta se centra en un รกrea no funcional especรญfica que los equipos de control de calidad desean medir.

Las pruebas no funcionales deben comenzar una vez que el sistema sea funcionalmente estable y antes de los lanzamientos importantes. Las pruebas de rendimiento, seguridad y fiabilidad suelen programarse en fases de prueba avanzadas, pero las estrategias de desarrollo temprano promueven su ejecuciรณn junto con el desarrollo.

Cada parรกmetro se mide en funciรณn de umbrales cuantificables. El rendimiento se mide en tiempo de respuesta y productividad, la seguridad mediante el recuento de vulnerabilidades, la usabilidad mediante las tasas de finalizaciรณn de tareas y la fiabilidad mediante el tiempo medio entre fallos. Numbers reemplazar opiniones subjetivas.

Ambas. Las pruebas de rendimiento, carga, estrรฉs y seguridad dependen en gran medida de la automatizaciรณn debido a su escalabilidad y repetibilidad. Las pruebas de usabilidad y accesibilidad suelen requerir observaciรณn manual, revisiones de expertos o comprobaciones con tecnologรญas de asistencia, ademรกs de herramientas automatizadas.

La IA genera perfiles de carga, predice cuellos de botella de rendimiento, prioriza casos de prueba riesgosos y analiza datos de registro automรกticamente. Las plataformas impulsadas por IA reducen el tiempo de ejecuciรณn y detectan regresiones mรกs rรกpidamente, lo que ayuda a...ping Los equipos de control de calidad amplรญan la cobertura no funcional a lo largo de las distintas versiones.

No. La IA acelera los escaneos, la creaciรณn de lรญneas base y la detecciรณn de anomalรญas, pero los expertos en pruebas siguen interpretando los resultados, validando las cadenas de exploits y diseรฑando escenarios de prueba. La IA complementa el criterio humano en las pruebas no funcionales, en lugar de reemplazar a los ingenieros de control de calidad experimentados.

Resumir este post con: