I'm available to be Hired ! Please feel free to download my CV and share with others:
http://dcin.com.ar/daniel_ceillan.pdf
En mi particular, enfoco las pruebas de aceptación en
documentos que apoya al usuario requirente del sistema para el
uso del mismo, garantizando la ejecución de los flujos esenciales con datos probables de su elección.
--
Has recibido este mensaje porque estás suscrito al grupo "agile-spain" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a agile...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a agile-spain...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/agile-spain?hl=es.
Te respondo justito debajo del párrafo en el que creo que puedo aportar
algo.
On Tue, 2012-01-10 at 07:20 -0800, Oscar wrote:
> Hola Carlos,
>
> Gracias por tu respuesta.
>
> Estoy de acuerdo en q los tests con Selenium son muy fragiles, pero
> hay formas de conseguir evitar esto. Los veo muy muy fragiles cuando
> usas selenium grabando los tests con el plugin del nvegador, ademas de
> q es muy limitado. Tambien los veo fragiles cuando usas Selenium
> Remote Control, y te creas tus propios scripts "a pelo" llamando a los
> metodos de la selenium API en el lenguaje correspondiente (nosotros
> usamos ruby y rspec). Deja de ser tan fragil cuando implementas tus
> tests siguiendo el Page Object Pattern o defines "activities" (http://
> gojko.net/2009/10/06/putting-selenium-in-the-right-place/), o cuando
> extraes toda la complejidad del lenguaje, selenium, XPATH, ids, etc
> fuera de los tests y lo pones todo debajo de una API o DSL interna q
> es lo q nosotros tuvimos que hacer. Quiero decir, q si, escribir
> Selenium tests sin cuidado se puede convertir en algo muy fragil y
> dificil de mantener muy facilmente, pero usado adecuadamente no tiene
> por que.
>
> Cuando dices "Los criterios de aceptación no
> deben llevar información sobre cómo se usa la aplicación sino sobre
> qué tiene que hacer, con lo cual no precisais entrar por la UI. " No
> entiendo muy bien lo que quieres decir. Como puedes escribir un tests
> de aceptacion de usuario de un sistema q tiene una interfaz web, sin
> testear desde la UI?
Yo creo que lo que quiere decir Carlos es que pongas la atención en la
acción y no en el cómo se lleva a cabo esa acción. Con un ejemplo lo
verás más claro :)
Vamos a suponer el hacer login en una aplicación, para ello:
* QUÉ: Es la acción a realizar, que es entrar al sistema
* CÓMO: Es el cómo se lleva a cabo esa acción, que será rellenar el
nombre de usuario, la contraseña y enviar el formulario.
La idea clave creo que está en el lenguaje, cuanto más cercano al dueño
de producto (o sucedáneo) más fácil será poder escribirlos y
mantenerlos, para ello trata de referirte a este paso como la
abstracción "entrar al sistema" y si utilizas una herramienta tipo
Cucumber (supongo que otras te permitirán esto también) puedes
reutilizar los pasos e ir variando la implementación si lo necesitas,
pero la abstracción prevalece.
Finalmente supongo que lo conocerás, pero puedes encontrar estas cosas
en el "Specification by Example" de Gojko Adzic.
Espero haber ayudado.
Néstor