La compañía para la que estoy trabajando está usando Selenium para unir y probar nuestra interfaz de usuario. ¿Qué usa para probar la unidad de su IU web y qué tan efectiva la encuentra?¿Qué usa para probar la unidad de su IU web?
Respuesta
Usamos Watin en mi lugar de trabajo, somos una tienda .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. Hasta ahora ha sido una solución bastante buena
Utilizamos 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).
Estamos utilizando 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.
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 invoca el servidor, por lo que simplemente probar el backend es suficiente.
he utilizado NUnit ASP en el pasado (en mi trabajo), y si usted insiste en la unidad de pruebas de la interfaz de usuario, aconsejaría encarecidamente que utilice cualquier cosa menos 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).
Hemos estado usando JSunit por un tiempo para hacer pruebas unitarias ... puede que no sean del mismo tipo de pruebas de las que está hablando, pero es genial para asegurarse de 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 asegurarse de que su código sea un navegador cruzado y garantizar la lógica es correcta).
No creo que reemplace a Selenium, pero lo complementa bien.
He usado WATIR, lo cual 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.
Echa un vistazo Canoo Web Test. 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.
Selenium Grid puede ejecutar las pruebas web a través de múltiples máquinas en paralelo, lo que puede acelerar el proceso de prueba Web
Yo sobre todo utilizar CubicTest, que es un plugin de Eclipse que permite definir gráficamente las pruebas. 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.
La revelación completa: Soy uno de los desarrolladores, por lo que estoy un poco sesgada :)
DE CERCA aquí: cubictest.openqa.org
-Erlend
El selenio es para pruebas de integración , no pruebas unitarias 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 hacer que un usuario descubra que tu sitio está roto.
Soy un gran admirador 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 manera de comenzar es utilizando 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, simplemente 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 para pruebas unitarias.
Creo que, como todo lo demás, si se esfuerza por aprender correctamente una herramienta de prueba (por ejemplo, Selenio), su esfuerzo se verá recompensado 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. :) (Esperemos que eso responda a su pregunta ...)
Usamos Visual Studio 2008 Tester Edition.
Pros: muy bueno en la captura interacción del usuario
Captura llamadas Ajax
Es muy fácil para mapear la entrada del usuario a una base de datos, XML o CSV
La prueba capturado puede se convierta en C# para obtener más control
Las mismas pruebas se pueden utilizar para la prueba de carga y la cobertura del código
Contras:
VS2008 Tester Edition es una SKU separado de la edición para desarrolladores normal, lo que significa un costo adicional
Usted puede ser alérgico a Microsoft ;-)
Lo hemos utilizado muy efectivamente en proyectos, sin embargo, hay una gran cantidad de esfuerzo que supone mantener las pruebas hasta la fecha, cada vez que cambia una pantalla de la prueba puede ser necesario volver a grabar
Tenemos la tendencia a mantener las pruebas a corto y agudo, hacer una cosa y salir en lugar de grabar 10 minutos de hacer clic en una sola prueba.
Tenemos algunos tipos de pruebas de interfaz de usuario estándar:
Prueba de Menú: la sesión como un usuario específico (o tipo de usuario/papel) y asegúrese de que todos los elementos de menú necesarias 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.
búsqueda de prueba: búsqueda utilizando los datos de su base de datos o un archivo de datos y asegurar la información correcta, es devuelto por la búsqueda
Data Entry Test: crear nuevas recrords de un archivo de datos, limpieza de la base de datos para permitir que las pruebas se ejecuten varias veces
Las pruebas de interfaz de usuario 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.
Molybdenum está construido sobre Selenium y tiene algunas características adicionales.
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.
Desde Silk4J puede controlar aplicaciones Win32 que puede controlar directamente los cuadros de diálogo del navegador, que es un paso por encima de lo que se puede controlar selenio y es especialmente útil para los mensajes de descarga.
- 1. ¿Cómo probar la unidad de su API?
- 2. Método de prueba de unidad que usa controles de IU
- 3. Usa Scala para probar la unidad de Java?
- 4. ¿Qué se usa para probar el css de mano en su sitio web?
- 5. ¿Qué se usa para probar el código C de la unidad?
- 6. ¿Qué debo hacer para probar esta unidad?
- 7. ¿Cómo probar la unidad?
- 8. ¿Cómo se usa la inyección de resorte para probar la unidad de un controlador?
- 9. Cómo probar el código de unidad que usa HostingEnvironment.MapPath
- 10. Usar Clojure para probar la unidad Java
- 11. ¿Qué unidad de medida usa Paint.setStrokeWidth()?
- 12. ¿Cómo probar la unidad NSCoding?
- 13. ¿Qué unidad de medida usa Paint.setTextSize (float)?
- 14. Cómo probar la unidad de análisis JSON
- 15. ¿Por qué se usa XML para la creación de diseños de IU en Android?
- 16. ¿Qué prueba con las pruebas de su unidad?
- 17. SQL Server para probar en la web
- 18. ¿Qué métodos de prueba usa para desarrollar sitios web?
- 19. Cómo probar las subclases de la unidad
- 20. ¿Cuál es su enfoque para probar aplicaciones de iPhone/iPad?
- 21. ¿Cómo probar la unidad de una clase que usa HttpClient en Android utilizando el marco integrado?
- 22. ¿Qué usa para proteger su código .NET de ingeniería inversa?
- 23. ¿Qué herramientas usa su equipo para escribir manuales de usuario?
- 24. ¿Cómo puedo probar la unidad de mi controlador ASP.NET MVC que usa FormsAuthentication?
- 25. Cómo probar la unidad HtmlHelper con Moq?
- 26. Consejo de prueba de la unidad: cómo probar la unidad .asmx
- 27. ¿Cómo puedo probar la unidad GC?
- 28. ¿Cómo puedo probar la unidad? ¿Es descartable?
- 29. Cómo probar la lógica de la unidad en jsp?
- 30. Cómo simular DataReader para probar la unidad DAL