¿Cuál es la mejor manera de probar la interfaz de usuario de una aplicación web?

¿Para qué estás probando?

Si desea verificar la usabilidad y la presentación visual de su sitio, eche un vistazo humano y bríndeles herramientas para revisar fácilmente las páginas que han cambiado para que puedan pasar su tiempo pensando en esas métricas subjetivas y no preocuparse por probar la funcionalidad básica.

Si desea probar el contenido de la página, debería poder hacerlo en las pruebas de vista como parte de cualquier backend que esté generando esas páginas.

Si desea probar que el comportamiento del sitio es funcionalmente correcto, entonces JavaScript es solo más código y debe seguir las mismas prácticas de prueba que, con suerte, usará en el resto de su software.
Debería escribir JavaScript que no esté estrechamente acoplado al DOM, la página en la que se presenta o cualquier otra cosa para que pueda escribir Jasmine (http://pivotal.github.com/jasmine/) o QUnit (http: // docs.jquery.com/QUnit) prueba de unidad para ello.
Si su aplicación une muchos componentes de JavaScript, entonces debería poder escribir pruebas de integración para verificar que funcionen juntas o interactúen con el DOM correctamente. Eche un vistazo a jasmine-headless-webkit (http://johnbintz.github.com/jasm…) como una forma de probar el código en un navegador al tiempo que puede ejecutar pruebas rápidamente desde la línea de comandos.
Si le preocupa el comportamiento específico del navegador, puede escribir algunas pruebas funcionales de alto nivel con Selenium. He encontrado que tales pruebas son frágiles, así que trataría de mantenerlas lo más simples posible y usarlas como pruebas de humo de alto nivel en lugar de hacer afirmaciones detalladas sobre el contenido o el comportamiento de la página.

Primero, no compararía los probadores manuales con la automatización. Son dos enfoques diferentes para un valor diferente. Si no se ve de esa manera, comienza a parecer que la automatización puede reemplazar a muchos probadores que realizan pruebas manuales. Ah, sí, si los humanos se despliegan para ser menos eficientes e imitar lo que los scripts pueden hacer para ejercer algunos aspectos funcionales e ignorar lo que le sucede al “usuario”.

En segundo lugar, para probar los aspectos funcionales del back end, tiene dos opciones. El obvio: probar desde el nivel de la interfaz de usuario. Se supone que es obvio: probar a través de API. Ambos enfoques se complementan entre sí. Solo porque algo funciona desde la interfaz de usuario, no nos ayuda a conjeturar que se logra la cobertura de prueba funcional necesaria.

En tercer lugar, si desea probar el lado del cliente, no el servidor o el servidor, no puede hacerlo solo con la automatización. Tenga en cuenta que a los usuarios no les importa si una funcionalidad funciona o no, les importa si sus problemas se resuelven utilizando su sitio web. No importa cuán increíbles sean las pruebas que realice con las mejores herramientas disponibles en el mundo, los usuarios no están impresionados a menos que LO SANGRE QUE ESTÁN UTILIZANDO (lo que llamamos software) resuelva sus problemas sin crear nuevos.

En nuestra experiencia reciente, hemos utilizado una combinación de automatización de pruebas API, Sahi, Selenium y humanos para ayudarnos a llegar a una cobertura que es crítica para determinar la estabilidad funcional. Los humanos se centraron en las pruebas exploratorias de la aplicación, centrándose en la experiencia del usuario (usuarios reales, sin pretender ser uno), negocios, hoja de ruta, reclamos, relevancia del mercado, redes sociales, competitividad, pruebas en diversos contextos, mientras que SAHI, Selenium y SOAP UI La automatización también estaba ayudando a los desarrolladores a obtener retroalimentación rápida y completar la tubería de Entrega Continua que nuestro cliente creía.

Ah, por cierto, ¿pediste la mejor manera? La mejor manera es averiguar qué se adapta a su contexto y seguir refinándolo.

Existe otra solución automatizada para las pruebas de IU web: Screenster. Es capaz de probar fácilmente CSS de varios tipos de interfaz de usuario web, incluidas aplicaciones complejas basadas en AJAX. Las ventajas de Screenster son:

Línea de base visual: se capturan capturas de pantalla para cada paso del usuario durante la grabación de prueba

Comparación basada en capturas de pantalla: Screenster compara las imágenes capturadas durante una reproducción con las de la línea de base y resalta todas las diferencias

Selectores CSS inteligentes: el probador puede seleccionar elementos CSS en las capturas de pantalla y realizar acciones con ellos, por ejemplo, marcarlos como regiones ignoradas para excluirlas de una comparación adicional

Opciones avanzadas de mantenimiento de pruebas: es posible agregar o eliminar pasos, modificar acciones en cada paso, anular pruebas con nuevos parámetros, etc.

Screenster está disponible para descarga gratuita o puede probarse en su servidor de demostración.

Si está modificando mucho la aplicación y desea verificar repetidamente que la creación del usuario funciona correctamente, vaya con la automatización. Use una herramienta como Sahi ( http://sahi.co.in ) que registrará su interacción con el navegador y logrará el 50-60% de su trabajo (dependiendo de lo complejo que sea su sitio web). Luego verifique qué necesita ser parametrizado y modifíquelo en consecuencia. Puede dejar que el usuario de su empresa lo guíe a través del escenario para que grabe la secuencia de comandos con ellos, pero en el proceso, comprenda el flujo también para que pueda modificar la secuencia de comandos. Los guiones Sahi no son tan frágiles como Selenium.

Esto depende de su estado de aplicación web. Si su aplicación es nueva o recientemente desarrollada, le sugiero que realice pruebas manuales para verificar la creación del usuario. Puede automatizar los flujos y enlaces de la página a través de selenio y también usar alguna herramienta si desea consultar su sitio web en diferentes navegadores.

Pero si su aplicación está en un nivel estable y ya pasó por varios cambios, puede automatizar el proceso usando selenio o QTP. Esta automatización lo ayudará a verificar el enlace, el contenido de la página y los flujos, así como también puede escribir sus propios scripts para verificar el sitio web en diferentes navegadores.

Una de las mejores formas de probar la interfaz de usuario (UI) de cualquier aplicación web es utilizar una herramienta de automatización de prueba buena y confiable. Algunas de las buenas herramientas automatizadas de prueba de software utilizadas para el mismo son Selenium, TestingWhiz, Test Complete, etc. Entre estas herramientas, he estado usando TestingWhiz durante los últimos 3 años y encontré esta herramienta como una de las herramientas más fáciles de usar. Esto se debe a su función de secuencias de comandos sin código.

TestingWhiz proporciona una solución de prueba de automatización de la interfaz de usuario que lo ayuda a verificar y validar los componentes de la interfaz de usuario de diferentes interfaces web para garantizar que no haya desviaciones en los resultados de las experiencias e interacciones de los usuarios esperadas. Para mayor claridad, puede descargar su versión Enterprise gratuita desde su sitio web.

Si está buscando herramientas de nivel empresarial para probar la interfaz de usuario de una aplicación web AJAX, debe considerar Parasoft SOAtest: pruebas de API, pruebas en la nube, pruebas SOA

Puede ver soluciones para probar la interfaz de usuario de una aplicación web en IT Central Station. Dos de las soluciones más populares según nuestra comunidad son Parasoft SOA y SoapUI. Puede ver una comparación de estas dos soluciones, junto con reseñas de usuarios reales aquí:

Parasoft SOAtest vs SoapUI NG Pro

Puede ver reseñas de usuarios para todas las soluciones de prueba funcional de los miembros de nuestra comunidad aquí:

Las mejores soluciones de herramientas de prueba funcional

En este momento, la mejor combinación es Cucumber [1] + Capybara-webkit [2]. Es una solución de rubí puro, por lo que debe tener rubyist para la configuración. Puedes probar lo que quieras.

Los escenarios de pepino son legibles (se pueden escribir después) mientras que los empresarios.

[1] http://cukes.info/
[2] https://github.com/thoughtbot/ca

Si desea automatizar sus pruebas, le sugiero que considere TestingWhiz. Es una herramienta automatizada para pruebas de interfaz de usuario web , pruebas de bases de datos, pruebas de Big Data, pruebas funcionales, etc., y también es parcialmente sin código, por lo que resulta más fácil para cualquier probador usar y automatizar las pruebas manuales y también puede realizar múltiples tareas.

Si desea ver más características de TestingWhiz, visite el software automatizado de interfaz de usuario web, regresión y pruebas de bases de datos

Si desea tener una demostración gratuita de software, todo lo que necesita hacer es enviarme un mensaje a [correo electrónico protegido] . Lo programaré según su disponibilidad.

¿Qué es el selenio? Descripción general de los componentes de selenio

Qué es Selenium: Selenium es un conjunto de pruebas automatizadas gratuitas (de código abierto) para aplicaciones web en diferentes navegadores y plataformas. Es bastante similar a HP Quick Test pro (QTP) Solo que el selenio se enfoca en automatizar aplicaciones basadas en web.
Selenium no es solo una herramienta única, sino un conjunto de software, cada uno de los cuales satisface las diferentes necesidades de prueba de una organización.
Tiene cuatro componentes:
► Entorno de desarrollo integrado de selenio (IDE)
► Control remoto de selenio (RC)
► Selenium Webdriver
► rejilla de selenio

Sugeriría ir a la herramienta Code Less Test Automation como TestingWhiz http://www.testing-whiz.com/ , que le permite probar funcionalidades, servicios web y bases de datos para aplicaciones web, móviles y en la nube. y tales herramientas tienen una curva de aprendizaje más corta y proporcionan soluciones listas para usar, en términos de ahorro de tiempo, costo y mayor precisión.
Puede probar con su versión de prueba gratuita o la versión comunitaria gratuita de por vida.

Incluso los no codificadores como yo pueden usar y obtener mejores resultados, por lo que obviamente será genial para ustedes.

Si es la primera vez que prueba esa interfaz de usuario, iría a una prueba manual y luego construiría un conjunto de pruebas de regresión usando Selenium WebDriver + Python