Integration Testing With Nortel SCE / Part 1

3 04 2009

So you are developing with the Nortel SCE and want todo integration testing. Theres no support for it in the framework itself. So we think and think. The SCE communicates via voicexml or VXML towards the MPS. This happens over http protocol, that means the we can use Jmeter to sniff the communication between MPS and SCE (JBOSS / struts). So in practice to make this work you need to setup the http proxy on jmeter and then go into the SBClient.cfg located here : C:\Program Files\Nortel Networks\SelfService\PERIvxml\config\ on a standard installation , edit these two lines:


client.inet.proxyServer VXIString localhost
client.inet.proxyPort VXIInteger 9000

Proxy server are the machine where you have jmeter running and port are the one you specified when setting up the proxy, id recommend using 9000 since the default 8080 clashes with the SCE Jboss port. After changing the parameters you need to restart the MPS service.

So there are two was of recording, on your local machine using the mock interface provided with SCE / eclipse ( execution view / WVADS ). Or on your test facility where you actually can dial in as normal, and record the scenarios. Just remember when you end Jmeter the proxy goes down aswell, meaning the MPS & SCE can no longer communicate, just comment out the 2 lines in sbclient.cfg to get it working again.

Tips

  1. Remember to switch recording controller in jmeter between scenarios. And one more thing this will only record the dialog between SCE and MPS, not the audio server.
  2. If you add appropriate listeners to your jmeter scenario when you replay you can even see the vxml responses.

Heres how a scenario from a very simple application looks (Just playing a couple of prompts):

SCE Jmeter Scenario

SCE Jmeter Scenario

After recording the scenarios they can now be replayed at wish for example as part of integration test. In the next part I’ll try to digest howto put in test coverage with coberatura, so we get some metrics on how much of our code actually are tested with this approach. Now sadly since SCE does a lot of auto generation I think the process will be partially manual, so we cannot employ a building server like Hudson for this:( If you have any ideas on howto run the SCE auto generation as a MOJO from maven or something please do not hesitate to write. As always comments are more than welcome 🙂

If you are new to jmeter you can read more here, Jmeter site

Advertisements

Actions

Information

8 responses

7 05 2009
Ashok Bharyok

Hi: i was just searching for some thing on Nortel SCE, but no documentation available on it, i saw ur post on Nortel SCE, so thought u must be having some tech docs on it, currently we are working on solutions on Nortel Platform with PeriPro. can you plsssss help us in providing some docs on SCE, will be really greatfull .
Regards
Ashok Bharyok

11 05 2009
ninomartinez

No sadly, to my knowledge there are no in depth documentation on exactly this.

But what are you looking for?

29 09 2009
29 09 2009
ninomartinez

Thanks John

18 02 2013
Antonio

Thank you Nino! We were looking for some info to automate VXML testing with Jmeter or a similar tool, because we had the same idea, and luckily we found that you did exactly what we want to do, even with Nortel SCE 😀 Great!

We cannot change the proxy server in the MPS (it’s shared with other teams), so could we do the same without this feature?

We are thinking about two possibilities:
– Change the proxy properties only for some lines. We don’t know if it’s possible to do it.
or
– Install the Jmeter HTTP Proxy in the Jboss machine (instead of the MPS one), running in the port 8080 (the Jboss port), and the Jboss running in another one (i.e. 9090). How can we record the traffic and redirect it with Jmeter from 8080 to 9090? Is it possible or maybe do we need another tool like tcpmon?

Thanks again Nino!

8 04 2013
ninomartinez

Hi Antonio

Heres a very quick reply, you should be able to follow this setup on your local developer installation, and then replay it on your production environment by just changing the server adress in the jmeter configuration..

12 04 2013
Antonio Mateo Pérez (@amateoperez)

Great, good one! Thanks!

I’m exploring more possibilities because I have no licenses for TTS/ASR in my local environment, so I cannot simulate completely.

I could run a test with Jmeter setting the proxy parameters as you said, but only for a while because we share the environment.

I’m trying to find out if it’s possible to set rules or exceptions for the proxy that uses the MPS. I know that other platforms can do it. Something like this:

## Proxy rules
client.inet.proxyRule.0 VXIString .speechworks.com | proxyserver1:123
client.inet.proxyRule.1 VXIString .com | proxyserver2:456
client.inet.proxyRule.2 VXIString google.com |
client.inet.proxyRule.3 VXIString | proxyserver3:789

Or maybe, I could play with the routes table to achieve something. I’m not sure.

Another option I was thinking of, it’s to set Jmeter proxy server to send to the recorder only some HTTP traffic and let continue the rest of it.

Kind regards,
Antonio.

12 04 2013
Antonio Mateo Pérez (@amateoperez)

Nino,

when you are recording the HTTP traffic with Jmeter, is it very slow? We have tried and we spend much more time than in a normal test. The communication flows very slowly. I mean only the recording, when we run the test, it goes very quickly.

Thanks again,
Antonio.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: