DiagramElements-Probe/en: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 25.x)
Zur Navigation springen Zur Suche springen
Inhalt gelöscht Inhalt hinzugefügt
Zeile 70: Zeile 70:
The check can therefore perform arbitrary checks (and also more complex combinations of checks)
The check can therefore perform arbitrary checks (and also more complex combinations of checks)


=== Sequence Probes ===
=== Sequence (Remembering) Probes ===
All of the above probe types do checks on individual values and are therefore stateless.
All of the above probe types do checks on individual values and are therefore stateless.
The following probes perform checks based on previous incoming value(s).
The following probes perform checks based on previous incoming value(s).
This means that they remember previous values and keep this as an internal state for followup checks.
This means that they remember previous values and keep this as an internal state for followup checks.
The state is held in the probe itself, and independent of which outer action block was responsible for its activation.
Those probes may need a reset, when a followup test sequence is executed, which involves the same probes
Those probes may need a reset, when a followup test sequence is executed, which involves the same probes
There are both a UI-menu entries and action blocks for resetting - for individual probes, for probe-groups and for all probes.
There are both a UI-menu entries and action blocks for resetting - for individual probes, for probe-groups and for all probes.

Version vom 4. Mai 2018, 07:45 Uhr

Introduction

Probes can be placed into a diagram to monitor values generated by a step's output pin. They can be configured to check those pin values against a wide number of attributes (values are in a range, values are increasing, decreasing, below or above a limit etc.)

The parameters (i.e. limits or range bounds) can either be defined statically, or recorded by a prototypical "good" run through the testsuite.

For this, probes can be set into one of three modes:

  • inactive - probes are disabled completely
  • recording - probes will record incoming values and adjust their check-parameter(s)
  • checking - probes will monitor incoming values and check them against their check-parameter(s)

Probes are placed into the diagram and attached to a pin via the diagram editor's pin pop-up menu.

Probe Types

Different probe types are available, which either check individual values for being valid, or check whole value sequences (for example, for being increasing, decreasing, etc.). Finally, there are probes which only record their incoming values without any value checks. These non-checking probes are useful to collect data for graph generation (i.e. using Plot/Graph actions).

Probe types are:

Single Value Probes

These probe types check each individual value independent of previous values.

Value must be Equal

given a single constant setpoint value, this probe checks that every incoming value is equal. The probe generates a FAIL, as soon as a non-equal value is encountered. This probe can compare numbers, vectors, strings, etc.

Value may NOT be Equal

given a single constant setpoint value, this probe checks that every incoming value is not equal. The probe generates a FAIL, as soon as an equal value is encountered. This probe can compare numbers, vectors, strings, etc.

Value must/may not Match a Pattern

given a single constant setpoint value, this probe checks that every incoming value is matching or not matching that String pattern. The match can be defined as GLOB-pattern match, regular expression match, string-includes, string-start or string end match, and also to optionally ignore upper/lower case differences. The probe generates a FAIL, as soon as a matching/non-matching value is encountered. This probe can be used with strings only.

Value must be Greater/Greater or Equal/Less/Less or Equal

given a single constant setpoint value, this probe checks that every incoming value conforms to the particular magnitude relation. The probe generates a FAIL, as soon as a non-conforming value is encountered. This probe can compare numbers, and strings; for strings, the unicode encoding of individual characters defines the order.

Value must be in Interval

given two constant setpoint values which define the minimum and maximum of a numeric interval, this probe checks that every incoming value is within that interval (i.e. min <= value <= max). The probe generates a FAIL, as soon as a non-conforming value is encountered. This probe can compare numbers, and strings; for strings, the unicode encoding of individual characters defines the order.

Value may NOT be in Interval

similar to the above, this FAILs if an incoming value is WITHIN the defined interval

Value must be one of the Following

Every incoming value must be member of a given set of ok-values.

Value may NOT be one of the Following

Every incoming value must NOT be member of a given set of bad-values.

Value must be Roughly Equal

this FAILS if a value is not within an interval defined as setpoint +/- tolerance-fraction. The tolerance fraction is given as 0..1. For example, to check that a value is 100 +/- 5%, use 0.05 as tolerance and 100 as setpoint.

Expression must Evaluate to True

this allows for a Smalltalk expression to be defined as check-condition. The check can therefore perform arbitrary checks (and also more complex combinations of checks)

Sequence (Remembering) Probes

All of the above probe types do checks on individual values and are therefore stateless. The following probes perform checks based on previous incoming value(s). This means that they remember previous values and keep this as an internal state for followup checks. The state is held in the probe itself, and independent of which outer action block was responsible for its activation. Those probes may need a reset, when a followup test sequence is executed, which involves the same probes There are both a UI-menu entries and action blocks for resetting - for individual probes, for probe-groups and for all probes.

All Values must be the Same

All incoming values must be the same as the very first incoming value (i.e. the first appearing value defines the setpoint for all following)

All Values must be Different

No incoming value may appear twice.



Copyright © 2014-2024 eXept Software AG