Thoughts on Testing – Don’t Duplicate Code!

Here at Microsoft, the majority of our engineering groups are broken down into test development teams and product development teams.  Generally the test teams develop test frameworks and test cases to validate functionality of products.  Developers are usually responsible for unit and method based tests.  Often times, these teams end up writing very similar test…

0

Quick Aside on XML – The Wrong Way to Use XML

XML is a great way to collect and author data in a way that can be consumed by any number of applications.  There are some exceptionally powerful tools that can consume XML formats and enforce levels of data validation, but this is only useful if the implementation make sense.  After working on some legacy tools…

3

Quick Aside on C# – Reflection’s Power and Pitfalls

I am currently developing a couple of internal test tools to help with test case development and test case data analysis.  I have designed the tool to be generic, meaning that anybody that can create and serialize objects for me I can edit.  Here are some of the interesting issues I’ve run into so far……

1

Thoughts on Testing – Breaking Down the Test Plan

Test plans, or test specs, are designed to share with a product team exactly what a tester plans on covering to ensure that their feature is ready to ship to customers.  Problem 1: Who Is the Test Plan For? Thinking about who the test plan is for can greatly influence the results of what comes…

0

Speech Recognition – Using Multiple Grammars to Improve Recognition

A difficult problem both users and developers face is recognizing words that are similar sounding, but wrong for the current context.  An example of this would be the words “yellow” and “hello”.  Using the simple WPF app from the previous Exploring Grammar Based Recognition post, I will show an example of this confusion and a…

3

Speech 101, Part 3 – Text To Speech: Getting the Computer to Carry the Conversation

In my previous posts I covered a number of scenarios around user speech recognition.  System.Speech also includes the capability to synthesize text into sounds which can be used to create unique conversational experiences.  There are a number of great examples on writing Text-to-Speech apps and plugins.  I will highlight getting up and running quickly with…

0

Speech Recognition – Exploring Grammar Based Recognition

In my two previous posts, I covered how to create speech recognition engines and use them to parse through WAV files containing a sample “Hello World” recording. This post will focus on two things.  First, simple real-time recognition with a simple hardcoded grammar and second, a way to let you dynamically improve the system by…

1

Speech 101, Part 2 – Using C# to Recognize “Hello World”

In my last post I covered how to perform basic speech recognition with a simple grammar and a “Hello World” WAV recording in C++.  This post will cover how to accomplish what was in the previous post, but this time using the managed APIs. Sound Check, Round 2 The support files for this example can…

17