Tag Archives: nubot

NuBot 3.0 on the starting blocks: what’s new!

Because our latest version of our NuBot Platform product is on the verge of being released, I’d like to present a few of the noteworthy new features out in this release.

Enhanced Composite States

Composite states now feature full-fledged encapsulation. In our previous installment, because of the limitations of the transition model, composite states had to be aware of their parent to function properly, greatly limiting the ability to reuse callflow components in some specific cases. Composite states now give more freedom in this regard, thanks to our new transition model, which gives you the ability to break down a transition into two parts, where one part would be defined in the parent, and the other part in the child.

UI Cosmetic Improvement

As part of our effort to offer the best user experience, we have improved a few UI items which should make your life easier. For instance, any section content available from the Results view now features a copy to clipboard button. Also, the Callflow editor now provides the ability to add comments to the layout or move transition labels while offering a more pleasant color scheme. We have also removed some under-used or plainly obtrusive features which did not add any value to the experience.

Callflow Anchor Points and new Transition Model

Our callflow transition model has been refined and now features the ability to break down a given transition into two distinct parts. This characteristic gives you the ability to not only lay out your callflow more easily by routing transitions around states but also enhance your Composite States encapsulation.

Augmented Test Descriptor Editor

We have moved some of the configuration parameters off the Preferences to the Test Descriptor Editor itself, where it makes more sense. All test configuration parameters are now neatly organized into one single location. Such parameters include Call Profile and Call Sampling.

REST Communication Protocol

In order to facilitate both customer firewall and forward proxy traversal, we got rid of the RMI protocol in favor of a friendlier HTTP one. While from a user perspective, this change does not bring much to the table, thanks to a nicely encapsulated communication layer, this protocol overhaul opens the door for a plethora of new integration schemes. For one, you can now use our HTTP API to not only tap into our test call data set but also interact with the platform itself, launching a given test at a specific time from the command line, or PUT/GET test resources on/off the server. The API can also be used to monitor your minutes usage or simply to poll for server status.

# get all scheduled test
curl -X GET -H "X-nuecho-access-key: foobar" \
-H "X-nuecho-secret-key: $4$02Y4dYz+$d61BHuJq/GqylW0p6jVzs1/Arxs$" \
'https://nubot.nuecho.com/api/v0.1/foobar/operations/scheduled'

# delete resource bucket
curl -X DELETE -H "X-nuecho-access-key: foobar" \
-H "X-nuecho-secret-key: $4$02Y4dYz+$d61BHuJq/GqylW0p6jVzs1/Arxs$" \
'https://nubot.nuecho.com/api/v0.1/foobar/resources/3868dd95-a81e-4480-aca6-fa05012075ff'

# get stats from audio service
curl -X GET -H "X-nuecho-access-key: foobar" \
-H "X-nuecho-secret-key: $4$02Y4dYz+$d61BHuJq/GqylW0p6jVzs1/Arxs$" \
'https://nubot.nuecho.com/api/v0.1/foobar/audio/stats'

# launch a test session
curl -X PUT -H "X-nuecho-access-key: foobar" \
-H "X-nuecho-secret-key: $4$02Y4dYz+$d61BHuJq/GqylW0p6jVzs1/Arxs$" \
'https://nubot.nuecho.com/api/v0.1/foobar/operations/launched/3868dd95-a81e-4480-aca6-fa05012075ff?recording=false'

Performance Optimizations

The platform has been re-architectured to handle larger call volumes. Internal services can now be horizontally scaled for high throughput and greater performance. More than ever, you can use our NuBot platform to not only perform regression or functional testing but also to launch much larger load or stress tests.

Conclusion

I hope you are as thrilled as we are about this upcoming release and that you will see benefits from this sneak preview! I intend to present some of those new features in separated posts in the coming weeks.

More robust automated test scripts: wraparound mode

Lately, I have been involved in the development of a new reusable VoiceXML dialog module. The module is invoked via a <subdialog> call with a number of parameters, one of which having an impact on the order of the questions asked by the module.

Writing automated test scripts for such parameterized applications or modules is too often a very time-consuming task. One has to take the order of questions into account, leading to an explosion in the number of scenarios and lots of duplication. In such cases, you often end up testing a single configuration, assuming that all others will be only small variations that need not be tested. But is it really safe to do that?

One of the nice features of NuBot is the ability to write test scenarios that are robust to the order in which questions are asked. To do that, test scenarios need only be created in wraparound mode. Each scenario is composed of action groups, each of which consists in an association between a state in the application and an answer to give to the tested application.

In the wraparound mode, when NuBot receives a feedback from the application, it looks at its next group. If the feedback does not match the expected action group, instead of generating an error, it simply skips it and considers the next one, and so on. If it reaches the end of the scenario’s groups, it “wraps around” (thus the mode name) and considers the groups from the start of the scenario in turn. Only if it cannot match a step in the scenario will it generate an error.

An alternative way to automate IVR tests

A few weeks ago, I posted an article describing a real hands-on experience on implementing IVR unit tests in an CVP Studio application. But programmatic unit tests are not the only way to automate IVR application tests and provide a repeatable and reliable way of testing large portions of an application easily, in a matter of minutes. There are other ways to get most of the benefits of unit testing without even having to pick the phone (you have better things to do than make hundreds of phone calls a day, right?).

One of them is NuBot, Nu Echo’s hosted IVR application testing platform. With NuBot, there are basically three steps involved:

  1. You instrument your application with DTMF sequences at specific places in the application’s call-flow. These sequences are used to synchronize the application with your test scenarios and are only played when the application is in test mode. (We also support speech-recognition-based synchronization, but only through our professional services at the moment.)
  2. You program your test scenarios using the free NuBot integrated testing environment (ITE), an Eclipse plugin that can co-exist alongside the rest of your programming environment.
  3. You schedule and launch your test on our hosted platform from the NuBot ITE, specifying which scenarios to use, how many ports are needed, how many runs of each scenario to do, etc.

Now as you modify your application, you simply keep your tests up-to-date and re-run them as needed. They can even be incorporated into an automated continuous integration process running every night. So if you break something in the application, you will know it fast.

Of course, in contrast to unit tests which are run on the developer’s machine, automated tests using NuBot require that the application is deployed on a server first. This requires some extra work. But you would have to do that anyway if you were to do your tests manually. And it’s worth it considering that you are doing end-to-end testing of your application, not just running some Java code.

Load-testing ready

Another advantage of using NuBot is that once your application is instrumented and you have all your test scenarios, they can be readily used for load testing. This way, you won’t have to start planning for the development of load testing scripts only after the application is fully implemented.

And of course, you’ll do the load testing it at your own convenience, all by yourself. This way, you stay in control of your testing process. (We do offer professional services if you prefer, but they are completely optional.)

Try it now!

Want to cut your testing costs while delivering more reliable applications? Give NuBot a try.

We also have an on-premise version if using a hosted platform is not an option. Contact us for more details.

NuBot IVR Application Testing Platform Beta 2 is now live!

We are proud to announce that the NuBot Testing Platform Beta 2 is now live and being used by the first beta program participants. As a reminder, during the NuBot Beta 2 Program, the NuBot Platform is available free of charge as a SaaS solution through the NuBot Hosting Service.

Automated testing should be considered a critical component of any rigorous development process. The NuBot Platform has been designed to address key limitations of existing IVR testing solutions. With NuBot:

  • No programming skills are required to build test scenarios
  • Numerous and varied test scenarios can be developed quickly and easily, even for large and complex applications
  • Maintenance of test scenarios is facilitated thanks to built-in robustness to application changes
  • A fully integrated suite of analysis tools are available to facilitate diagnosis of test failures.

To learn more about the NuBot Automated IVR Application Testing Platform or to enlist as a Beta Program participant, please contact us.

The NuBot IVR Application Testing Solution Can Now Be Tried For Free

Most people know that IVR applications should be extensively tested before they’re deployed. They should be tested to make sure that they perform as specified and that they will continue to do so under load. Yet, most applications are not tested nearly as much as they should, sometimes with dire consequences when a major problem is detected after the application goes live. One reason for this, naturally, is cost. Another reason is time, as slips in the project schedule often mean less time available for testing.

That’s where automated testing comes in. Automated tests should be a critical element of any IVR testing strategy since they can greatly reduce the time required for application testing, lower development costs, accelerate software release cycles, and increase application quality and stability.

Unfortunately, commercially available testing offerings are usually costly, complex to set up and operate, or both, which is why they are so rarely used. To address this problem, we have developed the NuBot Automated IVR Application Testing Platform, which we demonstrated this week at SpeechTEK 2009 in New York City. The NuBot Platform is an affordable automated IVR application testing solution that is both powerful and easy to use.

During the NuBot Beta 2 Program announced earlier this week, the NuBot Platform will be available free of charge as a SaaS solution through the NuBot Hosting Service. If you’re interested to learn more about the NuBot Beta Program, please contact us at nubot-beta@nuecho.com.

Hurry because the Beta Program only lasts until the end of November, 2009.