This article describes how to use the Ranorex Studio IDE and the Ranorex API for test automation in your behavior-driven development (BDD) process. BDD requires a cognitive shift: instead of thinking about testing functions, you are now thinking about behaviors....
Effective communication is one of the critical factors that affect team productivity and growth. It is also an important skill employer look for when hiring. But if it’s not prioritized, there are many opportunities on a software team for communication to break down.
Agile teams have many different roles, such as developers, testers, project managers, business analysts, ScrumMasters and more. Each of them has different mental models, which can cause gaps in communication.
What are the mental models?
Have you been in any of these situations before?
- You give the necessary status updates in standups, but your team doesn’t understand what you’re talking about
- You explain a bug to the developer, but they misunderstand and make the wrong changes
- Your stakeholders ask you for the status of a project, even though you’ve been reporting it periodically
- You are talking in a team meeting, and team members start tapping on their mobile phones and laptops without paying much attention to you
These are common problems that happen in the work environment as people create and use different mental models.
A mental model is a representation of someone’s thought process about how something works. It is a concept, framework or worldview that someone develops in their mind to help them interpret their surroundings and understand the relationship between things.
People use mental models to make decisions and solve problems. But they’re also deeply held beliefs about how the world works.
Why are mental models important in agile teams?
Agile teams have people from different cultures, backgrounds and regions working together. Each one of them has different ways of interpreting and processing information.
For example, in the book “When Cultures Collide” by Richard D. Lewis, there is a joke about how people from different cultures, regions, and backgrounds think differently for the same problem. A journalist organized an international competition and asked people to write an article about elephants.
These were the titles people from different countries came up with:
England: Hunting Elephants in British East Africa
France: The Love Life of Elephants
Germany: The Origin and Development of the Indian Elephant from 1200 to 1950 (600 pages)
Russia: How We Sent an Elephant to the Moon
United States: How to Breed Bigger and Better Elephants
Sweden: Elephants and the Welfare State
Spain: Techniques for Elephant Fighting
India: The Elephant as a Means of Transportation Before Railroads
Finland: What Elephants Think About Finland
In agile teams, in addition to cultural and ethnic differences, there are also people in different roles like developers, testers, business analysts, ScrumMasters, tech leads and project managers who have different ways of assimilating information. Each one is interested in the project — they just have varying ways of approaching it.
This is what testers need to pay attention to. They need to recognize that people have different mental models and are interested in different pieces of information about the system.
Know your audience
How should this affect testers’ work? Say you find a bug. The way you tell a compelling testing storey matters because of different mental models.
- A developer would be interested in the impact on the system and more of the technical information
- A business person would be interested to know how the bug would impact the customer
- A project manager would be interested to know how the bug would affect the project schedule
- A release manager would be interested to know how the bug would affect the release schedule
Based on the audience, our testing story should change to make it more meaningful.
Here’s a set of questions that can help you convey the right information to the right people:
- What is this person interested in hearing?
- What level of technical or business detail is needed?
- How does this person look at the product?
- What can I tell this person that they don’t already know?
- What am I afraid might go wrong?
Mental models are also the reason working in teams helps bring out different ideas. Each person has their own perception of how things work, and they dig into their mental models to come up with solutions.
Understanding mental models help testers become better communicators.
The SpecFlow add-in provides file templates for feature files, step definition files and event definition files. It also translates the features from Gherkin syntax to C# code. To install the SpecFlow add-in to Ranorex Studio, follow the instructions below:
Test driven development is a type of programming that relies on testing and coding as well as design to work as one.
Test maintenance ensures the quality and accuracy of an application is not compromised. Uncover how to ensure your tests are always up to code.