Do any of you have experience doing true BDD (or even TDD) using Microsoft's Test Manager or Coded UI Tests?
I am not very familiar with these tools as we have been using SpecFlow and WatiN for BDD. One team in our organization is proposing Test Manager but I fear they a开发者_开发百科re mistaking the ability to write tests with actually doing true BDD/TDD where you write a small test FIRST and THEN write the minimal code to pass the test.
The example they showed us was writing out a test case in Test Manager, firing up the UI and recording what the test does. Obviously, this is NOT BDD. Can true BDD be done with Test Manager?
Any thoughts are appreciated. Thanks, Will
Wow, almost a week and no responses. Can I take that to mean that NOBODY uses TestManager because it is a QA tool instead of a developers tool?
Test Manager and Coded UI Tests are more for functional tests. A test case in MTM does not describe the behaviour of the feature like specflow does. I guess you could be a little more generic with your wording in the test cases so you can write them before you write the code but this isn't really driven by the test case. BDD in specflow works because it generates stubs for each step which the developer can code against. To automate anything in MTM or CUIT you need to wait until after the developer finishes.
In saying that it is possible to use Specflow and CUIT together. Depending on how you define BDD (is the development driven by the behaviour specs?) its still not really BDD and its defiantly not TDD. Still these are just terms. They still have value together. If you interested in this i wrote a blog on how to get them working together. http://rburnham.wordpress.com/2011/03/15/bdd-ui-automation-with-specflow-and-coded-ui-tests/
I think you cannot use the Test Manager for that. As you have pointed out, it relies heavily on record&playback kind of workflow that makes it impossible.
If you use the Coded UI feature of MTM (which is the only alternative to run tests with assertions full automatically), you need to "duplicate" the test specification to code (with one-way generation), so it will be very hard to maintain the changes.
You can use Coded UI as a UI driver in any other BDD tools (e.g. SpecFlow) however to drive you app.
精彩评论