Welcome to GotSpeech.NET Sign in | Help

Marshall Harrison - "the gotspeech guy"

Site news, Speech Server insight and assorted ramblings
Unit testing OCS 2007 Speech Server

At last night's JAXDUG meeting Andrew Connell did an excellent presentation on using MbUnit for unit testing .Net applications. There was lots of lively discussion around MbUnit and the subject of doing unit tests.

 

I've decided to add MbUnit to my tool set and see how well it works at unit testing speech workflow applications. This will require some different thinking on how my speech applications are architected. My gut feeling is that MbUnit (or any of the other unit testing tools) won't be able to actually test the workflow activities. But, if the application is structured right by segmenting logic off into classes when possible then you should be able to unit test those classes.

So, I'm wondering if any of you are doing unit testing on your speech applications. If so, would you share your experiences by posting a comment to this? I'm sure my readers can benefit from the experiences  others have with testing their speech applications.

How are you testing your workflow? Please share that also.

Note: I don't want to hurt any feelings so I should mention that Corey Grusden did a great presentation on how he attacks a client project as a consultant. His talk on the spec gathering process and how he defines the application was very informative.

Posted: Thursday, October 04, 2007 9:43 AM by marshallharrison

Comments

kstep said:

Hello Marshall,

We are using Visual Studio Team Suite, which has built in unit testing capabilities. We are currently working out a process to do unit testing with our Speech UI objects. In fact one of my tasks today is to see how to integrate the built in test process with our speech app. So I should have a good idea on how things work fairly soon.

# October 5, 2007 8:51 AM

kstep said:

Hello Marshall,

Well it turns out that for us, unit testing a speech application amounts to developing as much of the code outside the actual VUI as possible and unit testing the resulting classes. We simply don't have the resources to develop unit tests that somehow attach to the call flow engine. Since much of what we are doing is fairly dynamic, this approach, although not full proof, (and I suppose unit testing as a whole is not full proof) provides us the level of testing that is required for the company I am contracted with.  There is an article I found by Scott Allen (See URL below) that talks about this subject with regards to workflow.  It talks about the possibilities of unit testing custom activities in Windows Workflows and I am not so sure how well his methods can apply to Speech Workflows.

We are using the Unit Test capabilities built into Visual Studio 2005 Team Suite.  This test system can automatically generate test projects with stub code for each class member. It is very similar to NUnit.

I will keep you informed with how things progress.

http://odetocode.com/Blogs/scott/archive/2006/08/02/5492.aspx

KSTEP

# October 9, 2007 2:10 PM

kstep said:

Hello Marshall,

Well it turns out that for us, unit testing a speech application amounts to developing as much of the code outside the actual VUI as possible and unit testing the resulting classes. We simply don't have the resources to develop unit tests that somehow attach to the call flow engine. Since much of what we are doing is fairly dynamic, this approach, although not full proof, (and I suppose unit testing as a whole is not full proof) provides us the level of testing that is required for the company I am contracted with.  There is an article I found by Scott Allen (See URL below) that talks about this subject with regards to workflow.  It talks about the possibilities of unit testing custom activities in Windows Workflows and I am not so sure how well his methods can apply to Speech Workflows.

We are using the Unit Test capabilities built into Visual Studio 2005 Team Suite.  This test system can automatically generate test projects with stub code for each class member. It is very similar to NUnit.

I will keep you informed with how things progress.

http://odetocode.com/Blogs/scott/archive/2006/08/02/5492.aspx

KSTEP

# October 9, 2007 2:12 PM

SydneyOs said:

Marshall - would love a follow-up on this.  Were you able to find a way to do unit testing of workflows or activities?  I just listened to a podcast on Pex (http://research.microsoft.com/Pex/), which I'd love to use, but I don't see how Speech Server workflows or activities lend themselves to testing at all.

Cheers,

Sydney

# July 8, 2008 4:06 PM

marshallharrison said:

The only comments I have are similar to those from Ken. You can test classes that do routine stuff such as compute something or do database access or call a web service but I haven't found a way to test the Speech Components.

To be honest I've just been to busy to really dive very deep into this subject.

# July 14, 2008 9:45 AM
Anonymous comments are disabled