What is one of the first things you do when setting up a test environment? Well I guess that largely depends on your budget. Let us assume we all work for a company that conforms to best practices with regards to software development and the SDLC.
The easiest way to emulate the client site is to use virtualization. My current favourite being VirtualBox, but VMWare is also a great choice. Setting up a copy of the client site on a VM is the best method for testing your custom applications. It now gets even better with Parasoft Service Virtualization.
One of the major shortcomings of the old traditional Virtual Machine route is that it is nearly impossible to emulate 3rd party components or dependencies in the virtualized environment. To give you an example, I do ERP customization on a product called SYSPRO. It is always a challenge setting up the ERP copy on the VM to exactly match the client site.
The client ERP installation could also already contain customizations developed by other companies. Imagine this client then also accesses a Web Service to initiate some sort of Approval Workflow or Notification Service for management. It is almost impossible to emulate all this functionality in the Test VM you are setting up for your application.
I say so because to my mind, there are 2 major factors here that limit you from doing this:
- Development Budget – We all know that a development budget isn’t an endless pit from where you can just dip in to. Spending weeks setting up a fully functional Virtual Machine just will not happen.
- Environmental Change – Let us assume you manage to spend weeks setting up your Virtual Machine to mimic the client site almost perfectly. That’s nice…. but in the weeks you spent setting up the Virtual Machine, the client site changed significantly. It changes because it is a multi-user site with an ever evolving environment. Can your budget allow you to constantly change and maintain your VM to stay in sync with the client site?
Parasoft Service Virtualization
This all comes down to time. The less time you spend on setting up your test environment, the more time you have for actual testing. The less time you need to spend on mimicking and keeping up with changes to the client environment, the more time you have for actual development.
I don’t know about you, but in my world this equates to better code, less bugs and a healthy ending project expense on completion. Parasoft Service Virtualization allows you to do just that.
Parasoft Service Virtualization – In A Nutshell
Parasoft Service Virtualization allows you to capture and virtualize transaction behavior and the data transmitted between all these systems. This records live transactions in the client environment by analysing transaction logs or by modelling behaviour from a simple interface. In other words, instead of having to virtualize applications and settings, Parasoft ServiceVirtualization allows you to capture and virtualize data and the data between all these systems.
Let us say you are testing a web application, you can easily perform load testing using actual data recorded from the client site. And I know what you are going to ask next…. all the data can be obfuscated. So none of the recorded data can be compromised. This is probably the biggest single most important feature of the product. Imagine the possibilities.
Another fantastic feature is that you can modify recorded data. Let us assume for example that a 3rd party application is used by your client ERP. This 3rd party application generates an average of 50 Sales Orders per day. Each Sales Order is a single line order with a quantity of 1 for a specific stock code. The 3rd party generated Sales Orders are posted to the client ERP. Your application needs to check stock levels and if there is no stock, place the Sales Order on back order.
You can then easily test this by changing the recorded data to make each Sales Order contain line quantities of 1000 instead of 1. This will allow the system to reach the minimum stock level earlier and forcing your application into placing the order on back order. Imagine being able to test your application with large volumes of high quantity Sales Orders. Will it stand up to the onslaught of several sales orders per second? With Parasoft Service Virtualization, you don’t need to wonder any more. You control the data, so you can modify it to suit your test requirement.
You can also copy and modify different scenarios for different test requirements. This makes testing your application very efficient and robust.
Parasoft Service Virtualization – Initial Impressions
The product is an absolute tour de force. The potential cost saving is dramatic, especially considering what you can virtualize using Parasoft Service Virtualization and the benefit that has on development and testing. Being able to capture the interaction between your system and external components helps you understand your system. Being able to edit and replay those interactions as part of your test environment is unheard of until now. This is the power of Parasoft Virtualize.
I will concede that as a user, the configuration and implementation of the product can seem overwhelming. I would list this as a negative point, but I can’t do that. The reason I can’t do that is because Parasoft have put as much (if not more) effort into developing tutorials, training videos and user documentation as what they have in developing this product. Why not head on over to the Parasoft website and request an evaluation. See what Parasoft Service Virtualization can do for your company.
Disclosure of Material Connection: I received one or more of the products or services mentioned above for free in the hope that I would mention it on my blog. Regardless, I only recommend products or services I use personally and believe my readers will enjoy. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.”