DEV Community

Cover image for What a W.I.T.C.H!
Paradith
Paradith

Posted on

What a W.I.T.C.H!

Exploratory testing using a Witch.

Erm - pardon?

I 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.

W.I.T.C.H Heuristic

W — Workflows

  • Explore common and edge workflows: Identify typical user journeys and uncommon paths. Test each step, transitions, and decision points. If you have enough experience, then hell yeah — use your Oracle knowledge!
  • 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., if applicable.
  • 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. Yes it’s 2024 but you might be surprised how often hidden third parties do not cope with time changes.
  • Performance testing: Assess the system’s response time, throughput, and load handling capabilities.
  • Timeouts and delays: Verify the handling of network delays, server timeouts, and user session timeouts.
  • How much time do you have to do your exploratory testing? What is the priority based on that.

C — Context

  • User context: Understand different user scenarios, roles, and permissions. Test features specific to each user type.
  • Environment context: Test across various environments like development, staging, and production. Ensure compatibility with different operating systems, browsers, and devices.
  • Business context: Ensure alignment with business rules, workflows, and objectives. Validate against business requirements and user expectations.

*H — Heuristics and History
*

  • Common heuristics: Use known heuristics like RCRCRC (Recent, Core, Risky, Configuration, Repaired, and Chronic) to guide testing. There are so many available online or via Ministry of Testing.
  • Historical data: Analyse past bugs, user feedback, incident reports and anomaly detection logs — well any logs. Focus on areas with frequent issues or something you think is strange...
  • Exploratory testing: Continuously adapt testing based on findings. Use exploratory charters to guide and document testing sessions.

I am a Staff Quality Engineer, awesome woman in tech, UN Women Delegate and I believe in the value of curiosity and empathy in testing. I do all my own stunts, love food, travel, my friends, family, music and art.

If you enjoyed this story, please share to help others find it. Feel free to leave a comment — I am open to insight, learning and discussion.

Top comments (0)