In this article, we have decided to focus on human-machine interfaces testing, which are becoming increasingly complex these days. These interfaces are the quality image of your product !
Who has never had the bad experience of using a slow, glitched or crashed application ?
In order to guarantee the quality of your products and to offer the best customer experience, your human-machine interface, whatever it is, should be tested before being put on the market.
Automated testing doesn’t ring any bells, you think it’s too long, too complicated and too expensive to implement. The process seems difficult to internally manage… Do you need a hand to set up a test scenario that will work without a doubt ? Thomas, our expert on the subject, will guide you step by step.
What is a test ?
The functional test is used to test the different functionalities of your product via its HMI (human-machine interface). The test corresponds to a series of steps in order to validate a precise requirement of the specifications. A result is expected for each step.
A test = a function to test in a defined way.
Example : Let’s start with a requirement: on a smartphone, dial a 10-digit number.
A requirement will be validated by at least one test case.
We talk about nominal test cases, the number will be dialled and the call will be initiated…
And borderline cases, dialling a number with stars (*) and # and by validating that the call is not possible.
From the smartphone to the kitchen robot or the payment terminal, many systems can be automatically tested.
Automation as a solution to human hazards
Automated testing provides a solution to human hazards (vigilance problem, interest in the function…) but also to physical difficulties for the operator on the repetition of actions (musculoskeletal disorders, tediousness, boredom…).
It allows to evaluate the quality of the end-user experience in a simple, fast, reliable and cost-effective way.
Why test your products ?
Automated testing allows you to evaluate the quality of the end-users’ experience of your products in a fast and reliable way.
The objective is to meet their expectations and thus satisfy them, and even build loyalty. A positive customer experience will undoubtedly strengthen your brand image and market position.
Example : Negative effect of a bug or difficult/impossible access to a feature.
You will be confident in the quality of your product and in its man-machine interface after these tests. Thanks to automated testing, you’ll start a continuous improvement process by capitalising on this product and the next ones.
What is a test scenario ?
A test scenario regroups all the steps that need to be done in order to test a function.
A scenario = a test case with initial conditions, a sequence and expected results. It only validates one functionality/requirement.
At least one test is performed for each function. Several tests can be conducted, which can be referred to as a test campaign or test plan. It simply is a sequence of test cases for a complete or intermediate validation of your product.
Example of a test scenario to test the « Dial 10-digit number » functionality on a smartphone :
Test n°1 : Make a call on a correct and existing number.
Test 2 : Making a call with the +33[…] code.
A test scenario is therefore represented by an operating procedure that regroups all the steps that need to be don during the test and the expected results.
Its objective is to determine whether the man-machine interface under test meets the requirements of the specifications and properly functions.
Remember : A test case is a sequence of actions performed to test a functionality, it is the « how » to test the requirement which is the « what ».
Why create test cases ?
Whether it’s manual or robotic, the execution of test cases is mandatory to ensure the validation of product quality.
What are the essential steps within the development of a test case ?
Before writing the test case, it is essential to know the functionality that need to be tested. To do this, we go back to the specifications.
A test case has to be provided for each functionality according to the previously established specifications. For each test, we will write a list of steps with an expected result for each one of them. An overall test result is also expected.
Step 1 : Definition : defining the test with its functional content in relation to the requirement.
Step 2 : Description : detailing each steps needed to implement the function, without foretting the initial conditions and the expected results.
Step 3 : Writing : writing each step for the person or tools that will perform the test.
Example : For a manual step, the writer will describe precisely what the operator will do.
For a robotic step, he will use the instructions or computerised actions dedicated to the tool that will perform the action.
Ideally, the instructions should be identical for an operator and a robot !
Step 4 : Development phase : execute the test on your product to validate the steps. Validate that the steps properly follow each other and that no steps are missing. Check that the steps are robust.
Step 5 : Validation : Is the purpose of the test in line with your expectation ? The test case is validated and added to the test plan. The scenario is available to be executed on the product.
How to fail your test case
1. A test case with too many conditions, making the test too complicated to read and to set up. There is also a risk of having test steps that are never executed.
o Tips : Minimise the use of the conditional.
2. A test case written by the developer, the test will be coded and therefore difficult to understand.
o Tips : The test case should not be the image of your function’s algorithm. It must correspond to the mission of your application.
3. Have undetermined success conditions making the test inconclusive
o Tips : Review the definition of the test compared to the requirement, it is likely to be too complex !
What is a good test scenario ?
The test scenario must be :
it deals only with the function for which you are testing.
it must be readable and understandable by any tester.
the initial and final conditions are clearly defined.
Why call on eTASQ for the implementation of test scenarios ?
Setting up a test scenario is a crucial step which, if not mastered, can become a real headache and a waste of time and energy for your teams.
Thanks to eTASQ, we are experts in defining test plans. When you call on our team, you can be sure that your project will be carried out with complete confidence.
We have developed a support solution that helps the author to write his test case in a simple way with natural language instructions. Our solution is aimed at making the testing process easier for you : « We fought to make it easy for the client ! »
The strength of our engagement approach lies into providing advice throughout the writing process, up to the implementation of the tests.
And if you want, we’ll take care of everything for you !
« We give you advice on how to do it and we can do it for you ! »
Thomas LE GAL, Product Manager eTASQ
Conclusion
Nowadays, thousands of human-machine interfaces are put on the market every year.
The race for time to market makes industries reluctant to test their products. By fear of wasting time, money or having to deal with processes that are too complex, industries neglect this crucial step.
Indeed, at a time when consumers are placing quality before price in their purchasing criteria, industries would be well advised to focus their efforts on the quality of the customer experience above all.
Any HMI that is brought to the market should be tested in real-life conditions in order to optimise its use. This process should create a virtuous circle, leading to improved brand image and the final customer’s satisfaction.