Blog - Xray

How to train your team for Exploratory Testing

Written by Beatriz Biscaia | Aug 29, 2024 2:07:25 PM

Picture a team that’s working on a new mobile banking application:

  • Instead of following predefined test cases, one tester begins exploring the app freely;
  • He notices the app crashes when entering an excessively long name during registration and fails to validate special characters in the address field;
  • Curious, he transfers maximum and negative amounts between accounts, discovering balance display errors;
  • Switching between features and apps, they find the app loses its state and logs the user out unexpectedly.

This is an example of the impact Exploratory Testing can have on your testing efforts. It is a hands-on approach to software testing in which you simultaneously design and execute tests using your creativity and intuition. 

The purpose of this blog post is to guide you on how to effectively train your team for exploratory testing, ensuring they are well-equipped to leverage this approach for maximizing software quality.

 

How to prepare for Exploratory Testing

Identify the right candidates for training
  • Look for testers with strong analytical thinking, creativity, and a keen eye for detail. These individuals should be capable of thinking beyond the constraints of predefined test cases. 
Set clear goals and expectations
  • Define the primary objectives, specifying the areas of the application that require thorough examination.
  • Outline the types of issues to look for, such as usability problems, performance bottlenecks, security vulnerabilities, or edge case failures.
  • Establish a framework for documenting and reporting findings to ensure communication clarity. 
Provide training and resources
  • Offer training sessions to help testers understand the principles and techniques of Exploratory Testing. Ensure they have access to tools and resources that can aid in the process, such as bug-tracking systems, test environments, and relevant documentation.

Implement Exploratory Testing training

  1. Explain what Exploratory Testing is by using case studies to illustrate successful testing examples.

  2. Promote skill development sessions:
    • Introduce and train your team on tools that support exploratory testing.
    • Provide access to resources such as books, online courses, and industry blogs.
    • Schedule training sessions focused on critical skills.
    • Incorporate hands-on practice with real applications.
  3. Pair less experienced testers with seasoned testers for mentorship.

  4. Simulate testing scenarios:
    • Create realistic testing scenarios and challenges to practice exploratory testing techniques in a controlled environment.
    • Introduce mindmaps and test charters defining the scope and objectives of each test session, outlining what is to be tested, the purpose of the test, and any specific areas of focus.
  5. Provide regular feedback on testing practices and findings.

 

Organize the Exploratory Testing session 

1. Organize the virtual meeting
  • Set up a virtual meeting space;
  • Invite multiple team members;
  • Prepare a dashboard with: key focus; known bugs; testing boundaries.

2. Starting the Exploratory Testing session

  • Start with an introduction including: the scope, known issues, and specific areas to explore; 
  • Each team member independently tests the application. 

3. Debriefing the decision
  • Conduct a debriefing to discuss uncovered issues, categorize each one and determine its impact;
  • Discuss the next steps.

Extra techniques for Exploratory Testing

Hands-on workshops and live sessions

Instructors can provide scenarios and guide you through identifying and documenting issues. This helps you understand the nuances of exploratory testing and develop the skills needed to think critically and creatively.

Mind Maps and Test Charters
You can map out various test scenarios, user flows, and potential problem areas, providing a clear roadmap for the testing efforts through a visual organization. Test charters define the scope and objectives of each test session, outlining what is to be tested, the purpose of the test, and any specific areas of focus.

 

Skills for Exploratory Testing

1. Curiosity and critical thinking

Description: Exploratory testing requires testers to think outside the box and question assumptions. Encourage your team to be naturally curious about how things work and why they might fail.

Training tips: Conduct regular brainstorming sessions to foster a culture of inquiry and use real-world scenarios to practice identifying potential issues.

2. Domain knowledge

Description: Testers should understand the application's domain to identify significant issues and anticipate user behaviors.

Training tips: Provide comprehensive onboarding sessions about the product and industry and facilitate continuous learning through webinars, workshops, and industry events.

3. Technical skills

Description: A solid grasp of the technology stack is crucial for effective exploratory testing.

Training tips: Offer coding and scripting workshops to build technical proficiency and encourage participation in technical courses or certifications relevant to your tech stack.

4. Analytical skills

Description: Testers need to analyze the application, identify patterns, and detect inconsistencies.

Training tips: Conduct exercises that involve data analysis and pattern recognition and use mind maps and flowcharts to visualize and dissect application workflows.


5. Creativity

Description: Exploratory testing thrives on creative approaches to uncover hidden issues.

Training tips: Promote creative thinking through problem-solving games and activities and create a safe environment where unconventional ideas are encouraged and explored.

6. Communication skills

Description: Effective reporting of findings and collaborating with developers are essential.

Training tips: Offer training on effective bug reporting and documentation and conduct mock sessions to practice presenting findings to various stakeholders.

7. Risk assessment

Description: Testers should identify and prioritize testing areas based on risk.

Training tips: Train your team on risk assessment techniques and prioritization frameworks and use case studies to practice assessing and managing risks.

8. Time management

Description: Exploratory testing requires efficient time management to cover as much ground as possible in a limited timeframe.

Training tips: Introduce time management tools and techniques and conduct time-boxed testing sessions to practice efficient testing within constraints.

9. Adaptability

Description: The ability to quickly adapt to new information and changing conditions is key.

Training tips: Simulate changing requirements and unexpected scenarios during training and encourage a mindset of continuous learning and flexibility.

10. Collaboration

Description: Teamwork and collaboration are crucial, as exploratory testing often involves collective brainstorming and problem-solving.

Training tips: Foster a collaborative culture through regular team meetings and pair testing sessions and use tools that facilitate collaboration and information sharing.



How to measure the success of Exploratory Testing

Measuring the success of Exploratory Testing involves tracking key metrics that provide insights into the effectiveness of the testing process. Some important metrics include:

  • Defect discovery rate: The number of defects discovered per session or over a specific period. A higher rate indicates thorough exploration and effective issue identification;

  • Severity and impact of defects: Significance and consequences of issues discovered during exploratory testing. Severity categorizes defects based on their disruption level, ranging from critical system failures to minor inconveniences. Impact assesses the broader consequences on user experience, business operations, compliance, and security;

  • Test coverage: The breadth and depth of the application areas explored, ensuring that all critical functionalities and potential risk areas are tested;

  • Tester engagement and participation: The level of involvement and proactive participation of testers in exploratory sessions, indicating their engagement and curiosity;

  • Time to resolution: The average time taken to address and resolve the identified defects reflects the efficiency of the feedback loop between testers and developers.

 

Adjust training programs based on feedback and results

Collect feedback from testers on the effectiveness of the training sessions, the tools used, and the challenges faced during Exploratory Testing. Analyze the metrics tracked to identify areas where testers excel and where additional training might be needed. For instance, if the defect discovery rate is low or the severity of discovered defects is not significant, it may indicate the need for enhanced training in specific exploratory techniques.