visual unitarias unit test studio pruebas ejemplo unit-testing user-interface selenium

unit-testing - unitarias - unit test c# visual studio 2017



¿Qué usas para probar tu UI web? (15)

Actualmente usamos Silk4J , un enfoque centrado en Java para probar la interfaz de usuario web. Puede probar Flash, Flex, AIR, Silver Light, Win32, HTML y algunas otras aplicaciones.

Dado que Silk4J puede controlar las aplicaciones de Win32, puede controlar los diálogos del navegador directamente, lo que es un paso por encima de lo que Selenium puede controlar y es especialmente útil para las solicitudes de descarga.

La compañía para la que estoy trabajando actualmente usa Selenium para Uniting-Testing nuestra interfaz de usuario. ¿Qué usa para probar la unidad de su IU web y qué tan efectiva la encuentra?


Bueno, si ha diseñado su aplicación correctamente, de todos modos no tendrá gran cantidad de lógica dentro de la UI. Tiene mucho más sentido separar el trabajo real que se realiza en unidades separadas de la IU, y luego probarlas.

Si lo hace, entonces el único código en la interfaz de usuario será el código que invoque el backend, por lo que simplemente probar el backend es suficiente.

He usado NUnit ASP en el pasado (en mi trabajo), y si insistes en probar tu UI unitariamente, te recomendaría usar CUALQUIER COSA pero NUnit ASP. Es un dolor trabajar con él, y las pruebas tienden a invalidarse (necesitan ser revisadas) incluso después de los cambios de IU más pequeños (incluso si los sujetos de las pruebas en realidad no cambian).


Echa un vistazo a la prueba web de Canoo . Es de código abierto y está basado en el marco ANT.

Pasé algún tiempo trabajando con él para un curso de postgrado en control de calidad de software y parece ser una herramienta de prueba bastante poderosa.


El selenio es para pruebas de integración, no para pruebas de unidades. Es una diferencia sutil, pero importante. El uso que suelo ver es para la cordura que controla una construcción. es decir, tener una prueba que inicie sesión, una prueba que (por ejemplo) envíe una historia, haga un comentario, etc.

La idea es que esté probando para ver si todo el sistema está trabajando en conjunto antes de la implementación, en lugar de que un usuario descubra que su sitio está dañado.


Estamos usando QuickTestPro. Hasta ahora es efectivo, pero la selección del navegador es limitada. La mejor parte es la capacidad de registrar la actividad de su navegador y convertirla en un conjunto de pasos configurable. También hay un buen complemento para .Net, por lo que si tiene que usar un código de validación para las diferentes etapas de la prueba, puede escribir métodos en un ensamblaje y llamarlos desde su secuencia de comandos.


He usado WATIR , que es bastante bueno. Me gustó porque es Ruby y permite probar la interactividad, los elementos disponibles y el análisis de código fuente. No lo he usado por un tiempo, pero supongo que ha mejorado.

Supuestamente está siendo portado a Firefox y Safari, pero eso ha estado sucediendo desde hace un tiempo.


Hemos estado usando JSunit por un tiempo para hacer pruebas unitarias ... puede que no sean los mismos tipos de pruebas de las que está hablando, pero es genial para garantizar que su JavaScript funcione como espera.

Lo ejecuta en el navegador y se puede configurar en una compilación Ant para que se ejecute automáticamente contra varios navegadores en un conjunto de plataformas de forma remota (para que pueda asegurarse de que su código sea entre navegadores y para garantizar que la lógica sea correcta) )

No creo que reemplace al Selenio, pero lo complementa bien.


Soy un gran fan de Selenium. Decir ''pruebas unitarias de su web ui'' no es exactamente exacto ya que algunos de los comentarios han mencionado. Sin embargo, creo que el Selenio es increíblemente útil para realizar ese tipo de pruebas de aceptación y cordura en la IU.

Una buena forma de comenzar es usar Selenium IDE como parte de su desarrollo. Es decir, simplemente abra el IDE mientras desarrolla y escriba su prueba a medida que avanza para reducir el tiempo de desarrollo. (En lugar de tener que pasar manualmente a través de la IU para llegar al punto en el que puedes probar lo que sea que estés trabajando, solo presiona un botón y Selenium IDE se encargará de eso. ¡Es un gran ahorro de tiempo!)

La mayoría de mis principales escenarios de casos de uso tienen pruebas de Selenium RC para respaldarlos. Realmente no se puede pensar en ellos como pruebas unitarias a lo largo de las líneas de un marco xUnit, pero son pruebas dirigidas a una funcionalidad muy específica. Son rápidos para escribir (especialmente si implementa métodos comunes para iniciar sesión o configurar sus casos de prueba), son rápidos de ejecutar y proporcionan un ciclo de retroalimentación muy ajustado. En esos sentidos, las pruebas de Selenium RC son muy similares a las pruebas unitarias.

Creo que, como todo lo demás, si se esfuerza por aprender correctamente una herramienta de prueba (p. Ej., Selenio), su esfuerzo dará sus frutos con creces. Menciona que su empresa ya usa Selenium para realizar pruebas de UI. Esto es genial. Trabaja con eso Si considera que el selenio es difícil de usar o confuso, quédese con él. La curva de aprendizaje realmente no es tan empinada una vez que aprendes la API un poco.

Si estoy trabajando en una aplicación web, es raro que escriba una cantidad significativa de código sin las pruebas de Selenium RC para respaldarlo. Así de efectivo es el Selenio. :) (Espero que eso responda tu pregunta ...)


Usamos WatiN para pruebas de sistema y QUnit para pruebas de unidades de JavaScript.


Usamos Selenium Core, pero estamos cambiando gradualmente a Selenium RC, que es mucho más agradable y fácil de administrar. Hemos escrito muchos códigos personalizados para que las pruebas se ejecuten en nuestros servidores de integración continua, algunos de ellos en suites paralelas para que se ejecuten más rápido.

Una cosa que encontrarás es que Selenium parece reiniciar el navegador para cada prueba (puedes configurarlo para que no lo haga, pero tuvimos problemas de memoria cuando lo hicimos). Esto puede ser lento en Firefox, pero no está mal en IE (una vez que estoy agradecido por la integración del sistema operativo de Bill Gates).


Usamos Visual Studio 2008 Tester Edition.

Pros: Muy bueno para capturar la interacción del usuario

Captura llamadas de Ajax

Es muy fácil asignar la entrada del usuario a una base de datos, archivo XML o CSV

La prueba capturada se puede convertir a C # para obtener más control

Las mismas pruebas se pueden usar para pruebas de carga y cobertura de código

Contras:

VS2008 Tester Edition es un SKU separado de la edición Developer Edition normal, lo que significa un costo adicional

Puede ser alérgico a Microsoft ;-)

Lo hemos utilizado de manera muy eficaz en proyectos, sin embargo, hay un gran esfuerzo en mantener las pruebas actualizadas, cada vez que cambia una pantalla, la prueba puede necesitar ser regrabada.

Tendemos a mantener las pruebas cortas y nítidas, hacer una cosa y salir en lugar de registrar 10 minutos de hacer clic en una sola prueba.

Tenemos algunos tipos de prueba de interfaz de usuario estándar:

Prueba de menú: inicie sesión como usuario específico (o tipo / rol de usuario) y asegúrese de que todos los elementos de menú necesarios estén disponibles.

Prueba de validación: abra una página y haga clic en guardar sin ingresar ningún dato, asegúrese de que aparezcan todas las advertencias de validación. Complete los campos obligatorios de uno en uno y verifique que los mensajes de advertencia desaparezcan cuando se supone que deben hacerlo.

Prueba de búsqueda: busque usando datos de su base de datos o un archivo de datos y asegúrese de que la búsqueda devuelva los datos correctos

Prueba de ingreso de datos: cree nuevos registros a partir de un archivo de datos, limpie la base de datos para permitir que las pruebas se ejecuten varias veces

Las pruebas de UI consumen mucho tiempo, pero la sensación de comodidad que se obtiene cuando pasan unos cientos de pruebas antes de lanzar una nueva versión no tiene precio.


Usamos Watin en mi lugar de trabajo, somos una tienda de .net por lo que esta solución tiene mucho sentido. De hecho, comenzamos con Watir (la implementación original de ruby) y cambiamos después. Ha sido una solución bastante buena para nosotros hasta ahora


Uso principalmente cubictest.openqa.org , que es un plugin de eclipse que te permite definir pruebas gráficamente. Puede exportar / ejecutar pruebas a través de varias bibliotecas, incluyendo watir y selenio. Sin embargo, la mayoría de la gente solo usa el Selenium runner.

Divulgación completa: soy uno de los desarrolladores, así que soy un poco parcial :)

Eche un vistazo más de cerca aquí: cubictest.openqa.org

-Erlend


Selenium Grid puede ejecutar sus pruebas web en varias máquinas en paralelo, lo que puede acelerar el proceso de prueba web


Molybdenum está construido sobre Selenio y tiene algunas características adicionales.