Monthly Archives: October 2015

Tests organization – for we are many

This post is part of the SATF work.

The more simulation acceptance tests there are in a project, the more value they can bring. Therefore, it makes sense to talk about a test suite – an organized bunch of tests. The section shows how a multicomponent test is glued into a whole, states the options for the test code markup and explains how a test suite is organized. Continue reading

Test structure – stage, players and scenario

This post is part of the SATF work.

The procedure stated in the “Test flow” section defines the entities involved in simulation auto acceptance testing. But the MRDS mechanics and general unit testing patterns are what determines the actual structure of a test. An example of that structure was presented early on in the “Test example” section, although now, MRDS have been reviewed, it starts making more sense. Since the current section is actually an explanation of what was presented there, I do not reference the section explicitly below, but imply it as a primary example. A simulation auto acceptance test consists of three parts: physics environment description, software description and test scenario. Continue reading

Test flow – setup, execute, assert

This post is part of the SATF work.

Ideas from the “Solution” and “Probabilistic testing” sections applied to the reality and devices of the MRDS framework gave birth to the simulation acceptance test execution procedure depicted on the picture below. Every step of it will be illustrated by the Monte Carlo localization test of the “Test example” section. Continue reading

MRDS review – DSS, CCR, simulator and friends

This post is part of the SATF work.

This is a good time to review Microsoft Robotics Developer Studio architecture, since all the following will use the terms and notions of that system. Quite naturally, it strongly influenced simulation testing framework algorithms design and data structures. MRDS is a .NET-based framework which consists of three main components: DSS, CCR and simulation engine, plus tooling. Continue reading

Test example – Monte Carlo localization

This post is part of the SATF work.

The section elaborates on one particular set of simulation auto acceptance tests – the Monte Carlo localization service tests. These tests are used as an example in the most of the following material, so they are worth of individual scrutiny. By the same token, the MC localization case is complex enough to illustrate the most important aspects of the testing framework including probabilistic testing. Although its implementation part looks Greek at the moment (further sections will clarify it), it is also presented, along with the general description of the tests and problem, to provide the taste of what the whole idea is worth in reality. Continue reading