Usamos el SAFS framework para Rational Robot (RRAFS).También hay implementaciones de SAFS para WinRunner (WRAFS) y parece que tienen una nueva implementación de "Prueba basada en imágenes", con la que no estoy familiarizado.
Este marco hace un buen trabajo al separar la implementación de la interfaz de usuario de los scripts de prueba. Probé cuatro lanzamientos de una aplicación web desarrollada por dos equipos diferentes (un equipo que usa ASP clásico y otro que usa ASP.NET) y solo tuve que cambiar el mapa de aplicaciones de mis objetos de interfaz de usuario, las pruebas en sí mismas no necesitaban cambio.
Dicho esto, el lenguaje de la estructura es engorroso y le lleva tiempo acostumbrarse. No es muy robusto, en términos de construcciones de lenguaje, pero con un poco de esfuerzo puede hacer lo que necesite. Es algo así como la "programación" en el lenguaje de lotes de Windows, pero para las pruebas;)
Para hacer frente a sus necesidades individuales arriba:
1) La herramienta tiene que trabajar con MFC (no negociables). El marco SAFS utiliza una herramienta de "grabación de reproducción" de terceros para conducir las pruebas, como Rational Robot o Mercury WinRunner. Si esa herramienta puede interactuar con aplicaciones MFC, entonces el marco puede. No sé cómo la implementación de "Pruebas basadas en imágenes" conduce las pruebas, pero supongo que también puede funcionar con MFC.
2) ser automatizado. El marco SAFS se integra con el STAF framework, que le permitirá automatizar la ejecución de sus pruebas. Tengo una prueba de concepto de prueba que usa STAF para iniciar una imagen de máquina virtual desde un grupo de imágenes, instalar la aplicación bajo prueba, ejecutar la prueba RRAFS y colocar los resultados en un servidor web para que otros puedan acceder.
3) scriptable. Sí, pero como se mencionó, no es el lenguaje de programación más robusto. Escribí un complemento de Excel que nuestros evaluadores usan para escribir sus pruebas que simplifica un poco las cosas.
4) funcionan con diferentes resoluciones de pantalla automáticamente. Sí, ya que se ve "debajo de las sábanas" en los objetos de la interfaz de usuario y no en la pantalla. Excepto quizás la opción "basada en imágenes de Pruebas" ...
5) poder 'espía' en las cajas de texto estáticos individuales, etc. sí, se puede esperar a que aparezca un objeto de interfaz de usuario, disapper , para tener un valor, para un valor que se va a cambiar, etc.
6) lo suficientemente intuitivo para que los programadores no puedan crear las secuencias de comandos. Con un poco de entrenamiento. Hemos tenido un éxito limitado. Algunas personas de QA pueden escribir las pruebas, algunas luchan.
7) tienen herramientas de informes, incluido el correo electrónico de usuarios individuales. Sí, utilizando el marco STAF puede publicar resultados en un servidor web, enviar correos electrónicos, etc.
Lea lo que se refiere a pruebas unitarias, comparaciones visuales y pruebas de interfaz de usuario del navegador. Esto es para un producto de escritorio. –