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:
- This page: what you will learn, and the ideas you need first.
- Lab setup: prepare Maximo, AutoTestX and the practice test (about 45 minutes, once).
- Exercises: 21 exercises, each with steps, the expected result, and an explanation of what happened.
- How healing ranks candidates: 12 exercises on healing profiles, thresholds and weights (about 50 minutes).
- Healing profiles, step by step: every part of healing profiles checked step by step, with the exact result of each (about 50 minutes).
Who it is for
Section titled “Who it is for”| 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.
Learning objectives
Section titled “Learning objectives”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.
Agenda
Section titled “Agenda”| 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 |
Concepts you need first
Section titled “Concepts you need first”How a step breaks and heals
Section titled “How a step breaks and heals”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:
- 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.
- 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.
- 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.
Suggestions
Section titled “Suggestions”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.
Risk: which steps are high-risk
Section titled “Risk: which steps are high-risk”You do not set a step’s risk; AutoTestX decides it when it heals:
- 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.
- Raised to high when the element’s text, name, value,
aria-labelortitlecontains 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. - 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.
Limits no rule can lift
Section titled “Limits no rule can lift”| 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 |
Where to see what happened
Section titled “Where to see what happened”| 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 |
Known issues at the time of writing
Section titled “Known issues at the time of writing”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.