2008-08-11 12 views

Respuesta

9

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

2

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).

3

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.

5

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).

3

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.

2

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.

2

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.

2

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

2

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

1

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.

16

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 ...)

3

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.

0

Usamos WatiN para las pruebas del sistema, y ​​QUnit para las pruebas de unidades de JavaScript.

0

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

1

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.

Cuestiones relacionadas