Click here to Skip to main content
14,972,962 members
Articles / DevOps / Load Testing
Article
Posted 22 Aug 2013

Stats

12.8K views

Parasoft Service Virtualization – Create Intelligent Test Environments

Rate me:
Please Sign up or sign in to vote.
5.00/5 (2 votes)
22 Aug 2013CPOL5 min read
Parasoft Service Virtualization – Create Intelligent Test Environments

This Review is from our sponsors at CodeProject. These reviews are intended to provide you with information on products and services that we consider useful and of value to developers.

 

Parasoft Service Virtualization is a product you need to seriously consider if you are developing applications that you have to test. But before I continue, let me step back a bit.

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.”

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Dirk_Strauss
Software Developer (Senior)
South Africa South Africa
I have been writing software for more than 13 years and have always tried to stay ahead of the pack by keeping up with the latest in technology. Apart from a passion for technology, I am passionate about imparting whatever it is that I learn. I have authored books on C# for Packt Publishing and Apress, written ebooks for Syncfusion's Succinctly Series and have written numerous blog posts and contributed to various guest articles on sites such as BitRebels.

I started my career at a small privately-owned company, developing ASP.NET Web Applications using VB.NET and C#. Later I moved to a national company where I did SYSPRO integration and customization using C# as my main language. After 8 years doing SYSPRO integration, I decided that it was time to move on, joining Evolution Software where I developed responsive web applications. In 2017, I started a position at Embrace as a Full Stack Developer.

I currently work at Tigers as a Senior Software Developer.

Comments and Discussions

 
-- There are no messages in this forum --