Integration Testing With Nortel SCE / Part 1

3042009

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:

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

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.

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

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 🙂

Share this:

Like this:

Actions

Information

8 responses

7052009

Ashok Bharyok(06:00:13) :

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

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?

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

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.