Introduction

The design of a ROS package influences it's reliability in several ways. However in comparison with most other system characteristics the reliability is influenced in a more indirect manner w.r.t. to testability. Some examples:

  • Bad maintainability in form of undocumented code implies even the lack of or the risk of losing implicit "requirements" which serve as expected output/behaviour during testing.
  • Bad extensibility often implies bad testability due to the lack of modularity and missing possibilities to replace parts of the a sw component.

One of the following sections address design considerations which relate to characteristics directly or indirectly influencing reliability and which are usually quite known well in the community in a production code design context as "best practices of production code design" (design patterns).

Another of the following sections addresses design considerations which are production code design best practices as well but are usually rarely known in the community. These "best practices of testable production code design" (design for testability patterns) are often not known and considered at all or are discovered during the development life cycle but are not applyable in late stages of the life cycle then (because it would involve in less or more extensive refactoring of the production code).

results matching ""

    No results matching ""