This is pretty interesting stuff that i have been working on-
First lets understand basics of Service Virtualization (SV)- In the later posts we will cover the Load Testing approach.
What is Service Virtualization?
Service virtualization involves the imaging of software service behavior and the modeling of a virtual service to stand in for the actual service during development and testing. Service virtualization is complementary to hardware virtualization, and provides a solution to address each of the aforementioned hardware virtualization limitations such as:
1. Providing 24/7 access to the service end point on your terms
2. Removing capacity constraints
3. Addressing data volatility across distributed systems
4. Reducing or eliminating the cost of invoking 3rd party systems for non-production use
So how does it go well with different application? What are the constraints?
Here are some constraints which Service Virtualization can overcome-
Access to a mainframe:
There are dozens of project teams, each needing access to the mainframe. Yet these teams receive very limited access, and often during timeslots that do not align to their project plan. This is a persistent problem that introduces risk, unacceptable delays, lost productivity and added cost.
Access to a database:
Another team owns a database that is accessed by others. This database is currently accessible in a development lab, but one team needs a new stored procedure added to that database. It may take 3 or 4 months with the DBA team in order to deploy those stored procedures.
Access to the web service:
There is a legacy system deployed and due to an architectural mandate, access to legacy system functionality will be provided via web services. However, no web service is available to test against, and not even an individual responsible for creating the web service.
How does SV works?
Following diagram can help us understand the basic on how SV can be captured?
As you can see in the above diagram-
A "service image" as a part of service virtulaization can be captured by some external tool during recording.The request and response of the application can be captured as a part of service image.This service image then later be hosted and deployed on some server.The SI will then service the all the requests and send appropriate responses. This way when you run your script you are not hitting the actual site but just the Service Image !
Most of the tools available in the market has ability to work with common protocols listed below-
Transport protocol (Interface Protocol)
HTTP / HTTPS (Web Applications)
JDBC (Databases)
Messaging platforms (webmethods, Tibco, MQ, Sonic, JCAPS)
Standard JMS
From WSDL for HTTP / s
Data Protocol
HTTP Traffic (Web)
Web services (SOAP)
Protocol layer for handling messages over IBM MQ
Protocol layer for handling messages over JMS using JNDI
Available tools in the market?
If you do Google you will find many tools which can do SV. My personal favourite is ITKO LISA. Please find more information here.
First lets understand basics of Service Virtualization (SV)- In the later posts we will cover the Load Testing approach.
What is Service Virtualization?
Service virtualization involves the imaging of software service behavior and the modeling of a virtual service to stand in for the actual service during development and testing. Service virtualization is complementary to hardware virtualization, and provides a solution to address each of the aforementioned hardware virtualization limitations such as:
1. Providing 24/7 access to the service end point on your terms
2. Removing capacity constraints
3. Addressing data volatility across distributed systems
4. Reducing or eliminating the cost of invoking 3rd party systems for non-production use
So how does it go well with different application? What are the constraints?
Here are some constraints which Service Virtualization can overcome-
Access to a mainframe:
There are dozens of project teams, each needing access to the mainframe. Yet these teams receive very limited access, and often during timeslots that do not align to their project plan. This is a persistent problem that introduces risk, unacceptable delays, lost productivity and added cost.
Access to a database:
Another team owns a database that is accessed by others. This database is currently accessible in a development lab, but one team needs a new stored procedure added to that database. It may take 3 or 4 months with the DBA team in order to deploy those stored procedures.
Access to the web service:
There is a legacy system deployed and due to an architectural mandate, access to legacy system functionality will be provided via web services. However, no web service is available to test against, and not even an individual responsible for creating the web service.
How does SV works?
Following diagram can help us understand the basic on how SV can be captured?
A "service image" as a part of service virtulaization can be captured by some external tool during recording.The request and response of the application can be captured as a part of service image.This service image then later be hosted and deployed on some server.The SI will then service the all the requests and send appropriate responses. This way when you run your script you are not hitting the actual site but just the Service Image !
Most of the tools available in the market has ability to work with common protocols listed below-
Transport protocol (Interface Protocol)
HTTP / HTTPS (Web Applications)
JDBC (Databases)
Messaging platforms (webmethods, Tibco, MQ, Sonic, JCAPS)
Standard JMS
From WSDL for HTTP / s
Data Protocol
HTTP Traffic (Web)
Web services (SOAP)
Protocol layer for handling messages over IBM MQ
Protocol layer for handling messages over JMS using JNDI
Available tools in the market?
If you do Google you will find many tools which can do SV. My personal favourite is ITKO LISA. Please find more information here.
I am so glad this internet thing works swtor credits, guild wars 2 leveling, aion kinah and your article really helped me. Might take you up on that home advice you.
ReplyDeleteThank you for sharing. Load testing services is a highly specialized field of testing.
ReplyDeleteThanks for reading this article. I have been involved in this for a long time now.This is gonna be next big change in Software Industry!
ReplyDeleteI was very interested in the article , it’s quite inspiring I should admit. I like visiting your site since I always come across interesting articles like this one. Keep sharing! Regards. Read more about
ReplyDeleteSecurity Testing Services
Regression Testing Services
Test Automation Services
Functional Testing Services
Performance Testing Services
Software Testing Services
This is really a worthy and wonderful blog to read and further more tips on the software testing have been learnt. thanks for sharing your views among us and its great time spending on this.
ReplyDeleteSelenium Training in Chennai | Certification | Online Course Training | Selenium Training in Bangalore | Certification | Online Course Training | Selenium Training in Hyderabad | Certification | Online Course Training | Selenium Training in Coimbatore | Certification | Online Course Training | Selenium Training in Online | Certification | Online Course Training
nice site
ReplyDeleteSoftware Testing Training in Chennai | Certification | Online Courses
Software Testing Training in Chennai | Certification | Online Training Course | Software Testing Training in Bangalore | Certification | Online Training Course | Software Testing Training in Hyderabad | Certification | Online Training Course | Software Testing Training in Coimbatore | Certification | Online Training Course | Software Testing Training in Online | Certification | Online Training Course