Mock Objects for Testing – Test Automation Engineer Perspective

qatesting

How often QA engineers are responsible for developing Mock Objects for Unit Testing. So dealing with Mock Objects is just developer job ?. The reason i ask is i'm interested in QA as my career and am learning tools like JUnit , TestNG and couple of frameworks. I just want to know until what level of unit testing is done by developer and from what point QA engineer takes over testing for better test coverage ?

Thanks

Edit : Based on the answers below am providing more details about what QA i was referring to . I'm interested in more of Test Automation rather than simple QA involved in record and play of script. So Test Automation engineers are responsible for developing frameworks ? or do they have a team of developers dedicated in Framework development ?
Yes i was asking about usage of Mock Objects for testing from Test Automation engineer perspective.

Best Answer

Hey.
First question: do you want to use xUnit frameworks, mock frameworks, and write code?

If not, don't bother. 90% of jobs for testers doesn't include writing code, so if it is not something you are looking for, you can skip this set of knowledge.

On the other hand if you like writing code, somehow you don't think about being developer, there is possibility to work on test automation which will require coding skills. Particular programming language will depend on the toll/application stack but you will be required to write code.

As for xUnit frameworks, probably you won't write unit test (as mentioned dev job), but it is possible you will be using them as runner for your tests. For example Selenium that was mentioned here doesn't require coding skills if you use SeleniumIDE which is only one of products. If you use SeleniumCore - than you are using api that wraps around browser. In this case you write code that will perform tests on given application. And if you put this code into xUnit framework you will have runner, reports with it.

As for mock objects you will be using them in very rare situations. Maybe when you will be building automation framework for your app. But depending on the approach you can skip it.

EDIT As per new answers and edit of the main question. I agree with c_maker - you probably won't be writing unit tests for application code, but it is possible to write unit tests for your automation framework software is software iven if it is software testing other software. Here again as c_maker said, if you wrote gui level tests with selenium using Selenium - those are acceptance tests not unit tests.
Anyway check following links so you will now how work of test automation engineer may look:
- Quick overview
- Bigger explanation
- Inspiration for all above and few pdf describing it

Related Topic