unitarias software pruebas para herramientas funcionales ejemplos automatizadas c++ c testing system-testing

software - ¿Marco de prueba para pruebas funcionales/del sistema para C/C++?



pruebas automatizadas selenium (3)

A continuación, menciono un par de herramientas y aplicaciones de prueba más grandes de las que tengo conocimiento. Si proporciona más información en su plataforma (sistema operativo, etc.) probablemente podamos proporcionar mejores respuestas.

Por parte de lo que necesita, Microsoft proporciona el Verificador de aplicación :

Application Verifier (AppVerifier) ​​es una herramienta de verificación de tiempo de ejecución utilizada para probar aplicaciones para compatibilidad con Microsoft Windows XP. Esta herramienta se puede utilizar para probar una amplia variedad de problemas de compatibilidad conocidos mientras se ejecuta la aplicación. Este artículo detalla los pasos para usar AppVerifier como una adición efectiva al desarrollo de aplicaciones y ciclos de prueba.

Application Verifier puede ser útil para probar condiciones de poca memoria, otros recursos bajos y otros usos de API.

Otra parte del rompecabezas es el paquete Microsoft Detours, que se puede utilizar para reemplazar las llamadas API con su propio código (útil, por ejemplo, para devolver códigos de error para pruebas que son difíciles de configurar).

Detours es una biblioteca para instrumentar funciones Win32 arbitrarias en máquinas x86, x64 e IA64. Desvíos intercepta las funciones de Win32 volviendo a escribir el código en memoria para las funciones de destino. El paquete Detours también contiene utilidades para adjuntar DLL arbitrarios y segmentos de datos (llamados cargas útiles) a cualquier binario de Win32.

Hay otros paquetes integrales más grandes (y más caros) disponibles también. Borland hace Seda .
El software automatizado hace TestComplete . La selección de una de estas herramientas correspondería a sus necesidades para sus aplicaciones.
IBM / Rational proporciona el Rational Functional Tester , que está disponible en muchas plataformas y ofrece muchas funciones.

Para C ++, existen muchos buenos marcos de pruebas unitarias, pero no pude encontrar uno bueno para las pruebas funcionales . Con las pruebas funcionales, me refiero a las cosas que tocan el disco, requiere que toda la aplicación esté en su lugar, etc.

Punto en caso: ¿Qué marco ayuda a probar cosas como si funciona su E / S? Tengo un sistema enrollado a mano, que crea carpetas temporales, copias de un montón de datos, por lo que las pruebas siempre se realizan en el mismo entorno, pero antes de dedicar más tiempo a mi marco personalizado, ¿hay algún problema? ¿Ya está bien?


Ya escribí uno desde cero tres veces, dos veces para probar aplicaciones C ++ que hablaban con intercambios utilizando el protocolo FIX, una vez para una aplicación GUI.

El problema es que debes emular el mundo exterior para hacer las pruebas del sistema adecuadas. No me refiero a "fuera de su código", fuera de su aplicación. Esto implica emular usuarios finales, entidades externas, Internet, etc.

Usualmente utilizo Perl para escribir mi sistema de prueba de sistema y pruebas, principalmente porque es bueno para acceder a todo tipo de instalaciones de sistema operativo y las expresiones regulares son ciudadanos de primera clase.

Algunos consejos: asegúrese de que sus registros sean fáciles de analizar, detallados pero no demasiado detallados. Tener una configuración sana por defecto. Facilite el "reinicio" de la aplicación; debe hacerlo después de cada prueba.

El enfoque que suelo usar es tener algún tipo de "adaptador" que convierta las comunicaciones de la aplicación con el mundo exterior en stdin / stdout de algún ejecutable. Luego construyo un marco perl además de eso, y luego los casos de prueba usan el marco.


Hola, no estoy seguro de si el marco que tenemos ayuda en su situación, pero se engancha en Rational Functional Tester y permite al usuario crear diversos conjuntos de datos para adjuntarlos a diferentes pruebas y cambiar los entornos sin cambiar los scripts y reutilizar la automatización en un forma eficiente. Eche un vistazo si le interesa: http://www.testpro.com.au/Test-Automation-Framework.html