Definition, Types and Techniques, Best Practice.
In this guide we are going to dive into the matter of Manual UI Test Automation. Ever since the desktop metaphor was introduced to desktop computers by Xerox Parcs Alto in 1973 or more popularly the Apple Macintosh in 1984, User Interfaces needed to be tested. 40 years later there are various different types and possibilities to test interfaces. In this guide we highlight Manual UI testing and approaches to automate it.
User Interface of the Apple Macintosh (1984)
What is Manual User Interface Testing?
UI Testing is a type of software and website testing. Most commonly known and often used synonymously is the Graphical User Interface (GUI) Testing – everything that can be controlled and used on a screen gets tested, such as menus, buttons or text boxes. GUI Testing aims at ensuring that a User Interface works as intended. Manual UI Testing is mostly part in the context of system tests.
This way every part of a system can be blackbox tested. The internal structure is not needed to access in order to validate functionality. Every single operable interface element needs to be tested manually. Looking at the 1984 Macintosh Interface this was a tedious but manageable process – clicking every folder and menu. Today’s interfaces are more complex which is why there are approaches to automate this process. But more on that later.
Why is testing mandatory?
Developers have a different approach to (computational) technology than the average user. But most products and services address average users. If a user stumbles upon errors or clunky elements he gets uncomfortable and will most likely not recommend or use the product again.
Let’s imagine a standard online shop: a variety of products, a cart, sorting menus and so on. A customer should be able to buy a product with no obstacles at all, the process should be as smooth and simple as possible. Just like in real life. The only way to guarantee a flawless user experience is by testing regularly – no exceptions. Additionally, bugfixing is expensive, especially after the development stage. The later a bug is detected, the more expensive and complex it is to fix the bug.
Preparing a GUI Test
A thoughtful preparation of the test framework should be done beforehand. Most test departments maintain a list of all test scenarios that need to be tested, for instance an Excel table that functions as a checklist for the tester. The instructions are fairly simple, for example: “test the login button”. This list can contain hundreds or thousands of checkpoints. Certain Teststeps can be subordinated to Test Cases. A test case “Element alignment” can contain every single Test Step that checks position, height, size, width of UI Elements. Now the test method has to be chosen.
Manual Test and Test Automation
Classic Manual Testing requires a tester to check every single test case by hand. Depending on the number of test cases this can be a tedious task for the tester, especially for increasingly shorter release cycles in agile software development. Additionally every single UI change leads to a change in the checklist. That’s why providers who frequently update their content prefer automated test methods. One method to automate UI tests is by using software testing frameworks such as Selenium. Most software tools are based on this framework and therefore need to access the source code to automate testing.
Another approach is to test code agnostic. This consumes less time and cost to set up and integrate the automation. By using the Visual Question Answering (VQA) Method, a self-training AI detects and tests UI elements automatically. AskYourUI is a software startup that aims at lightening up the matter of UI testing by using this method. Want to learn more about their approach? Check their website at askyourui.com.