Agile Community

All About Agile | Agile Development Made Easy!

Hi. My first post in here! Hope all is well!

My team is about to kick off a new project and we are going to implement the Agile Methodology during the course of the project. I figure this place would be an appropriate place to ask questions. :)

We are working with an off-the-shelf product with a web ui component and a workflow. It is difficult for us to run unit testing on the workflow component because the product does not allow us to. We, however, are able to set up Web UI Testing to test the web components.

Just a bit of background before I continue. This project is, from the first day, will be running thin and we have a very ambitious 6 month deadline. I believe 12 months is borderlining realistic.

I would like to do an ROI analysis because I figure there would be overheads on maintaining the web ui testing components of the project. 6 months is not long for any project, so I was wondering if it would be beneficial to implement the web testing components, from scratch, for a project with such a short lifespan.

I'd also like to know who's role is it to maintain the web ui testing components? Developers usually look after unit testing - that is a given - but I believe web ui testing would better fit under functionality testing. I would think that a test-engineer role would be better suited than a developer.

And I'll conclude by asking whether you think Test Driven Development can be practically achieved using a web ui testing tool. It is traditionally done using unit testing components but I am not sure how it can be done with an off-the-shelf product.

Thanks so much. I hope you can help me out!

Tam

Views: 2

Reply to This

Replies to This Discussion

Hi Tam,

Personally I would assign the automated UI testing to a tester but they will need to collaborate very closely with the UI developers if you want to run it as part of TDD.

The discipline of TDD involves writing a test(s) that will initially fail prior to code development. On code completion of the story the test should then pass. However, this is quite tricky from a UI perspective as the targets, values etc which a GUI based automated test tool needs to hook into are not likely to be available at the time of putting the test together.

I would suggest that the tester analyses the story and prepares the structure of a test in draft format prior to the story being planned. For instance in Selenium they may write something like this:

Open
Type 'Hello World'
ClickAndWait (unknownSubmit button>
VerifyTitle

As the developer begins to code they will need to fill in the blanks but they will at least understand what the QA expects to be tested in order to satisfy the functional acceptance criteria. Prior to the story being considered complete (or before checking into a central repository) the developer should then run the 'passing' test against the story with the tester sitting besides them.

The tester can then take the entire test or part of the test to add to an automated regression test (and/or they may run as part of CI).

Hope this helps or gives you some food for thought.
Should have read:

Open (unknown URL)
Type 'Hello World'
ClickAndWait (unknownSubmit button>
VerifyTitle (unknown page title)

Developers then fill in the blanks as targets and values become known
Thanks for that, John :) You have made a good point about not having to refine the tests, or fill in the blanks, until the developer is closer to understanding the requirements of the form.

I will probably keep the UI testing to a minimum as I am more keen on testing whether the Workflow works, and whether the next screen displays what I expect it to. It is as close to unit testing as I can achieve. Also, as you mentioned, the tester can then detail the tests to test the UI components and components to enable regression testing.

RSS

© 2012   Created by Kelly Waters.

Badges  |  Report an Issue  |  Terms of Service