Marco de pruebas unitarias de C++ automatizado multiplataforma para el desarrollo de GUI

¿Qué marco de pruebas unitarias debo elegir para el desarrollo de C++ multiplataforma?

Preferiblemente (en orden de requisitos):

  • facilitar la prueba repetida de los elementos de la interfaz de usuario en Qt (u otros marcos de GUI).
  • ser lo más simple posible para crear nuevas pruebas.
  • ser fácil de automatizar las pruebas durante todas las fases del ciclo de desarrollo (desde el interior hasta la GUI).
  • salida sus resultados en un lugar que está bien formateado o es fácil de formatear.
  • apoyar el paradigma de desarrollo guiado por pruebas.

Esta pregunta surgió mucho en las preguntas de desbordamiento de pila, pero ese es el foro equivocado para esta pregunta, y muchas de las respuestas en realidad no brindan ningún detalle sobre los marcos individuales.

Respuestas (2)

Parece que le preocupa principalmente probar los elementos de la GUI (hay muchos marcos de prueba para probar la ejecución, pero no tantos para la GUI).

Una solución multiplataforma para probar los elementos de la GUI es sikuli : es un marco de prueba de Python, pero dado que se basa en el reconocimiento de imágenes para las acciones de prueba y algunos resultados, también debería funcionar bien para probar las GUI basadas en C ++, solo tendría que compilar su marco de prueba o aplicación antes de comenzar las pruebas.

  • Libre
  • Plataforma cruzada
  • Utiliza el reconocimiento de imágenes para ubicar elementos para hacer clic, campos de entrada, etc.
  • Puede usar el reconocimiento de imágenes para confirmar acciones
  • No requiere acceso a elementos internos de la GUI, como identificadores de campo o ID de elementos.
Soy un gran admirador de Sikuli y ya lo uso. Si estaba buscando puramente pruebas de GUI, esta es mi preferencia. Por otro lado, hay partes internas que no necesitan tener un elemento GUI, pero todas las partes deben probarse. Me encantaría un marco de pruebas unitarias todo en uno. Buena sugerencia, sin embargo.
No conozco un solo buen marco de prueba que haga una buena prueba unitaria y una prueba de interfaz gráfica de usuario.

Es posible que desee consultar la herramienta Squish for Qt de nuestra empresa . Admite pruebas de aplicaciones Qt desde 2003 y reconoce elementos QWidgets y QtQuick. En todas las plataformas en las que se ejecuta Qt.

Las interacciones basadas en imágenes también son posibles. Pero nada supera el conocimiento de tipos de control específicos integrados en una herramienta de prueba a priori.

Los informes están disponibles en formato HTML, XML, JSON o Excel.

Si está buscando pruebas de GUI basadas en pruebas, le sugiero que eche un vistazo a BDD .