# What naming conventions do you use in testing for your simulators/mocks/stubs/test doubles/service virtualization/...?

**URL:** <https://club.ministryoftesting.com/t/what-naming-conventions-do-you-use-in-testing-for-your-simulators-mocks-stubs-test-doubles-service-virtualization/10754>\
**Category:** Archive\
**Tags:** api-testing\
**Created:** [7 October 2017 12:41 UTC](https://club.ministryoftesting.com/t/what-naming-conventions-do-you-use-in-testing-for-your-simulators-mocks-stubs-test-doubles-service-virtualization/10754 "2017-10-07T12:41:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![wojciech](https://sea2.discourse-cdn.com/flex020/user_avatar/club.ministryoftesting.com/wojciech/32/319_2.png) [@wojciech](https://club.ministryoftesting.com/u/wojciech)\
**Post date:** [7 October 2017 12:41 UTC](https://club.ministryoftesting.com/t/what-naming-conventions-do-you-use-in-testing-for-your-simulators-mocks-stubs-test-doubles-service-virtualization/10754/1 "2017-10-07T12:41:41Z")

</div>

There are many tools that implement test doubles that are used by developers and testers.  
Just to name a few that I have in mind and give you more context:

- Charles Proxy
- Hoverfly
- Mountebank
- SoapUI MockServer
- Traffic Parrot
- Wiremock
- CA Lisa
- [and many more](http://blog.trafficparrot.com/2016/08/service-virtualization-and-stubbing.html)

The vendors and people using those tools call them names like:

- service virtualization
- over the wire test doubles
- api mock
- api simulation
- stub
- mock  
and many more.

Please help me by answering these 3 questions:

- What names do you use or know to call those tools?
- What names make the most sense to you?
- What names make the least sense to you?

Any help would be greatly appreciated!

---

<div class="post-metadata">

**Author:** ![heather\_reid](https://sea2.discourse-cdn.com/flex020/user_avatar/club.ministryoftesting.com/heather_reid/32/29_2.png) [@heather\_reid](https://club.ministryoftesting.com/u/heather_reid)\
**Post date:** [9 October 2017 16:50 UTC](https://club.ministryoftesting.com/t/what-naming-conventions-do-you-use-in-testing-for-your-simulators-mocks-stubs-test-doubles-service-virtualization/10754/2 "2017-10-09T16:50:35Z")

</div>



---

<div class="post-metadata">

**Author:** ![geoff](https://sea2.discourse-cdn.com/flex020/user_avatar/club.ministryoftesting.com/geoff/32/1903_2.png) [@geoff](https://club.ministryoftesting.com/u/geoff)\
**Post date:** [11 October 2017 03:33 UTC](https://club.ministryoftesting.com/t/what-naming-conventions-do-you-use-in-testing-for-your-simulators-mocks-stubs-test-doubles-service-virtualization/10754/3 "2017-10-11T03:33:00Z")

</div>

My convention is:

- Null - implementation replacement that does nothing. eg /dev/null is a replacement for stdout
- Stub - small as possible replacement when a Null version will not do
- Mock - replacement that can be controlled to have explicit behaviour and verify interactions
- Simulator - may have some behaviour to try and emulate parts of the thing it’s replacing

And also

- Spy - Acts as a bridge to the real thing (or replacement) but observes all the data
