This is something that must be somewhere on the net, but I couldn't find.
I have used Watir for some scripts, small things. But I think that could be very nice to use it at work as an integral part of the development and testing cycle. So I want to know about the best practices and usual methodology for Watir for development and/or testing teams. One of my main concerns is: if the testing team builds the Watir tests, they have to know deep details of the web page implementation? That's something I would like to avoid.
As couldn't find information about it, I've thinking and came up with a little plan. I would be very grateful about any feedback about it.
We work mostly with CRUDs or CRUD-like web pages, so this could be a generic work flow:
* The developer finish a web page.
* He builds a set of Watir functions that only covers the Create, Restore, Update, Delete functionality (if applies) and little more. For example, "addPerson(personId, organisationId)".
* Then the testing team build the integration tests using this "high level" functions. Something like:
organisationId = createOrganisation(...)
personId = createPerson(...)
addPerson(organisationId, personId)
I see several advantages with this approach (that maybe is what everybody is doing):
* The developers and testers get some useful functions to work with. Very practical to setup some testing data for unit or other tests.
* If you have the functions, there was _at least_ a basic unit testing. This shouldn't be a big advantage... but at some teams it is
* The testers don't have to know how the web page was implemented.
* The maintenance of the test cases should be pretty straight forward: every time you change a web page, you now quite easily which functions you should update. The integration tests will be also pretty easy to find and even easier to fix.
Again, any feedback or advice is more than welcome.
Thanks in advance,
Jorge
(sorry about my English)