En el desarrollo de software , las pruebas funcionales son una forma de prueba de software que verifica si un sistema cumple con sus requisitos funcionales . [ 1 ] [ 2 ]
Generalmente, las pruebas funcionales son de caja negra , lo que significa que se ignora la estructura interna del programa (a diferencia de las pruebas de caja blanca ). [ 3 ]
En ocasiones, las pruebas funcionales son un proceso de garantía de calidad (QA). [ 4 ]
Como forma de prueba de sistema , las pruebas funcionales prueban partes de la funcionalidad del sistema completo. A pesar de la similitud en el nombre, las pruebas funcionales no prueban el código de una sola función .
El concepto de incorporar pruebas más temprano en el ciclo de entrega no se limita a las pruebas funcionales. [ 5 ]
Tipos
Las pruebas funcionales incluyen, entre otras cosas: [ 3 ]
Pruebas de cordura
Una prueba de cordura es un método básico para evaluar rápidamente si una afirmación o el resultado de un cálculo puede ser cierto. Consiste en comprobar si el material producido es racional (es decir, si su creador pensó racionalmente, aplicando la lógica ). El objetivo de una prueba de cordura es descartar ciertos tipos de resultados obviamente falsos, no detectar todos los errores posibles. Para realizar la prueba, se puede recurrir a una regla práctica o a un cálculo aproximado . La ventaja de realizar una prueba de cordura inicial radica en la rápida evaluación del funcionamiento básico.
Prueba de humo
En programación informática y pruebas de software , las pruebas de humo (también pruebas de confianza, pruebas de cordura, [ 6 ] prueba de verificación de compilación (BVT) [ 7 ] [ 8 ] [ 9 ] y prueba de aceptación de compilación) son pruebas preliminares o de cordura para revelar fallos simples lo suficientemente graves como para, por ejemplo, rechazar una posible versión de software. Las pruebas de humo son un subconjunto de casos de prueba que cubren la funcionalidad más importante de un componente o sistema, utilizadas para ayudar a evaluar si las funciones principales del software parecen funcionar correctamente. [ 6 ] [ 7 ] Cuando se utiliza para determinar si un programa informático debe someterse a pruebas adicionales y más detalladas, una prueba de humo puede llamarse prueba previa [ 10 ] o prueba de admisión. [ 6 ] Alternativamente, es un conjunto de pruebas ejecutadas en cada nueva compilación de un producto para verificar que la compilación sea comprobable antes de que se entregue al equipo de pruebas. [ 11 ] En el paradigma DevOps , el uso de un paso de prueba de verificación de compilación es un sello distintivo de la etapa de madurez de la integración continua . [ 12 ]
Pruebas de regresión
Las pruebas de regresión (en raras ocasiones, pruebas sin regresión [ 13 ] ) consisten en volver a ejecutar pruebas funcionales y no funcionales para asegurar que el software previamente desarrollado y probado siga funcionando como se espera después de un cambio. [ 14 ] De lo contrario, se denominaría una regresión .
Pruebas de usabilidad
Las pruebas de usabilidad son una técnica utilizada en el diseño de interacción centrado en el usuario para evaluar un producto mediante pruebas con usuarios. Esto puede considerarse una práctica de usabilidad insustituible , ya que proporciona información directa sobre cómo los usuarios reales utilizan el sistema. [ 15 ] Se centra más en la intuición del diseño del producto y se prueba con usuarios que no tienen experiencia previa con él. Dichas pruebas son fundamentales para el éxito de un producto final, ya que una aplicación completamente funcional que genere confusión entre sus usuarios no durará mucho. [ 16 ] Esto contrasta con los métodos de inspección de usabilidad, donde los expertos utilizan diferentes métodos para evaluar una interfaz de usuario sin involucrar a los usuarios.
Seis pasos
Las pruebas funcionales suelen constar de seis pasos.
- La identificación de las funciones que se espera que realice el software.
- La creación de datos de entrada en función de las especificaciones de la función.
- Determinación del resultado en función de las especificaciones de la función.
- La ejecución del caso de prueba
- La comparación de los resultados reales y esperados
- Para comprobar si la aplicación funciona según las necesidades del cliente.
Herramientas de código abierto
Varias herramientas de código abierto permiten realizar pruebas funcionales en aplicaciones web, móviles y API. Estas incluyen:
- Selenium – Automatización de navegadores web
- Dramaturgo: Pruebas de extremo a extremo en diferentes navegadores
- Robot Framework: automatización basada en palabras clave
- Appium – Pruebas de aplicaciones móviles
- Pruebas funcionales de la API de SoapUI
- Keploy: pruebas de API y generación de pruebas
Véase también
- Pruebas no funcionales : Pruebas que evalúan las cualidades del software en lugar de su corrección.
- Pruebas de aceptación : Pruebas para determinar si se cumplen los requisitos de una especificación o contrato.
- Pruebas de regresión : comprobar si los cambios en el software han dañado alguna funcionalidad que antes funcionaba correctamente.
- Pruebas del sistema : pruebas realizadas en un sistema de software completo.
- Pruebas de software : comprobación del software según las expectativas.
- Pruebas de integración : un tipo de prueba de software
- Pruebas unitarias : validación del comportamiento de código fuente aislado.
- Pruebas de bases de datos : Pruebas de sistemas de software de bases de datos
- Pruebas de seguridad : detección de fallos en la seguridad de los sistemas de información.
- Pruebas de carga : proceso de someter un sistema a una demanda y medir su respuesta.
- Automatización de pruebas : uso de software diseñado específicamente para controlar la ejecución de las pruebas.
Referencias
- ↑ ISO/IEC/IEEE 24765:2017, "Ingeniería de sistemas y software — Vocabulario", Organización Internacional de Normalización, Ginebra, Suiza, 2017.
- ↑ Norma internacional ISO/IEC/IEEE - Ingeniería de sistemas y software . ISO/IEC/IEEE 24765:2010(E). 2010. pp. vol., no., pp.1–418, 15 de diciembre de 2010.
- 1 2 Kaner, Falk, Nguyen. Pruebas de software informático . Wiley Computer Publishing, 1999, pág. 42. ISBN 0-471-35846-0.
- ↑ Prasad, Dr. KVKK (2008) Guía de estudio para la certificación ISTQB , Wiley, ISBN 978-81-7722-711-6, pág. vi
- ↑ "Pruebas de pila completa" . www.thoughtworks.com . Consultado el 8 de septiembre de 2022 .
- 1 2 3 Glosario ISTQB® para el esquema de calificación de pruebas de software del International Software Testing Qualification Board®, Glosario ISTQB International Software Testing Qualification Board.
- 1 2 Dustin, Rashka, Paul. "Pruebas de software automatizadas: introducción, gestión y rendimiento". Addison-Wesley 1999, págs. 43-44. ISBN 0-201-43287-0.
- ↑ Kaner, Cem; Bach, James; Pettichord, Bret (2002). Lecciones aprendidas en pruebas de software . Wiley Computer Publishing . pág. 95. ISBN 0-471-08112-4.
- ↑ "Cómo: Configurar y ejecutar pruebas de verificación de compilación (BVT)" . Biblioteca MSDN para Visual Studio 2005. Consultado el 20 de noviembre de 2010 .
- ↑ 2013-03-20 ISTQB Terminologi for test av programvare, versjon 2.2 Glossary Working Party, International Software Testing Qualifications Board, Erik van Veenendaal (inglés), Ernst von Düring (noruego) "prueba de admisión: Un caso especial de prueba de humo para decidir si el componente o sistema está listo para pruebas más detalladas. Una prueba de admisión se realiza normalmente al inicio de la fase de ejecución de la prueba. Véase también prueba de humo."
- ↑ Samuel Menaker; Sheetal Guttigoli (14 de diciembre de 2014). Gestión del desarrollo de software . Samuel Menaker, Sheetal Guttigoli. pag. 40. LLAVE GG: JH61NP21TXJ.
- ↑ Revista PowerShell , DevOps, infraestructura como código y PowerShell DSC: Introducción, por Ravikanth C, 5 de enero de 2016
- ↑ Pezzè, Mauro; Young, Michal (2008). Pruebas y análisis de software: proceso, principios y técnicas . Wiley.
Las actividades de prueba que se centran en problemas de regresión se denominan pruebas de (no) regresión. Normalmente se omite "no".
- ↑ Basu, Anirban (2015). Software Quality Assurance, Testing and Metrics . PHI Learning. ISBN 978-81-203-5068-7.
- ↑ Nielsen, J. (1994). Ingeniería de usabilidad, Academic Press Inc, pág. 165
- ↑ Mejs, Monika (27-06-2019). "Pruebas de usabilidad: la clave para la validación del diseño" . Equipo Mood Up - empresa de software . Recuperado el 11-09-2019 .
- Pruebas de software