i've been reading about ATDD (Acceptance Test Driven Developement) and BDD (Behavior Driven Developement) and i'm wondering if there's anyone here that is part of a team that uses these processes. a few things i'm not clear on.

* are these typically running UI automation? traditionally i think of UI automation as being for regression testing due to the inefficiencies of testing a UI that is subject to a high degree of change.

* i wasn't clear if the intent is to mimick TDD in running the tests before coding is finished or if (in the case of UI tests) the tests are not run until the UI portion is considered complete.

* one piece of the puzzle is linking tests to code so that the process allows for automatic running of appropriate tests when there are changes to the code. i'm not clear on how the tests are linked to the code. anyone have experience on this? for example, do you link tests to DLL's or other binaries, or do you link to classes or individual function calls? if the later, what tool do you use to automate the parsing of that information? in the case of an acceptance test, it could hit a lot of different code in different places. how is that handled in terms of linking?