top of page
Search
Writer's pictureOngeziwe Bulana

The Art of Breaking Things: A Tester's Guide to thinking like a user


In the world of software testing, there is an art to breaking things. It is not about purposeful breaking actions, but rather about understanding how users interact with software and anticipating the myriad ways they might unintentionally "break" it. This user-centric approach to testing is crucial for delivering robust, user-friendly applications.


Understanding the user’s mindset

Users come in all types, from beginners who may be overwhelmed by complexity to experts who push the limits of functionality. There are also those with accessibility needs requiring special considerations. When thinking like a user, it is important to consider common behaviours such as:

  • Impatience with slow loading times

  • Tendency to skim rather than read thoroughly

  • Expectation of intuitive design

  • Clicking unintended areas

  • Entering incorrect types of data into form field


Try thinking like a user

Thinking like users is not easy as their actions are unpredictable. One helpful technique is thinking about what you have seen friends or family doing previously. 


Another useful technique is user journey mapping, which involves mapping out the steps users take to complete tasks and identifying potential pain points and areas of confusion.


Try using the software with various limitations, such as using only a keyboard or a screen reader. Another good exercise is to attempt to use the application by acting like you are in a hurry, these exercises can reveal usability issues that might not be apparent under ideal conditions.


It is not actually an art but rather unintentional:

The core of user-centric testing lies in creatively attempting to "break" the software. From a tester's perspective we realise that this is unintentional behaviour by users but as testers we have to attempt various techniques to mimic users. A few examples of these behaviours include:

  • Trying unexpected inputs: Feed the application with data it was not designed to handle, like:

    • Entering extremely long strings of text

    • Using special characters and emojis

    • Leaving fields blank or partially filled


  • Stress testing

    • Rapidly clicking buttons multiple times

    • Opening multiple browsers or tabs

    • Performing resource-intensive operations simultaneously


  • Interrupting processes

    • Closing the browser mid-transaction

    • Simulating lost internet connection during crucial steps

    • Switching between apps frequently

    • Leaving the browser or app window for some time and returning later


The behaviours listed are only a short set of examples of possibilities or features used in ways they were not designed for, but are intended to give you a glimpse of the possibilities that your users could get up to. 


Developing the "breaking" mindset

To excel at user-centric testing, cultivate a curious mindset. Always ask yourself, "What if...?" and don’t be afraid to challenge assumptions about how the software should be used. At the same time, balance that with constructive thinking. It is not just about finding flaws - it is about identifying ways to improve the product.


Continuous learning is also crucial. Stay up-to-date with the latest UX trends, user behaviour studies, and even the feedback from customer support tickets. This ongoing learning will sharpen your skills and help you anticipate potential problems better.


Balancing creative “breaking” with constructive feedback

As testers, our role is to identify potential issues and weaknesses in the application. However, it is equally important to provide actionable, constructive feedback that helps developers improve the product. When thinking like users and testing creative edge cases - It is essential to balance this process.


To achieve this balance, focus on reproducibility by documenting steps to reproduce issues, providing environment details, and ensuring issues are reproducible.  It is also important to consider edge case validity, evaluating whether they align with real-world user scenarios and assessing their potential impact. Focus on edge cases with significant user impact and avoid testing for testing's sake.


Conclusion

The “art of breaking things” is really about making better software. At Zamaqo, we believe that by thinking like a user, testers can find issues that are not only technical in nature, but also in how ‘easy’ the software is to use as well as how to unintentionally ‘break’ the app or software.  


By mastering this skill, testers become champions for the user, helping to ensure that the final product meets and exceeds expectations. 


At Zamaqo we embrace this approach, which we believe creates products that truly meet users' needs.


bottom of page