Talk:Service virtualization

Reliable sources
Per Wikipedia guidelines (Identifying reliable sources), I've been trying to edit this page to focus on "reliable, third-party, published sources with a reputation for fact-checking and accuracy", not content self-published by tool vendors. Swtechwr (talk) 16:30, 9 September 2014 (UTC)

Delimitation from mocking
How is "service virtualization" different from mocking. Is the only difference that of being a "service"?--Methossant (talk) 20:49, 19 November 2013 (UTC)

Service Virtualization is widely recognized across the industry as being different than mocking. For example, see analyst reports (Gartner, Forrester, IDC, Bloor, etc.) and industry publications (SD Times, Dr. Dobb’s Journal, STC Crosstalk, Information Week, ZD Net, Tech arget, etc. Some specific discussions focused on this issue include http://www.infoq.com/news/2013/04/Service-Virtualization, http://stackoverflow.com/questions/12055654/stubs-mocks-vs-service-virtualization-yikes, http://vimeopro.com/itko/itko-ca-lisa-videos/page/4. The distinction is also covered within books such as Service Virtualization for Dummies and Service Virtualization: Reality is Overrated. — Preceding unsigned comment added by Softwareqa (talk • contribs) 17:36, 27 February 2014 (UTC)


 * Softwareqa edits like a marketing person from parasoft would do :) terms are mixed up (emulate with simulate for example). this is one of the lowest quality articles i saw in wikipedia. imo we should merge it to somewhere, or delete it completely. candidates for merging: mock object, test double, test stub. just one reference i saw from one of the "widely known industry", IBM, talking about service stubs. mock objects itself is not clean, the earliest referenc i heard up to now was mock turtle soup, and mock turtle, and mock was in software engineering well before somebody used the term mock object. --ThurnerRupert (talk) 08:03, 1 March 2014 (UTC)

Speaking as an SQA professional, the industry considers "mock" to be synonymous with this technique. See, for example, WireMock. The sources (which do not seem to be very WP:RS to me) create their distinction by using a very specific, developer-oriented, and outdated definition of "mock" that is only relevant at the method unit test level.

If someone can find a source for "Service virtualization" that doesn't involve a mention of CA Technologies, that would be telling. That is to say, I'm pretty sure that "service virtualization" is a term only used by CA to advertise (and disingenuously differentiate) their products from the current industry definitions. It works on CIOs and non-technical MMs, but not on technical staff. - Keith D. Tyler &para; 21:34, 9 August 2017 (UTC)


 * It's certainly a real term that doesn't just describe CA - any content problems in the article notwithstanding. I'll poke to see if I can find some good WP:RS to help flesh it out. Here's a reasonable explanation in this InfoQ article. CodeCurmudgeon (talk) 21:48, 9 August 2017 (UTC)


 * one good source for the difference between this and mocks is the voke report - behind paid firewall unfortunately.
 * "one of the most common barriers to service virtualization adoption is the confusion between stubbing/mocking and service virtualization. It is common to see developers resist service virtualization use because they believe that this type of work is already achieved through stubbing and mocking."
 * and
 * "From a testing perspective, stubs and mocks make the test suite ignore unavailable components. In doing so, vital components are left out of testing and may not be tested in the aggregate until a final end-to-end test prior to going live"
 * and
 * "Service virtualization, unlike stubbing and mocking, allows for a “stateful” component. A stateful component means that the virtualized asset is capable of storing the interaction and triggering the interaction with other components or virtualized assets." etc.
 * from CodeCurmudgeon (talk) 23:12, 9 August 2017 (UTC)


 * Looks like the term service virtualizaiton has started to be recognised by developers and testers recently outside the CA/Parasoft/IBM/Tricentis marketing circle. For example Brandon Byars in "Testing Microservices with Mountebank" stared using it "Service virtualization is nothing more than test doubles that operate over the wire" and wiremock "Some might consider it a service virtualization tool or a mock server.". Still, looks like people do not like the name "I hate the term service virtualization. I spent years thinking it meant copying your services into a VMWare image." Tom Akehurst from WireMock. "The name service virtualization does not help. Most people I talk to have no clue, but after 2 minutes they get it. They are probably doing it already with some servlet. The name is too enterprise-like." Benji from Hoverfly. Looks like people are aware of the name, but do not think it resonates well with specialists like developers and testers. The open source tool vendors use names like API mock, API simulation and over-the-wire test double. From the article |article already quoted above and what I have already mentioned above looks like "service virtualization" is a commercial vendor's name of choice for an "over the wire test double". I have started updating the test double article to reflect that. Let me know your thoughts. Wojtek-tp (talk) 15:40, 7 December 2017 (UTC)


 * It seems to me then that it defines a distinction between levels of complexity of what I would have just called mocking. Perhaps I would have divided it into "smart mocking" and "dumb mocking." WireMock, for example, has some (though limited) support for state, for example. If we define "mock" as only referring to its simplest form (and perhaps that's true in the pure unit testing mindset), then, we can draw this dichotomy between mocks and something else. But I would have otherwise just called them mocks. - Keith D. Tyler &para; 08:59, 13 December 2017 (UTC)

Intro rewrite
As several have noted, this article is in need of a rewrite for the intro. I'd like to collaborate here if we may and come up with something that is more academic as well as useful to the casual observer. In particular, we have to note that the term has two related meanings, one of which is really about the decoupling of request/response logic from the physical constraints (I know, need to write that more clearly) and the other related meaning which is the same thing specifically as it applies to software testing. Then the article can cover both those areas with a description of what they are, what they aren't etc. Thoughts? Suggestions? Helpful resources? CodeCurmudgeon (talk) 22:35, 9 August 2017 (UTC)


 * here's one source for definition #1
 * "...applications are encapsulated as services and a distribution framework is sued to disseminate work across service instances. Service virtualization also allows the application developers to :treat services from different application domains as building blocks that can be assembled and reassembled to adapt to changing business needs"
 * from CodeCurmudgeon (talk) 22:54, 9 August 2017 (UTC)


 * What is your take on the point of view that service virtualization is a type of a test double (an over-the-wire test double, or an out-of-process test double)? I think the answer to this question would inform greatly the tone of this page. I also think we have to consider the popularity of open source tools today when improving the article, and how they use the name, especially because they are |are getting increasingly popular. Wiremock (the most popular open source HTTP mock today) calls itself a service virtualization tool as well as a mock (which is a test double) "WireMock is a simulator for HTTP-based APIs. Some might consider it a service virtualization tool or a mock server.". Mountebank (third popular open source tool) call themselves an over the wire test double and a service virtualization tool "mountebank is the first open source tool to provide cross-platform, multi-protocol test doubles over the wire (...) mountebank is the most capable open source service virtualization tool in existence". Wojtek-tp (talk) 17:22, 7 December 2017 (UTC)

Issue re Next Generation
So ouch - an editor took an article they wrote at Dzone and used it to add a "next generation" section here. I can't find much sourcing other than marketing fluff, and even the referenced article doesn't actually define the term the way this new section does. I see there was indeed a conference recently using the term as referenced in the dzone article, but that's hardly enough to warrant this section here. Are there better references around this term, and what it means? I was unable to find anything meeting WP standards. CodeCurmudgeon (talk) 19:13, 14 November 2017 (UTC)


 * Thanks for starting this discussion. That is a fair point, I am happy to rename that section to "API mocking"or "API simulation", since those are more commonly used terms by Hoverfly, Mocklab, Wiremock and general public judging by the number of google results . I will also provide more references shortly.
 * I would like to keep the referenced article in question as it is a report from the conference that you have already mentioned. It consists purely of transcripts and quotes from the presenters and attendees. I will reference also the full versions of youtube videos from the conference, though they might be less accessible than a short report. Wojtek-tp (talk) 21:24, 14 November 2017 (UTC)


 * Can this material be supported by "reliable, third-party, published sources with a reputation for fact-checking and accuracy"? The sources currently cited don't seem to meet that criteria. (Swtechwr (talk) 19:51, 15 November 2017 (UTC))
 * The bits that are left after CodeCurmudgeon's edits are. I will keep it in mind for future edits, thanks for pointing it out. Wojtek-tp (talk) 03:39, 30 November 2017 (UTC)
 * The problem overall is the section discusses a topic that doesn't have good reliable sources - the very idea of next generation permeates the section even if you change the header to it. That term is more of a marketing type thing than an actual differentiation. It's probably best to work API mocking and/or API simulation into the existing flow of the article. CodeCurmudgeon (talk) 16:09, 16 November 2017 (UTC)