Analysis of Robot reports from OSM Jenkins

1. Retrieval of all currrent data for aggregate analytics

Database update:

2. Aggregated analysis of stability

2.1 Restricts data to time window for analysis

2.2 Finding sequences of successful builds and Robot reports

Two values retrieved from the build are key to determine the state of the jubs and test suites at a given moment:

Based on these two states, 3 types of temporal sequences of success/failure are identified per builds and test suites:

  1. Successful builds/failed builds in a row: grp_build_result.
  2. Successful test reports vs. test reports with fails in a row: grp_test_result.
  3. Clean builds and tests vs. failures (of any kind) in a row: grp_success_fail.

For the identification of these sequences, the following mapping applies:

Type of sequence Relevant state OK sequence contains NOK sequence contains Ignore
grp_build_result build_result SUCCESS or UNSTABLE FAILURE ABORTED
grp_test_result test_result PASS FAIL UNAVAILABLE
grp_success_fail test_result PASS FAIL or UNAVAILABLE N/A

The different groupings of segments are detected and a label is added to each sample...

Then, the duration of each of the sequences of success/failure is determined and a specific dataframe is built summarizing such sequences, to ease their representation and analysis...

2.3 Finding sequences of pass/fails per test suite

3. Reports

3.1 Aggregated success rate per test step

3.2 Overall success of Jenkins builds and Robot tests

3.3 Sequences of pass/fails per test suites