Test Plan - Rhyduino v1.0 (incomplete draft)

The goal of this plan is to make the process I use to test the Rhyduino code as transparent as possible. It is my hope that there is someone out there who can look at this from a different perspective and help to identify holes in my test plan or errors in my tests.


  • All tests will be executed against the Arduino Duemilanove hardware.
  • The Arduino hardware is running the SimpleFirmata sketch that ships with the Arudino IDE v018.
  • The Arduino is connected to the computer via a USB cable.
  • The computer is running Microsoft Visual Studio 2010 Ultimate on Windows 7 Ultimate.

The Tests

The unit tests and end-to-end tests are written using the testing framework in Visual Studio. As tests are written and checked in, they will be crossed off the list.

Unit Tests

The following files do not contain a class structure that lends itself to unit testing, so all testing of them will be done as functional tests:
  • ArduinoFinder.cs
  • PortReport.cs
  • SerialListener.cs


This is the main class of the application and as such, it has the most extensive list of unit tests.

Arduino.cs Unit Tests


This class contains all of the enumerations used by Rhyduino. As it provides no functionality, the unit tests do nothing other than confirm that the enumeration values are what they are expected to be.

Enums.cs Unit Tests


This class contains all of the extension methods used by Rhyduino.

Extensions.cs Unit Tests


This is a simple class as it contains event data and provides no functionality.

FirmataEventArgs.cs Unit Tests


The group of FirmataEncoder methods do not perform any sort of parameter validation because it is intended to be used for future versions of the Arduino board which may have different capabilities (and we already know that some do). Therefore, we do not need to test the parameter validation; we only need to test that the methods function as expected.

FirmataEncoder.cs Unit Tests

Functional Tests

For my functional tests, I will be doing everything manually. Details on those tests will be provided here soon.

Functional Test Notes

(This isn't everything. More is on the way.)

Last edited Jun 28, 2010 at 12:24 AM by RhyMednick, version 23


No comments yet.