Influence doesn’t have to look like volume or certainty. It could look like curiosity, with an edge of empathy and wisdom.
And I am so curious - when it comes to making testing easier. I also love a heuristic. Does not mean I always remember them, so take my advice — i’m not using it. Here’s an exploratory testing heuristic using the acronym W.I.T.C.H.E.R
W.I.T.C.H.E.R Heuristic
W — Workflows
- Explore common and edge workflows, identify typical user journeys and uncommon paths. Test each step, transitions, and decision points.
- Integration points - check interactions between different system components and third-party services. Ensure data consistency and flow.
- Error Handling - validate how the system handles errors, including user errors, system erro…
Influence doesn’t have to look like volume or certainty. It could look like curiosity, with an edge of empathy and wisdom.
And I am so curious - when it comes to making testing easier. I also love a heuristic. Does not mean I always remember them, so take my advice — i’m not using it. Here’s an exploratory testing heuristic using the acronym W.I.T.C.H.E.R
W.I.T.C.H.E.R Heuristic
W — Workflows
- Explore common and edge workflows, identify typical user journeys and uncommon paths. Test each step, transitions, and decision points.
- Integration points - check interactions between different system components and third-party services. Ensure data consistency and flow.
- Error Handling - validate how the system handles errors, including user errors, system errors, and edge cases.
I — Inputs
- Variety of inputs - test with different data types, lengths, and special characters. Include valid, invalid, and boundary inputs.
- Data formats - ensure the system can handle different formats like JSON, XML, CSV, etc.
- Input sources - test inputs from various sources such as forms, files, databases, APIs, etc.
T — Time
- Time-based conditions - check how the system behaves at different times, such as leap years, time zones, and daylight saving changes.
- Performance testing - assess the system’s response time, throughput, and load handling capabilities.
- Timeouts and delays - verify handling of network delays, server timeouts, and user session timeouts.
- Prioritisation - consider how much time you have for exploratory testing and prioritise accordingly.
C — Context
User context - understand different user scenarios, roles, and permissions. Environment context - test across various environments like development, staging, and production. Business context - ensure alignment with business rules, workflows, and objectives.
H — Heuristics and History
Common heuristics - use known heuristics like RCRCRC (Recent, Core, Risky, Configuration, Repaired, Chronic). Historical data - analyse past bugs, user feedback, incident reports, and logs. Exploratory testing - continuously adapt testing based on findings.
E — Edge Cases & Exceptions
Boundary conditions - test limits like max/min values, empty states, and overflow scenarios. Exception handling - validate how the system responds to unexpected inputs or system failures. Rare scenarios - include unusual user behaviors or uncommon configurations.
R — Risks & Regulations
Risk-based testing - prioritise areas with higher business or technical risk. Compliance checks - ensure adherence to legal, security, and privacy standards (e.g., GDPR, PCI-DSS). Security considerations - validate authentication, authorisation, and data protection mechanisms.