En el desarrollo de software , las pruebas funcionales son un proceso de garantía de calidad (QA) [1] y un tipo de prueba de caja negra que basa sus casos de prueba en las especificaciones del componente de software bajo prueba. Las funciones se prueban dándoles entrada y examinando la salida, y rara vez se considera la estructura interna del programa (a diferencia de las pruebas de caja blanca ). [2] Las pruebas de software funcional se llevan a cabo para evaluar el cumplimiento de un sistema o componente con requisitos funcionales específicos . [3] Las pruebas funcionales generalmente describen lo que hace el sistema.
Dado que las pruebas funcionales son un tipo de prueba de caja negra, la funcionalidad del software se puede probar sin conocer el funcionamiento interno del software. Esto significa que los evaluadores no necesitan conocer lenguajes de programación ni cómo se ha implementado el software. Esto, a su vez, podría conducir a una reducción del sesgo del desarrollador (o sesgo de confirmación ) en las pruebas, ya que el evaluador no ha participado en el desarrollo del software. [4]
Las pruebas funcionales no implican que esté probando una función (método) de su módulo o clase. Las pruebas funcionales prueban una parte de la funcionalidad de todo el sistema.
Las pruebas funcionales difieren de las pruebas del sistema en que las pruebas funcionales " verifican un programa comparándolo con... documentos de diseño o especificaciones", mientras que las pruebas del sistema " validan un programa comparándolo con el usuario publicado". o requisitos del sistema." [5] El concepto de incorporar pruebas en una fase más temprana del ciclo de entrega no se limita a las pruebas funcionales. [6]
Las pruebas funcionales tienen muchos tipos: [2]
Las pruebas funcionales suelen implicar seis pasos [ cita necesaria ]