What is most valuable?
Quick generation of virtual assets from service definitions such as WSDL documents
Extend the basic functionality of virtual assets using scripting
Environment Manager providing a clear user interface for environment provisioning and configuration
Docker image available for seamless Continuous Delivery and Continuous Testing integration
How has it helped my organization?
I have used Virtualize in two projects now, and in both projects it has delivered impressive results.
- In the first project, at a major telecommunications service provider in the Netherlands, the test team was depending on an external (human) resource for the successful provisioning of orders in a backend system. This could lead to a delay in order (i.e., test case) preparation and execution time up to a week. Using Virtualize, this dependency has been removed completely, allowing the test team to provision many more orders in shorter time, enabling them to test much more, much faster. It also paved the way for the introduction of automated end-to-end testing and the introduction of an agile software development approach, which was previously impossible due to the long lead times required for order creation.
- The second project was completed at an organization responsible for the transfer of student- and education-related information between higher education institutions and the Dutch government agency responsible for higher education. Within this organization, only a single test environment for the government agency was available for integration with the multitude of test environments at the various higher education institutions. This meant that only a single test environment was available for proper end-to-end testing. Using Virtualize, we were able to create virtual assets that simulated the behavior of the government agency dependency, allowing all test environments to be available for realistic end-to-end testing. This allowed all higher education institutions and their partners to perform end-to-end testing at will, instead of having to wait for 'their' testing slot.
What needs improvement?
Even though improvements are being made in this area with the developments around Data Repositories, I am still missing the opportunity to easily store and reuse data persistently, without having to redeploy the virtual assets after each update.
Real life example: when a student registers for a course, this affects his or her tuition situation. For each student, all registrations need to be stored somewhere because at any moment in the future, the current tuition situation needs to be derived using all current and past course registrations.
At the moment, I am working around this by adding scripts (Extension Tools) that store the data required in a database separately from Virtualize and retrieve this when necessary.
A generic solution for this issue that would at least reduce the amount of scripting necessary to properly simulate real life behavior would be very welcome.
For how long have I used the solution?
I have been a Parasoft Virtualize user for the past three years.
What was my experience with deployment of the solution?
No. Since Virtualize is provided either as a simple installer or as a Docker image (in the most recent versions), installation is as simple as clicking a button.
What do I think about the stability of the solution?
When Virtualize is running on a (virtual) machine with limited memory, over time it might consume more and more memory and (worst case) stall. This is probably more of an Eclipse issue than purely a Virtualize issue, though.
What do I think about the scalability of the solution?
How are customer service and technical support?
Excellent. Technical Support
Great. Whenever I have any questions concerning Virtualize, there's always someone available to help.
Which solution did I use previously and why did I switch?
No, this is the first service virtualization solution I have used. I do have previous experience using simpler stubbing solutions, but these do not provide the flexibility and ease of use that Virtualize does.
How was the initial setup?
Very straightforward. Installation is a matter of minutes, after which you are set to build your first virtual assets, either by recording live traffic or modeling them using predefined service or message specifications.
What about the implementation team?
As a freelancer, I am hired by end users to implement Parasoft solutions on site. As such, I work very closely with the Parasoft team, but I am not part of a vendor team, nor do I work somewhere in-house.
What's my experience with pricing, setup cost, and licensing?
Yes, there is an initial investment requirement, and you should definitely do some research to see whether this investment pays off in terms of increased speed of delivery or test coverage.
However, please take into account that the ease of creating, deploying and especially maintaining and managing complex virtual assets using Virtualize could very well turn out to be more cost-efficient in the longer term compared to building and managing custom solutions.
Which other solutions did I evaluate?
No, as I was (part of) the implementation team, not the person responsible for product selection and buying.
What other advice do I have?
Additional information, presentations and case studies regarding Parasoft Virtualize, its features and the proven benefits it has provided to a range of Parasoft customers are readily available. Contact your regional sales partner, they are there to help.
Also, please feel free to contact me if you want to hear more about Virtualize from an independent third party.