Usability Testing Learned From Playing With Lego

Usability Testing Learned From Playing With Lego

Explore and learn about Usability Testing through the medium of Lego with Ioan Solderea

By Ioan Solderea

Usability Testing is also known as User Experience(UX) Testing, is a testing method for measuring how easy and user-friendly a software application is. While the concept sounds easy to understand what is not clear for most testers and non-testers is the process of how. How do you measure user-friendliness, what do you check for?

As it is quite often the case things do not have to be very complicated, it is not really rocket science. And to be honest not even rocket science has to be considered difficult, or impossible to understand. As long as a concept is explained in words, phrases or situations they can relate to then it is all easy.

To explain some concept of usability testing and what you would need to look for I will use a concept I believe all can relate to, LEGO.

Not all Legos are suitable for all

While there are Legos for almost every category you can name they are not thought to be used by every person at any given time of their life. If you where to check a Lego package the following would be immediately noticed:

There is a recommended minimum age on the package.

The image on the package sets the target audience once again.

Big blocks usually are meant for small children.

Complex images usually mean it is designated not for small children.

Limited edition package ( Hello Kitty, Marvel, Mario etc).

The same principles apply to the audience or your application. Even if the Customer clearly states that the application is available worldwide you can be certain that not all of the world is going to use the application. Similar to the Lego package, you need to have a clear definition of your target audience:

What is the target demographics ( age, sex, ethnicity)? 

Is there any domain-specific knowledge needed to use the application?

Experience in using applications similar to the Application under test ( Web, Mobile, Desktop).

Having a clear definition of your target audience for the Application will allow you as a tester to spot potential usability bugs while testing and will also help you define correctly the end-users for the Usability Testing sessions.

Do not rush - Haste makes holes, literally

We all know that reaching the end of a task or achieving a goal brings with it a feeling of accomplishment. We are happy that we made it to the end and love the masterpiece that is the LEGO set that we build. However, there may be cases when the masterpiece is missing a piece or two and is not complete because we decided to skip a few steps or did not follow the instructions on the page accordingly.

While doing your testing you can, usually, perform a task in different ways. But just because you can get from Point 1 to Point 2 really fast does not mean you have to do it. The lesson here is to take your time, explore all paths, the longer, perhaps more adventurous path, the shorter or the shortest path to perform a task on the system you are testing. In this way, you will be able to establish if the paths are usable or if there are some patches needed here and there.

Your task is clear and defined - Build the set

As a person who receives a LEGO package, your task/goal is clear, you need to build the set. You need to combine all the pieces together from the package and recreate the picture from the package. 

Although it may seem that the person is alone in reaching the goal that is not really the case if we are to consider the following

Depending on the set the pieces are grouped together in different packages. So the build process can be done one part at a time.

The person can choose to build using the provided schemas or just perform the build based on experience.

In case the user is blocked in the process there is always the possibility to get extra help via mobile app or videos.

When a user performs Usability Testing the goal of the tests needs also to be clear. It can be either really generic as testing the application or specific as performing certain actions in a part of the application. Regardless of the scope, you as the tester need to make sure that the user has all of the setup needed to achieve the scope. From LEGO the following can apply

In order to achieve the goal several, smaller tasks would need to be defined. The task can be either 

Closed: A closed task is one with clearly defined success or failure.

Open-ended: An open-ended task is one where the user can complete it in several ways.

Support material needs to be available for the user in the form of leaflets or even short video materials.

Do check for the human touch

A lot of LEGO builds have instructions on how to use the product that shows a human element in them. Either depicting a human hand maneuvering a part of the set or full size humans playing with the set. This enforces the feeling that you have help in the process of building in case you get stuck and also creates a bit of excitement knowing what to expect from the build once you are done.

In a similar way, a user of a system needs to feel that the interactions with the system are natural and should make the usage of the system a pleasant experience. Of course, this does not mean that the mouse has to turn into a hand when using the system but the human touch can refer to:

Having a nice flow from element to element.

Having error messages that provide real feedback and not just “That is not correct. Try again”.

Depending on the context even using images with people in a comfortable situation may be enough.


Having built the LEGO set, this would be considered by some enough of a reward because of the process, the fun and the memories. There are however extra incentives (prizes, badges, stickers) provided for feedback. By getting unfiltered information from the actual user LEGO is able to make the products better for future generations. The LEGO philosophy is “People don’t have to work for us to work with us”

The above ruling should also apply to dealing with users who perform usability. The users need to be rewarded for the time spent testing the application, the difference being that the form of reward and amount would need to be clearly indicated to the user before the testing starts. Users should be encouraged to provide raw feedback, to clearly say what they think both during the testing process and also after it, if needed specific questions can be answered by the user during the testing process.

A solution at your fingertips

Playing with LEGO brings a lot of fun and joy to almost everyone that has ever done it. Since you are only limited by your imagination, LEGO pieces can enable you to do anything, you just have to put your mind to it. One such example is a LEGO project that helps visually impaired kids to learn morse code with LEGO ( see, with innovation in mind and the desire to provide an easier way to make learning fun, LEGO created bricks that contain Morse Code and which when stacked together form letters, sentences and phrases giving a whole new meaning to the phrase “fun with word”.

As a tester, you get to see a lot of systems and a range of different technologies. Having this mix of experience allows you to see possible solutions to problems or possible new uses for an existing application or functionality.

Observer, adapt and apply in your testing

Being a tester has most probably impacted the way you live your life outside of the issue trackers, virtual machines and code. I for one triple check all the software before installing it on my devices, I read labels in the supermarket checking for that hidden EEE number and always want to order 9999999999 beers when in the bar.

While we are not reluctant to use our testing mindset in our normal lives, we should have an open mind to problem-solving and approaches outside of testing. We should observe how non-software problems are handled, adapt them to our needs and apply them to make our testing better. We may find that we can learn some lessons from simple and ordinary things like building a LEGO set.


Ioan Solderea's profile
Ioan Solderea

Lead QA

I am one of those people who want to know all about all but will also be happy knowing a lot about a lot. Because of this I choose to be a tester since you get to learn always new technologies, you get to test in the most diverse areas and it is always fun to tell people you found a bug.

New Adventures in Security Testing – Dan Billing
60 Powerful Heuristics to Bust a Testing Groove With By Simon Knight
How Do I Automate Negative Tests - Tuhin Subhra Mitra
Designing Test Cases Focused on the User Experience
Testing a Conversational AI (Chatbots) - Mahathee Dandibhotla & Anindita Rath
99-Second Introduction: What is the Relationship Between the Tester and the UX Designer?
🕵️‍♂️ Bring your team together for collaborative testing and start for free today!
Explore MoT
Episode Four: The Practitioner
The Testing Planet is a free monthly virtual community gathering produced by Ministry of Testing
Be Wise, Do Pairwise
Be Wise, Do PairWise: A Method To Reduce Test Combinations