Yats – Yet Another Test System

By | February 12, 2013

Introduction to Yats (Yet Another Test System)

Yats is a new project of mine. It is a test framework oriented towards embedded devices. It allows creating repeatable test scenarios from user-defined test cases. The framework is written in C# and can be run on any Windows machine with .NET 3.5 or later. Linux (Mono) support is lagging behind somewhat but I hope to catch up.

The binaries will be put for download during the next couple of months, as soon as I make up my mind on what license to use. Please contact me by writing a comment for an early preview. Since the project is relatively young, there are quite a few unresolved issues. I am trying to do some real-world testing with my co-workers and get rid of the biggest issues before publishing.


Yats allows you to:

  • write simple test cases and provides ready API for serial ports, TCP/IP etc.
  • define test scenarios by combining the test cases in a user-friendly way
  • save and load the test scenarios
  • configure test case parameters. Many built-in .NET types are supported already. Custom parameter type support can be added easily
  • share test case parameter values between test cases and test runs (global parameters)
  • define result (output) values in the test cases. They can be assigned to be input to the next test case(s)
  • view, save and load test run reports. The reports may be saved to a database, text file or viewed on the screen immediately



Yats allows you to run test scenarios that involve multiple DUTs, instruments and control protocols. The framework was written with having no specific application field in mind, therefore any specific code is easily contained within test case libraries. Test cases can be developed using C# Express Edition, Visual Studio (version 2008 or later) or Monodevelop.

The software is modular. The execution engine is completely separate from GUI and logging libraries. The test case API is minimal and there is even a possibility to run non-.NET test cases. Therefore, it is very feasible to extend or replace parts of the application.

Several respectable third party libraries are integrated, such as:

  • SQLite
  • Log4Net
  • NUnit
  • DockPanel Suite
  • TreeViewAdv

I will follow up with more posts detailing individual features

Leave a Reply

Your email address will not be published.