Designing Effective Test Exercises Using Online Games

Designing Effective Test Exercises Using Online Games

3 July 2024 Stephan Petzl Leave a comment QA

When conducting a software test design course, incorporating practical exercises can greatly enhance the learning experience. One engaging approach is to use online games as testing subjects. This method not only makes the session more interactive but also provides a real-world context for applying test design techniques. Here, we provide a comprehensive guide to selecting and utilizing online games for testing exercises.

Choosing the Right Game for Testing

To ensure a productive exercise, the chosen game should meet the following criteria:

  • Accessibility: The game should be easy to access without requiring extensive setup or registration processes.
  • Ease of Understanding: The game mechanics should be simple enough for participants to grasp quickly.
  • Presence of Bugs: The game should have a fair number of identifiable bugs to facilitate testing exercises.

A suitable game that fits these criteria is Cat with Bow Golf. This game is straightforward yet contains several bugs that can be identified within a short span of time. Here are a few bugs observed:

  • You can shoot your character off the board.
  • You can shoot through the ground and still hit the target.
  • Your character can pass through small pieces of ground.
  • You can shoot your character infinitely upwards if you go far enough out of bounds.

Alternative Approach: Open Source Games

If you prefer a more controlled environment, consider using open source games. Hosting an open source game on a local server allows you to introduce specific bugs and manage updates. A recommended open source game is Thunderdome, with its source available on SourceForge.

Structuring the Exercise

To maximize the learning experience, structure the exercise as follows:

  1. Introduction to the Game: Briefly introduce the game and its objectives.
  2. Exploration Phase: Allow participants a few minutes to explore the game and understand its mechanics.
  3. Test Design: Instruct participants to design combinatorial tests, focusing on varying different game parameters.
  4. Execution and Discovery: Execute the tests and document any bugs discovered during the process.
  5. Discussion: Share and discuss the findings, emphasizing key lessons such as the importance of parameterizing systems under test and incorporating exploratory testing techniques.

Key Lessons

During the discussion, highlight the following lessons:

  • Lesson 1: Combinatorial test design techniques are effective but may be insufficient on their own.
  • Lesson 2: Parameterizing systems under test is a crucial skill for testers.
  • Lesson 3: Incorporating good testing ideas into the mix of variables enhances test effectiveness.
  • Lesson 4: Exploratory testing can uncover unexpected findings and should be incorporated into test scripts.
  • Lesson 5: Requirements will always be incomplete; testing is more than just verifying requirements.

Enhancing the Testing Process with Automation

While manual testing exercises provide valuable insights, incorporating automated testing can further enhance the process. Tools like Repeato offer a no-code solution for test automation, particularly for mobile applications. Repeato leverages computer vision and AI to create, run, and maintain automated tests efficiently.

By integrating Repeato into your testing process, you can quickly set up and execute tests, making it an excellent choice for both novice and experienced testers. For more information, visit our documentation and explore how Repeato can streamline your quality assurance efforts.

Like this article? there’s more where that came from!