Skip to content

Course: Self-healing — 1. Course overview

A hands-on course on self-healing and automatic fixes, using IBM Maximo as the application under test. You break a real Maximo test on purpose, watch AutoTestX heal it, and learn to control, with rules, which fixes apply on their own and which wait for a person.

The course has five modules:

  1. This page: what you will learn, and the ideas you need first.
  2. Lab setup: prepare Maximo, AutoTestX and the practice test (about 45 minutes, once).
  3. Exercises: 21 exercises, each with steps, the expected result, and an explanation of what happened.
  4. How healing ranks candidates: 12 exercises on healing profiles, thresholds and weights (about 50 minutes).
  5. Healing profiles, step by step: every part of healing profiles checked step by step, with the exact result of each (about 50 minutes).
Role Exercises
Test Developer / Tester: reads and approves fixes 3, 4, 5, 8, 15, 16, 17, 20, 21
Test Manager / Admin: sets the project’s self-healing policy All, especially 1, 2, 6, 7, 9–14, 18
QA lead: evaluates self-healing for a Maximo programme 3, 4, 5, 13, 14, 19

You need an AutoTestX account with the Admin role in a practice project, a second account with the Tester role (exercise 17; exercise 21 makes it a Test Developer for a while), and a Maximo user who can create and save work orders.

By the end you can:

  • explain when AutoTestX heals a step, and why it never changes a test silently;
  • read a heal in the run report, on the Self-healing page and in the audit trail;
  • approve, reject and revert a fix;
  • create, test (dry run), switch on and retire a rule;
  • predict what a rule will do from its scope, conditions and action;
  • explain the safety limits no rule can lift: high-risk steps, the daily limit, pauses;
  • recognise when a “passing” heal is not safe and must be reviewed by a person;
  • approve a fix safely when the test was edited after its run, or while a colleague is editing it.
Module Exercises Time
Setup Lab setup 45 min
1. Rules and their form 1, 2 30 min
2. Fixes without and with a rule 3, 4 40 min
3. Safety: high-risk steps 5 15 min
4. Rolling out a rule 6, 7, 8, 9 50 min
5. Where a rule applies 10, 11, 12 45 min
6. Limits and pauses 13, 14 30 min
7. Undoing fixes 15, 16 30 min
8. Roles and the record 17, 18 25 min
9. When a pass is not safe 19 15 min
10. When the test changed since the run 20, 21 35 min

Every step that acts on an element has a target: a list of locators, e.g. the CSS selector #toolactions_SAVE-tbb_image for Maximo’s Save icon. When an upgrade renames that id, the first locator finds nothing. AutoTestX then:

  1. Tries the backup locators recorded with the step. If one works, the step is reported WARN (Fallback locator) and AutoTestX suggests making that backup the main locator. This is a Tier 0 fix.
  2. If none works, it compares every element on the page with how the element looked the last time the step passed (its fingerprint: name, label, text, attributes, position…). A clear winner is used: the step is reported Healed locator. This is a Tier 1 fix.
  3. If nothing resembles the element, the step fails with no confident match.

Either way the run does not change the test. It files a suggestion.

A suggestion says: “the step’s locator was X; use Y instead”, with the evidence and a confidence score. It appears on Self-healing → Suggestions under Pending. A person can Approve it (the test is updated), Reject it (it is not offered again) or Pick the element instead…. See Self-healing.

A rule is a project policy that decides suggestions without a person. It acts a few seconds after a run finishes, on the suggestions that run produced.

Action Effect on a matching suggestion
Apply automatically Written into the test, listed under Approved as Applied by rule “…”
Always require review Stays Pending for a person, even if another rule would apply it
Reject automatically Moves to Rejected; not offered again

A rule matches a suggestion only if every condition holds:

Condition Meaning
Applies to The test is ticked, is in a ticked suite or has a listed tag; or All tests. Steps inside a component only when the component is ticked
Healing tier Tier 0 (backup locator) or tier 1 (fingerprint match)
Minimum confidence How sure AutoTestX is that it found the right element
Risk Which steps it may touch: low, medium (see below)
Seen in at least (runs) The same fix must have come up in that many runs
Step types e.g. only click

A new rule starts in Dry run mode: it only records what it would have done. Switch it to Active once the record looks right. Saving a rule changes nothing by itself; it acts on the next run. See Self-healing rules.

You do not set a step’s risk; AutoTestX decides it when it heals:

  1. Starting point, from the step type: Hover, Clear → low; Click, Type, Select → medium; any check (Exists, Visible, Text…) → medium, because a check passing on the wrong element can hide a real defect.
  2. Raised to high when the element’s text, name, value, aria-label or title contains a consequential word: delete, remove, destroy, purge, erase, discard, pay, payment, purchase, buy, checkout, order now, transfer, withdraw, refund, void, submit, approve, reject, send, publish, terminate, deactivate, close account, cancel order / subscription / account.
  3. Raised to high for a password field: typing a password into the wrong box is how it ends up visible.
Risk A run acts on a healed element at A rule may apply it automatically
low 70% confidence yes, if the rule allows low
medium 78% confidence yes, if the rule allows medium
high never never: the rule form refuses high

In Maximo, Delete Work Order, Mark Row for Delete, Approve / Reject in workflow, Send and the login Password field are high-risk. Save, New, Change Status, Route Workflow and a dialog’s Cancel are medium: their wording is not on the list.

Limit What happens
3 automatic fixes per test per 24 hours (rolling, all rules together) The 4th and later fixes wait for a person: too many automatic fixes on this test in 24 hours (limit 3). 3 is the default: an organization sets its own default and maximum, and a project its own limit within it (0 = off). Fixes a person approves do not count
Circuit breaker If a step a rule fixed breaks again, that rule is paused for the whole test until someone clicks Let it fix again
Pause on revert When a person reverts a rule’s fix, the rule is paused for that step (unless they untick the option)
Most cautious wins If two rules match, require review beats reject beats apply, whatever their priority
Place Shows
Run report (click a step) Primary / Fallback / Healed locator, the heal panel, confidence, risk
Self-healing → Suggestions Pending, Approved, Rejected, No longer applies, Replaced, Reverted
Self-healing → Rules Rules, their preview, and Paused for a test
Self-healing → Audit trail Every decision, by a person or a rule, with the locator before/after and the evidence. See Self-healing audit trail
Editor → History Which revision a rule made (wand badge)
Overview Automatic fixes this week, waiting for review, paused rules

Three exercises describe the intended behaviour, which the current release does not yet meet. Trainers: show them as examples of why a person should review fixes.

Exercise Today’s behaviour
5 When the password field is renamed, the run may type the password into the User name box, and a broad rule applies the fix, because a backup-locator (Tier 0) fix is always rated low risk
9 (step 4) For the same reason, a Tier 0 fix to a Click is rated low, so a “low risk only” rule applies it
19 When every backup locator matches several icons, the run may click the wrong icon, report it as found, and a rule applies it

Next: Lab setup.