Using CA Service Virtualization how to build a Service Virtualization test bed and a service router to identify and route traffic to available real services or virtualized service in any env (intelligently )
Are you referring to using Test Automation or Service Virtualization?
For Test Automation, you would need to build a test case that does this. Steps in the Test case would make the calls to the various endpoints according to the needed logic.
For service virtualization, I would caution against the use of a virtual service as a generic router to other services and environments. It is not a best practice approach. There are a few exceptions and valid reasons to route within services, but I would like to hear more about the requirements and expectations.
- What is the transport protocol (HTTP, JMS, Java, etc.)?
- What is the expected number of TPS coming into / out of the 'router' service?
- Do you have a functional or performance VSE license? If using a functional VSE, the service is limited to ~10 TPS and that alone could potentially bog down the flow.
- What technique does the service use to determine if the provider service is "available"? For example, simply sending an HTTP request from the router and waiting for an HTTP timeout in order to determine that the router needs to route virtual is not a good idea as this could impact consumer app response times and hold TPS related threads open for long periods of time.
- What is going to manage / identify the different environments to which the service connects?
- How are you going to debug / manage issues if the service does not respond correctly or timely to consumers?
- How many different endpoints / URIs does this service process?
- Does the service need to modify the incoming request prior to routing to Live or Virtual? Best Practice is not to do this unless absolutely necessary.
- Is any of this process used as part of a performance test? If yes, the overhead may create negative results.