Next generation service virtualization tools comparison

These tools are also called API simulation, API mocking, API mocks, over the wire test double and stubs. They are the next generation of tools [1] that allow for testing you components in isolation and support Continous Delivery, Continuous Integration, DevOps and Agile as first class citizens.
Open source Free HTTP(S) JMS IBM® Websphere MQ Raw TCP Other protocols Has a basic GUI Has an advanced GUI Scriptable/Programmable Docker support
Charles Proxy No No Yes No No No No Yes Yes No No
Hoverfly Yes Yes Yes No No No No Yes No Yes Yes
Mountebank Yes Yes Yes No No Yes SMTP No No Yes Yes
SoapUI MockServer Yes Yes Yes No No No No Yes Yes No No
Traffic Parrot Partial[2] Yes (Community Edition) Yes Yes[3] Yes[3]
No Request it Yes Yes Yes Yes
Wiremock Yes Yes Yes No No No No No No Yes Yes
[1] We are comparing here only the next generation service virtualization tools, and not including the early generation ones.
[2] Traffic Parrot HTTP(S) component is built on top of open source Wiremock.
[3] JMS and IBM® MQ not available in the free community edition.

How is Traffic Parrot different to Wiremock?

Wiremock is a great tool, we recommend it on many occasions.

If you currently use Wiremock:
  1. but need JMS or IBM® Websphere MQ support
  2. or your dev and test team would benefit from a UI instead of a programmable interface
let’s schedule a 20 minute call to explore if Traffic Parrot is a better fit for your needs.

HTTP(s), JMS and MQ support

  • One tool that fits many protocols. Traffic Parrot supports not only HTTP(s) but also asynchronous messaging with JMS and IBM® Websphere MQ

  • Unlike Wiremock, Traffic Parrot can act as a man in the middle HTTPS Proxy. More

    While testing mobile applications you might want to define a HTTP proxy in Android or iOS Genymotion simulator or your real device. When your application connects to the backend systems via HTTPS Traffic Parrot will act as a man in the middle HTTPS proxy without your application even noticing that it is being ticked.

Designed for QA use-cases

  • Designed for manual exploratory testing, automated performance testing and functional testing of large and legacy systems More

    1. Graphical User Interface, ideal for quick and easy manual exploratory testing.
    2. Predefined extensions (dynamic responses, pass-through mode, use request data in responses, record only specified content types, etc.) for advanced service virtualization of large-scale or legacy systems.
    3. Define mappings from templates to for easier and faster exploratory testing
    4. Easy management for HTTPS certificates.
    5. Importing traffic from production servers (via Splunk, tcpdump, log files) for performance testing (on request)
    6. We listen to our customers and add new features on a weekly basis.
  • Have many additional extensions available as well things like Passthrough Mode, Recording filtering by content type, and many more.

  • No more testers left behind! More

    Traffic Parrot is designed for both testers and developers.

    Majority of open source service virtualization software (like Wiremock) is written by developers for developers. It is great for developers, but testers get left behind. The way we are different to most open source is that our tool is designed with both developers and testers in mind. We have programmable APIs for developers and an intuitive user interface for testers to use. We provide first class support to both testers and developers. We value collaboration and make sharing virtual services between developers and testers easy, which can be costly to implement just with open source.

    Often developers are implementing the new best practices and using the cutting edge technology, following the latest trends. Then, often testers get left behind, and have to keep up with developers. Our tool helps to facilitate the communication between development and testing. Find out more in the Continuous Delivery team video.

Support, Consulting and Training

  • How long can you wait for a bug fix? In open source projects fixing issues might last weeks, months or years. More

    We aim to fix them in a few days to a week. Even if you fix an issue in an open source project codebase yourself and create a pull request, it might take a few weeks to a few months before the new version is released. We aim to release new versions in a few days to a week.

  • Service virtualization, API testing and automation roadmap reviews and consulting More

    1. Service Virtualization roadmap review

    2. Performance testing roadmap review

    3. API testing roadmap review

    4. Test automation roadmap review

  • Service virtualization, API testing and automation training More

    1. Free 45-minute session "Introduction to service virtualization" for your team

    2. 4-hour “SV in manual API testing” workshop

    3. 4-hour “SV in automated API testing” workshop

    4. 4-hour “SV in performance testing” workshop

How is Traffic Parrot different to early generation enterprise commercial offerings?

Our team has a vast experience with different tools available on the market. It makes Traffic Parrot stand out form the other commercial offerings.

Unlike early generation tools we are

  • Designed for automation with Maven, Gradle, SoapUI, Selenium, JBehave, Cucumber, JUnit and similar. For less frustration with fat enterprise tools.

  • Extendable using powerful Java programming language. Our customers tell us we support extensions at a level that none of the other tools support.

  • Easy to intergate with Continuous Integration environments (Jenkins, Teamcity, Bamboo, CircleCi). For true testing in isolation.

  • A licensing model that fits Continuous Integration and DevOps practices

  • Running on existing hardware, no need to request VMs. No need to install thick clients (workstations). Run anywhere, on your laptop, server, docker or VM. Super lightweight allowing you for more flexibility.

Download trial

Similar to early generation enterprise commercial tools we also support

  • HTTP(S) and JMS/MQ

  • Both test and development teams

  • Different ways of creating virtual services like manual request/response import and record and playback.

Download trial

How is Traffic Parrot different to Charles Proxy?

Charles Proxy is a great tool. There are significant differences between Traffic Parrot and Charles Proxy, though.

  • Traffic Parrot supports multiple protocols, not only HTTP(s) but also JMS and IBM® Websphere MQ

  • Traffic Parrot is scriptable and programmable. It is a complete service virtualization and API mocking platform with many extensions available.

  • Traffic Parrot can be run anywhere. On your laptop, on a server, in docker, on a Jenkins/Bamboo/CircleCi/Teamcity agent and on AWS. You can run Traffic Parrot on a server using command line (headless). The GUI is accessed via a web browser.

  • Our tool is designed for manual exploratory testing, automated performance testing and functional testing of large and legacy systems. Its not only a HTTP Proxy aimed at debugging.

How is Traffic Parrot different to Mockito?

Mockito is a great tool, even we use it internally at Traffic Parrot for in-process mocks. It might not be possible to use Mockito in some situations though.

Examples where it is not possible to use Mockito and you could consider Traffic Parrot

  • Black-box application/microservice testing (both functional and performance)

  • You need a graphical user interface, like a Web UI

  • You have too many APIs and endpoints to mock to start with and need to do a record/replay to manage the complexity short term

Examples where Mockito might not be the best option and Traffic Parrot could work better

  • You want to use the same tool and testing approach for developers and testers

  • Provide external development and testing teams with stubs of your systems

  • Simulating protocol and network errors/failures

  • REST, JMS and MQ APIs that require visibility on protocol level, not in Mocktio mocks only

  • Logging communication sequence diagrams in acceptance tests

List of all service virtualization tools available on the market

Copyright © 2015- Traffic Parrot http://blog.trafficparrot.com
Name Url Year founded Technology Protocols
NetRecorder https://github.com/chrisyoung/netrecorder 2009 Ruby HTTP
WebFixtures https://github.com/trydionel/web_fixtures 2010 Ruby HTTP
mimic https://github.com/acoulton/mimic 2011 PHP (kohanaframework) HTTP
Clojure VCR https://github.com/ifesdjeen/vcr-clj 2012 Clojure HTTP
Ephemeral Response https://github.com/sandro/ephemeral_response 2010 Ruby HTTP
Stale Fish https://github.com/jsmestad/stale_fish 2009 Ruby HTTP
VuGenLocalReplay http://www.myloadtest.com/tools/vugen-local-replay/ 2013 PHP HTTP
mocktail https://github.com/vashishthask/mocktail 2011 Java HTTP TCP
VCR.js https://github.com/elcuervo/vcr.js 2012 Javascript HTTP
Mocky http://www.mocky.io/ 2013 Scala HTTP
Mockey https://github.com/clafonta/Mockey 2009 Java HTTP
Node Replay https://github.com/assaf/node-replay 2011 CoffieScript (Node.js) HTTP
VCR https://relishapp.com/vcr/vcr/docs 2010 Ruby HTTP
mitmproxy https://mitmproxy.org/doc/features/serverreplay.html 2010 Python HTTP
httreplay https://davepeck.org/2013/07/22/httreplay-a-python-http-recording-library/ 2013 Python HTTP
mahimahi http://mahimahi.mit.edu/ 2013 C++ HTTP
PHP-VCR http://php-vcr.github.io/ 2013 PHP HTTP
BetaMax http://freeside.co/betamax/ 2011 Java HTTP
Nock https://github.com/pgte/nock 2011 Javascript (Node.js) HTTP
NSURLConnectionVCR https://bitbucket.org/martijnthe/nsurlconnectionvcr 2012 Objective-C HTTP
REST assured https://github.com/BBC/REST-assured 2011 Ruby HTTP
mountebank http://www.mbtest.org/docs/api/proxies 2014 Javascript (Node.js) HTTP TCP
SoapUI http://www.soapui.org/HTTP-Recording/recording.html 2005 Java Swing Application HTTP
Ready! API http://smartbear.com/product/ready-api/overview/ 2014 Java HTTP
VAPI https://vapi.ca.com/vapi 2014 SaaS HTTP
Waitrest https://github.com/bodar/waitrest 2011 Java HTTP
TestComplete

http://smartbear.com/product/testcomplete/

2014 Java HTTP
grunt-connect-prism https://github.com/seglo/grunt-connect-prism 2014 Javascript HTTP
IBM Rational Test Virtualization Server http://www-03.ibm.com/software/products/pl/rtvs unknown Unknown Most protocols are supported
TrafficParrot http://trafficparrot.com 2014 Java HTTP(S), JMS, MQ
CA Service Virtualization (CA LISA®) http://www.ca.com/us/devcenter/ca-service-virtualization.aspx 1999 Java Most protocols are supported
HP SERVICE VIRTUALIZATION http://www8.hp.com/us/en/software-solutions/service-virtualization/ unknown Unknown unknown
Stub-O-Matic https://github.com/Stub-O-Matic/stubo-app 2015 Python Java HTTP
Sandbox https://getsandbox.com/ 2014 Javascript HTTP
Wilma https://github.com/epam/Wilma 2013 Java HTTP
Parasoft Virtualize http://www.parasoft.com/product/parasoft-service-virtualization/ unknown Unknown Most protocols are supported
Tricentis Tosca Testsuite http://www.tricentis.com/tricentis-tosca-testsuite/ 2007 Unknown unknown
Mockable https://www.mockable.io/ 2013 Unknown HTTP
MockServer http://www.mock-server.com/ 2013 Java HTTP
api-mock https://github.com/localmed/api-mock 2014 Coffee Script HTTP
apiary https://apiary.io/pricing 2012 Ruby HTTP
Rest Driver https://github.com/rest-driver/rest-driver 2010 HTTP
WireMock http://wiremock.org/ 2011 Java HTTP
Web Service Mocker https://sourceforge.net/projects/easymocker/ 2011
Hoverfly http://hoverfly.io/ 2015
Mirage https://github.com/SpectoLabs/mirage 2015
stubby4j https://github.com/azagniotov/stubby4j 2012 HTTP
Nagual https://github.com/emanuil/nagual 2016 HTTP
Puffing Billy https://github.com/oesmith/puffing-billy 2012 Ruby + Rspec
Net HTTP Spy https://github.com/martinbtt/net-http-spy 2009 Ruby HTTP
Yakbak https://github.com/flickr/yakbak 2016 HTTP
VHS https://github.com/diegoeche/vhs 2012 HTTP