A few weeks ago, 3 DRI engineers had their paper accepted in the QUATIC 2020 conference. QUATIC 2020 is the 13th conference on the Quality of Information and Communications Technology, which will take place on September 8-11, 2020. The selected paper is about: “Challenges for Layout Validation: Lessons Learned”.
As part of Berger Levrault’s program to migrate applications to new technologies, the importance of automatic validation of GUI migration has been raised. Imagine that migration is supposed to translate billions of pages from one technology to another.
You have to check whether or not a screen has been translated properly, which can be a long and tedious task. In order to assist stakeholders involved in the verification, the three engineers embarked on a journey into possible automation strategies.
The journey wasn’t as successful as they would have liked. However, they did manage to find valuable information on the issues that could have the greatest impact for Berger-Levrault. This migration has the particularity of being limited: the software is not fully translated, but only its appearance is.
Because of this limitation, the result is sometimes graphically equivalent, but not equal (unfilled tables, text zones without content, etc.). Their first attempt consists in comparing shapes.
Their strategy was based on information distribution: How are the elements distributed in relation to each others?
To implement this idea of a mutual relationship between elements, they decided to replace the contents with boxes representing sets of elements.
To recognize these sets, black boxes representing the perimeter of each set are drawn, as in the image below.
In order to automate this comparison, they made a program that opens each pair of pages (original and translated), transforms them into a “black box” version and takes screenshots (as shown on the image below). Once they have each pair of photos, they compare them pixel by pixel, and calculate the difference.
During the course of these experiments, they discovered more or less obvious requirements for making these kinds of comparisons:
How to draw the black boxes? Around what? If we have content in the original page, but not in the translated page, how to compare the ratio between the elements, regardless of their size?
They also have some more surrealistic questions like:
How can we make sure that a component on the original page is compared with its equivalent on the translated page, and not with another element that is in the same place?
Although their attempt was not a complete success, they found ways to do it right and some clues they hope to use soon in the future.
In conclusion, the task is not easy, but they are not giving up, they are certainly on the right track.
Congratulations to them!