Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

i-com 2023; 22(3): 175–192

Sascha Minor*, Vix Kemanji Ketoma and Gerrit Meixner

Test automation for augmented reality


applications: a development process model and
case study
https://doi.org/10.1515/icom-2023-0029 generally be tested. Software is therefore partly verified
Received October 23, 2023; accepted October 24, 2023; manually according to a prescribed test plan in a test envi-
published online November 9, 2023
ronment. However, manual testing is monotonous, repeti-
Abstract: Poor software quality results in avoidable costs tive, and time-consuming [1]. As long as manual testing is
of trillion dollars annually in the United States alone. Aug- performed, the application is not developed further. Devel-
mented Reality (AR) applications are a relatively new soft- opers wait for the result of testing to fix existing bugs [2]. The
ware category. Currently there are no standards to guide repetitive tasks of the testers lead to the fact that the testers
the development process and testing is predominantly ad do not pay full attention to their work in the long run. As
hoc and manual. Consequently, design guidelines and soft- a result, serious errors can be overlooked [3]. According to
ware test automation techniques are intended to remedy the Consortium for Information & Software, the total cost of
the situation. Here, we present a concept for test automa- poor software quality in the U.S. alone was over two trillion
tion of AR applications. The concept consists of two parts: dollars in 2020 [4]. The solution to the monotonicity and
design guidelines and process model for testing AR applica- timing problem is to automate repetitive testing [3].
tions, and a case study with a prototype application for test Unlike traditional software, an AR application requires
automation. The design guidelines and the process model additional prerequisites to be verified so that a user can
are based on the state-of-the-art. The prototype application use the application without any problems [5]. The stan-
presented in this article demonstrates test automation for a dard procedure for testing AR applications consists of a
multi-platform AR application for Android devices as well test checklist that must be worked through manually by
as the HoloLens 2. The presented test automation case study testers in various situations. AR applications are generally
is designed to cover a large part of the functions, such as characterised by relatively high flexibility and surround-
the different interaction variants. This research work shows ing awareness, allowing users to operate the application
that by using the proposed process model and test automa- location-independently and move freely in space [6].
tion techniques, testing of some features of AR applications As a result, more scenarios need to be tested. To ensure
can be automated. The results of this research can serve that the quality of the software is high, automation of AR
as a basis for future research and contribution towards AR application testing is required along with design guidelines.
application development standardization efforts. Therefore, the research presented in this paper examines
the state-of-the-art in AR application design and develop-
Keywords: augmented reality; usability; user experience;
ment with the aim to identify opportunities to maximizing
design guidelines; test automation
usability/user experience (UX) and automation of testing in
order to develop a blueprint for these approaches. Conse-
quently, the two research questions arise:
1 Introduction
– What are the opportunities for increasing the usability
Before an application is released, it must be confirmed as well as UX of AR applications?
that it works properly. For this purpose, this software must – To what extent can tests for AR applications be
automated?

The remainder of this article is structured as follows. In


*Corresponding author: Sascha Minor, UniTyLab, Heilbronn University, Section 2, we present the state-of-the-art of AR application
Heilbronn, Germany, E-mail: saschaminor@googlemail.com testing. Providing a fundamental background, discussing
Vix Kemanji Ketoma and Gerrit Meixner, UniTyLab, Heilbronn Univer-
sity, Heilbronn, Germany, E-mail: ketoma-vix.kemanji@hs-heilbronn.de
tools for implementing AR applications – particularly with
(K.V. Kemanji), gerrit.meixner@hs-heilbronn.de (G. Meixner). https://orcid the Unity game engine, and related research on testing and
.org/0000-0001-9550-7418 (G. Meixner) test automation of AR applications. In Section 3, we present

Open Access. © 2023 the author(s), published by De Gruyter. This work is licensed under the Creative Commons Attribution 4.0 International License.
176 — S. Minor et al.: AR test automation: a process model and case study

a guideline for designing AR applications which is based separate steps but should be combined [9]. It is recom-
on state-of-the-art and related work. Following the guide- mended that testing be included as an iterative step in devel-
line, we present a process model for developing AR appli- opment. If testing is rarely done because testing takes too
cations in Section 4. The process model details a guide for long, this is often a reason for running tests manually. For
implementing AR applications ensuring quality assurance. this reason, testing should be automated because it can save
In Section 5, we present a prototype AR application which time and money in the long run. This means that no person
serves as case study for AR application test automation. We must be delegated to test all functions. One advantage of
present tools and methods for automating tests for AR appli- doing this is that errors are detected earlier because tests
cations. We also discuss the main findings in Section 5.3. We are performed more frequently [8].
conclude this article with a recap of the main findings and With the help of software engineering testing tech-
outlook in Section 6. niques, the manual testing effort in the development of AR
applications can be reduced. Cohn’s test automation pyra-
mid (Figure 1) [8] can be used as a basis for software engi-
2 State of the art neering testing techniques. The pyramid consists of unit,
service, and user interface (UI) testing parts, with complex-
In this section we discuss related work and current research ity and effort increasing upward while the number of tests
and industry advancements in AR, tools for developing AR decreases [8].
applications and AR application testing. We begin with a
background discussion on testing and different types of
tests (Section 2.1). Then we discuss the current develop- 2.1.1 Unit tests
ment process of AR applications with a focus on tools for
testing AR applications, mainly for the Unity game engine Unit tests are the bottom level of the test automation pyra-
(Section 2.2). We conclude this section with a discussion of mid [8]. A unit test checks a unit of a class [10]. In most
related research work on test automation for AR applica- cases, a unit is a function. These functions are to be tested
tions (Section 2.3). in an isolated test environment [11]. Unit tests are written
according to the AAA (Arrange, Act, Assert) pattern. In the
first section, Arrange, all required objects and variables for
2.1 Test automation the method under test are initialized. The method is called
Due to the continuous improvement of hardware capabili- with the specified parameters in the Act section. Finally, the
ties as well as the limited availability of AR devices, the test- Assert section verifies that the method behaves as expected
ing process in AR development mostly consists of manual [12]. Since unit tests display a result within seconds, this
trial and error testing. For the testing process to be carried allows errors to be identified at an early stage. Furthermore,
out, the application with all required configurations must the tests provide rapid feedback as to whether a code change
be ported to the test device in an elaborate way [7]. From made to the software is error-free [9].
the combination of AR and testing, new aspects, such as
dynamic, real-time, three-dimensional, multimodal interac-
tion, illumination of digital objects as well as the movement
of the user, are added that are not normally considered
when testing software.
A gross mistake in software development in general is
that software testing should not be considered as a veri-
fication step at the end of development. Due to the time
pressure at the end of a project, it could happen that testing
is neglected or reduced. However, if errors are found at
these later stages, it is more difficult to eliminate them.
Furthermore, it is possible that the same mistake will be
made again and again during development. Testing should
be seen to improve the quality of the software [8]. There-
fore, development and testing should not be considered as Figure 1: Test automation pyramid (adopted from [8]).
S. Minor et al.: AR test automation: a process model and case study — 177

2.1.2 Service tests screenshots are taken in advance (before any desired
changes or updates are implemented) as a reference from
The middle level of the test automation pyramid deals with the UI. During the Visual Regression test, new screenshots
service tests. Service tests are not limited to the service- of the UI are taken and compared with the reference images
oriented architecture, but this level refers to all functions pixel by pixel. If there are differences, these are displayed to
and services that are executed in response to an input [8]. the tester [17].
The test types integration and Snapshot Test that can be used End-to-End (E2E) tests are used to check whether the
as a service test are described below. application works as a unit. This involves testing all com-
Integration testing distinguishes between two types ponents and subsystems, for example the user interface,
of tests: component tests and system tests [10]. Compo- backend, databases and network services of the application
nent tests deal with testing of system functionalities which [9]. In this process, E2E tests should simulate real application
interact with one another. Prior to component tests the indi- scenarios of potential users. Since running the tests takes
vidual functionalities are tested at the unit test stage [9]. more time than all test types before, they are therefore run
In contrast, system integration testing tests functionalities less frequently. In contrast, unit tests, for example, can be
across multiple systems, such as web services or database executed at the slightest code change because they take only
calls [10]. a few seconds. To create the End-to-End tests, tools are used
Snapshot testing compares a snapshot of the user inter- that can interact with the application’s user interface. Oth-
face with a reference snapshot to ensure that the user erwise, the user’s interaction with the application cannot be
interface remains unchanged when code changes [13]. The simulated as well as the reaction to it can be verified [18].
snapshot is a DOM (Document Object Model) file that stores
all objects of an HTML page in a model [14]. For example, it
can be used to check whether all elements of a particular 2.1.4 Non-functional requirements
component are present. However, the Snapshot Test does
not tell whether the elements are arranged correctly [15]. Although non-functional requirements are outside the
When a new element is added, the DOM file changes. For scope of this work, they are not negligible in software devel-
this reason, the snapshot must be updated. The difference opment. For this reason, some non-functional requirements
between Snapshot tests and unit or integration tests is that are described as examples, since they are essential for the
Snapshot tests do not confirm the correct execution of func- acceptance of potential users. Non-functional Requirements
tions but compare whether the user interface elements of differ from the previous types of tests (functional require-
the application has not changed [13]. ments), which deal with the functional correctness of the
application [19].
If an application is too slow or inefficient, even though
2.1.3 User interface tests it has all the desired functions, user acceptance drops enor-
mously. As a result, the application fails in the market. Per-
At the top level of the pyramid, the UI is tested. Usually, the formance and load testing can be used to identify potential
number of UI tests created is kept to the minimum possible performance problems [19].
because UI tests are time consuming and error prone when For example, performance can be measured using a
the user interface changes. Minimal changes to the user simple method. For this the difference of the system time,
interface can cause all UI tests to fail, so the tests need to be which the application needs from the start to the end of
rewritten. If it happens more often during a project that the a function, is stopped in the respective programming lan-
user interface is changed, it can lead to the UI tests not being guage as well as computed. The meaning of performance
corrected and thus not being executed [8]. Two techniques depends on the goal of the application. Potential prob-
for performing UI tests are Visual Regression testing and lems with the performance are the visualization [19]. For
End-to-End testing. example, a high number of polygons makes digital objects
UI test automation for AR applications is more complex look more real. However, if the number of polygons is too
because it is more difficult to simulate user interactions with high, performance is reduced in terms of frame rate per
the UI [16]. second [20].
One way to test the user interface is to use Visual Load tests are used to try to find out the maximum
Regression tests (also called screenshot tests). Visual Regres- limits of the application. This is important, for example, to
sion tests are used to ensure that the UI is rendered investigate how many users can use the application simul-
as desired even after code changes. For this purpose, taneously so that the application works reliably under high
178 — S. Minor et al.: AR test automation: a process model and case study

load. As a result, the maximum number of concurrent users acceptable for the application, increasing the accessibility of
can be limited [19]. the application for people with impairments.
Functionality, structure and aesthetics of an application
alone are not enough to ensure a high-quality UX. Atten-
2.2 Tools for developing and testing
tion must be paid to the potential users as well as to the
application context for the AR application. For this purpose,
augmented reality applications
it is necessary to conduct usability tests. Usability testing AR overlays digital content on the physical world, making
involves observing potential users using the application the digital content appear as part of the real world in the
to evaluate how users interact with the application. After user’s perception. This creates a connection between the
observation, improvement of the application takes place to physical and digital worlds [25]. The difference between AR
ensure that it is intuitive and easy for users to use. Intuitive- and Virtual Reality (VR) is that in AR the digital content
ness as well as usability in life-threatening situations such is rendered (transferred) into the user’s real environment.
as when using hospital equipment are of great importance. In contrast, in VR, everything must be rendered around
Usability testing is iterative, requiring new observations of the user [23]. The user is placed in a completely computer-
user usage after the application has been adapted [21]. generated environment [25]. AR and VR are part of Mixed
The contrast ratio of the colours of the content, for Reality (MR), a blend of the real as well as the digital world.
example the text and background colour, is of enormous MR enables interaction between humans, computers, and
importance for readability. This is especially important for the environment [26].
people with visual impairments. The Web Content Accessi- In this section we discuss tools for development, test,
bility Guidelines (WCAG) 2 of the World Wide Web Consor- and test automation of AR applications. We mainly focus
tium (W3C) are guidelines to make web content accessible on Unity game engine compatible tools as well as libraries
for people with a visual impairment [22]. Since the read- that were used in this work. We select Unity as the
ability of AR content also depends on the contrast ratio of integration platform since it is one of the most widely
colours, the principle could be used to make applications adopted tools in research and industry for implementing AR
accessible to users with visual impairment. applications [20].
The principle of contrast ratio cannot easily work for
AR applications because the distances to digital content can
2.2.1 Developing
change with the user’s movement. Therefore, changing the
font size, for example, cannot be used for low contrast. The open-source project Mixed Reality Toolkit (MRTK)
Furthermore, this also does not consider the environment which was initially created by Microsoft is an asset for
in which the AR application is used. Nevertheless, the co- Unity that is suitable for the development of AR applications.
consideration of the contrast ratio should happen. If the Prefabs for interaction and user interface are available in
environment does not change, adjusting the contrast of the the asset [23]. For example, MRTK includes settings for the
application to the environment can be done. For unknown camera to adjust the perspective for each eye to perceive
environments, the contrast ratio should be high. For this depth [20].
reason, the use of WCAG 2 level AAA (ratio 1:7) [22] should be Unity MARS (Mixed and Augmented Reality Studio) is
done regardless of the font size of the text. Furthermore, a a Unity extension for creating and simulating AR content.
combination of level AAA with Microsoft’s recommendation The extension includes a simulation mode that can be used
[23] for readability is advantageous because the colours of to test AR content in various real-world mock-ups (digi-
the environment are unknown. The recommendation states tal recreations of rooms and environments). This allows
that the placement of white text should happen on a dark upfront testing of applications in the editor before compil-
background. The MRTK uses a dark blue (RGB 16, 32, 106) ing and running them on an AR-enabled device. For this
as the background colour. The contrast ratio of white text purpose, there are two modes: the simulation view and the
(RGB 255, 255, 255) on the dark blue background is 1:14.61 device view. The simulation view displays all content in
[23]. By using contrast ratio for example, AR applications the simulated environment, whereas the device view is a
become accessible for people with red-green deficiency. Peo- continuous simulation. The device view behaves as if the
ple with red-green deficiency, the most common color vision device is held in the user’s hand (smartphone) or attached
deficiency, have difficulty distinguishing the colours red and to the user’s head (HMD). When the simulated device’s
green [24]. Red (RGB 255, 0, 0) and green (RGB 0, 128, 0) have a camera encounters data or objects, the device scans them
contrast ratio of 1:1.28. Thus, this combination would not be and executes the designated AR content. In addition to the
S. Minor et al.: AR test automation: a process model and case study — 179

simulation mode, the AR application can be developed using 2.2.3 Non-functional testing
MARS [27].
Although testing non-functional requirements is not the
2.2.2 Functional testing main focus of this work, tools are still listed for the sake
of completeness to show how non-functional requirements
An asset that can be used for testing is the Unity Test Frame- can be tested.
work (UTF). UTF provides Unity users with the ability to The asset Performance Testing Extension for Unity Test
test their code in both Edit Mode and Play Mode. For this Framework extends UFT with performance testing capabil-
purpose, the UTF uses an integration of the NUnit library. ities. This makes it possible to perform various measure-
NUnit is an open-source library for unit testing in .net lan- ments on the application. Afterwards, a performance test
guages. Edit mode tests are executed only in the Unity editor. report shows a detailed analysis of the measurements [28].
With edit mode tests, it is possible to check objects before Another asset for performance testing is Project Audi-
the scene is initialized. In contrast, play mode tests check all tor. Project Auditor is an experimental analysis tool that ana-
objects at runtime [28]. lyzes assets, settings, and scripts of a Unity project and sug-
GameDriver is an automation framework for Unity gests recommendations for improvement. An automatically
projects. Tests can be executed both in editor mode and on generated report consists of code and settings diagnostics,
the target devices. According to GameDriver, target devices build report and asset information. The code and settings
include iOS, Android, XR, PC and consoles. With the help of diagnostics shows a list of potential issues that can affect
the “HierarchyPath” technology, every object in the object performance as well as memory. From the information, rec-
hierarchy can be found and thus manipulated. Accordingly, ommendations for the problems are obtained to resolve the
simulations of inputs and interactions or checks of proper- issues. The build report shows information about the time
ties are possible [29]. and size of the last build to be able to improve it [34].
With Unity Automated QA, tests can be developed with- For the calculation of the contrast ratio WebAIM offers
out having to write any code. The interaction with the user an online calculator. It also shows the background as well
interface is to be recorded and replayed afterwards. During as the text color and whether the contrast ratio would be
the automatic replay, it is checked whether the required passed according to WCAG AAA [22].
user interface objects are visible and controllable. Further-
more, the replay should be executable on Android and iOS 2.3 Towards automated augmented reality
devices [30].
tests
AltUnity Tester is an open-source tool from Altom for
UI test automation. It offers the possibility to write tests in In the previous sections we have discussed different types
C#, Python or Java and execute them within the Unity Editor of software tests, we have also looked at the tools for devel-
or on smartphones. The tool is available in the Asset Store. oping and testing AR applications. However, there remains
Optionally, the AltUnity Inspector can be used. This makes several challenges for testing AR applications. There has
it possible to check applications outside of the Unity Editor been much effort in research studies on techniques to
[31]. Furthermore, AltUnity Inspector provides the ability approach these challenges for testing AR applications. In
to use mouse, keyboard, touch screen as well as joystick this section of the state-of-the-art we want to discuss some of
interactions in the application for testing purposes. Via a the research effort towards AR tests and automation of these
web socket connection, both AltUnity Tester and AltUnity tests. We discuss related XR (AR, VR, MR) research on the
Inspector can connect and interact with applications devel- topic since the results from XR domain can be transferred to
oped in Unity [32]. another, followed by some specific research on AR test and
Airtest by NetEase Games is a cross-platform UI tool for test automation.
automated testing. It works using image identification. The Most of the research on XR test and test automation
supported platforms for testing with Airtest are Windows, has been focused usability, UX, and other non-functional
Android and iOS. To test Unity applications with Airtest, the requirements [35–37]. Ansari [35] proposes an tool for auto-
“Poco SDK” is required for UI element detection. Besides mated user assessment XR experiences that includes both
Unity, the SDK can also be used for native Android and iOS objective and subjective measures. The author identifies the
development [33]. gap in in-depth evaluation of UXs and thus propose a tool
180 — S. Minor et al.: AR test automation: a process model and case study

providing standardized, reliable and quick assessment of find that in introduces a maximum 12 % additional pro-
UXs. Figueira and Gil [38] in their research work do not focus cessing overhead and 2 % for profile switching. While this
on non-functional requirements, but rather on functional tool assists in collecting data during tests, the test itself is
requirements; proposing a tool “Youkai” for unit testing of conducted manually by testers.
VR/AR applications. The tool uses python scripts running The related research work we have discussed for XR in
in a docker instance to execute the unit tests, which are general and specifically for AR applications mostly focus on
capable of moving the virtual camera and finding objects UI tests. Some of the solutions are also focused on generation
for test. The tool is evaluated in a case study and found of test case requirements only, while others do not directly
to facilitate the process of unit testing, reducing developer integrate with game engines. It is necessary to research
effort and more flexible than comparable tools. However, systems for test automation of not only UI elements but also
the authors only present a limited scenarios where the 3D objects in the AR application and interaction. Since game
tool is useful; mainly for UI elements testing, image/texture engines such as Unity Engine and Unreal Game Engine are
loading and scrolling. Corrêa et al. [39] propose a tool also very common in development of AR applications, it is
“VR-ReST” to automatically generate test requirements and also necessary to research techniques to directly integrate
data for VR applications. While the authors evaluate the tool test automation with this familiar development workflow
with a game based on a proprietory framework, the tool and tools.
is relatively dated and it is not clear how the tool can be
integrated with other common XR development tools such
as game engines. Bierbaum et al. [16] describe the testing 3 Augmented reality design
of VR applications in their paper. In object-oriented designs,
traditional unit tests test methods on various inputs to verify guidelines
that the method executes correctly. At a higher level, instead
of testing individual methods, common components can be In Section 2, we have discussed AR application testing and
tested in integration tests. Because of interaction, the differ- the different types of tests for improving the quality of AR
ence in testing VR applications is in UI tests, as interaction is applications. However, the quality of AR applications does
fundamentally different from mouse input. To this purpose, not only depend on testing. Since different AR devices must
Bierbaum et al. used recorded interactions, which allowed be considered in both the development and evaluation of AR
the UI test scenario to be executed [16]. applications, design principles play a major role in ensuring
For AR specifically, Börsting et al. [40] define a research high quality, improved usability and UX.
agenda for AR application development and identify testing According to the Rule of Ten, the cost of fixing bugs
as one of the main components of AR development. The increases by a factor of 10 with each stage of development,
authors identify the different types of tests, and challenges so it is beneficial to fix or avoid bugs as early as possible in
of AR application testing. In their findings and research software development [43].
agenda they acknowledge that while tools and methods For effective as well as efficient human-machine inter-
have been developed for traditional tests, these still need action, the design must be developed based on user capa-
to be translated to AR applications. The authors argue that bilities, experience, and expectations. In AR development,
automate testing of AR applications it is necessary to model the design is described as a great challenge, which is why
and formalize new interaction modalities and incorporate the topic has a high relevance [44]. It must be considered
elements of the physical environment. Porfirio et al. [41] that both beginners and experienced users can use the
also focus their research on automated testing of AR appli- application [45]. Therefore, in this section, we enumerate
cations. The authors present a Model Based Testing tech- important design guidelines based on current research and
niques to generate executable test scripts from Finite State industry standards, as each hardware developer has its own
Machines. The authors demonstrate that the solution is design guidelines and standards. These design guidelines
feasibility for UI tests with two AR applications. The tool are intended for the design process of AR applications, espe-
ARCHIE [42] presented by Lehman et al. in their research cially when developing cross-platform AR applications.
helps support the process of AR application testing. While
the tool does not offer test automation for AR applications,
3.1 Providing information
it automatically logs relevant data when the AR applica-
tion is tested in situ; using profiles to switch between con- When using AR, it is possible that a lot of information is
figurations. The authors evaluate the processing overhead needed. For this reason, it is important to use and place it
on incorporating the tool in existing AR applications and correctly.
S. Minor et al.: AR test automation: a process model and case study — 181

The user should be aware of the reason why the appli- to a safety hazard if the user cannot see the real environ-
cation requires certain permissions [46]. ment [48].
– Therefore, the relevance and usefulness of the permis- – The UI must not be too small, because interaction with
sions for the application should be made clear to the small elements is difficult [48].
user (e.g., access to camera is needed for AR) [46]. – The UI does not always have to be displayed but can be
– Instructions and information should not include techni- accessed using gestures [48].
cal terms and AR terminology, as these are intimidating – If a user has problems with interaction by gestures due
to inexperienced users. Instead, colloquial terms should to an impairment, alternative operating options would
be used [47]. be beneficial [48].

It should be clear to the user how much physical space in


their immediate real-world surrounding is required to use 3.3 Interaction
the AR application. Nevertheless, different environmental
conditions should be considered, such as available space A new technology also brings new interaction possibilities.
and real obstacles, because the user’s movements can result Therefore, if a familiar standard is available for a particular
in dangerous outcomes if they collide with obstacles [46]. action, which can be appropriately implemented in AR, it
The digital content must be adapted to the environ- should be used. This way, users do not have to learn a
ment. If a digital object is to be placed on a surface, the object completely new method [46].
must be adapted to the size of the surface [46]. – Interactions with digital objects should preferably be
Some AR applications try to recognize surfaces in the enabled by direct touch since direct touch appears
environment as planes using feature points and display more intuitive for users. This is comparable to interac-
them [46]. tion with smart devices [47].
– In this case, the user should be shown when the appli- – Standard and familiar gestures should be enabled [47].
cation is scanning the environment to detect surfaces – For tasks that require a user to move, textual informa-
[47]. tion may not be sufficient in some cases. Therefore, it
– Digital objects should not be placed exactly at the edges can be helpful to display the exact movements includ-
of the detected surfaces because the surface boundaries ing speed to the user [49].
are approximations. The values could change as the – When translating (moving) objects, limits should be
environment is further analysed [47]. added so that the user can see the maximum distance he
is allowed to move an object. This can prevent objects
from being out of the field of view (FOV) so that they
3.2 User interface can be manipulated [46].
– The manipulation of objects, such as moving, rotat-
In addition to the information, the UI must also be placed ing, or scaling, should work with the usual interac-
correctly so that the immersion does not suffer. tion options (particularly on smart devices). This means
– It should be avoided that the screen of smartphones that objects can be manipulated with standard touch
and tablets is overloaded with controls and informa- gestures [46].
tion so that the AR experience (immersion) does not
suffer [47]. For HMDs, head and neck movements must be considered.
– If a control element must be permanently available, the Horizontal head movements are more appropriate than ver-
control element should be present as a two-dimensional tical head movements since vertical movements are more
element at the edge of the screen [47]. strenuous for the neck as well as the eyes [23].
– Only information that is needed should be displayed – Interactions that put the user in unnatural head posi-
[47]. tions should be avoided [23].
– A visual indicator shall be available to show users more
information when needed. By tapping on it, more infor- The gestures must be described in a documentation. For
mation can be displayed [47]. each gesture, there should be a name, a visual description
in the form of a drawing, a photograph, or animation; for
For HMDs, such as Microsoft’s HoloLens 2, the user interface example, a textual description of how the gesture is to be
must not obscure the user’s view. The UI elements could lead performed [50].
182 — S. Minor et al.: AR test automation: a process model and case study

3.4 Digital content (pixel density, brightness, and contrast), lens properties,
and font properties (spacing, font type, font/background
This section addresses how content can be used to increase colour) [23].
immersion with AR content. – Although digital content in AR is used in three dimen-
The real world should merge with the AR content. sions, text should be used in two dimensions because
– To this end, shadows, illumination, occlusion (masking two-dimensional text is easier to read.
of real objects), reflection, and collision must be used, – Fonts used must have sufficient stroke width. Microsoft
giving AR objects a natural place in the real world [46]. uses the “Segoe UI” font for its mixed reality content. In
– For the digital content to appear stable, it should addition, “Arial” and “Helvetica” are recommended by
be rendered at the maximum available render rate, Microsoft [23].
also referred to as frames per second (FPS), of the – Since the user’s environment may have a complex phys-
device [23]. ical background that makes white text difficult to read,
the text should be supported by a digital dark back-
Full-size objects are better for immersion of the user. Here, ground. Dark colours are transparent in additive colour
it is important to note that AR objects can be viewed three- systems [23].
dimensionally from all sides [46].
– For this reason, all surfaces of the objects must con-
tain textures. Textures make objects appear more
realistic [46].
3.6 Accessibility
– One factor that affects the performance of the render Ensuring accessibility impacts how many people can use an
rate on HoloLens is the number of polygons in an AR application. The more the design and development focuses
object. The higher the number of polygons, the more on accessibility, the more people can benefit from the appli-
real the objects appear. In contrast, too high polygons cation. Additional integrated features can improve accessi-
count can decrease the FPS [20]. bility for people with special needs [52]. People with impair-
– It is good practice to avoid textures that are too large, ments make up about 20 % of the population. As people
because they cannot be loaded and rendered as quickly age, functional limitations increase steadily. Accessibility
[49]. through additional integrated features benefits not only
– Lighting can lead to depth perception problems if, for aging people and people with impairments, but a much
example, shadows are missing. As a result, digital con- broader range of people [53]. Microsoft estimates that 57 %
tent will not appear correctly placed [49]. of computer users benefit from the use of accessible tech-
– Also, relevant to correct placement are the size, occlu- nologies, such as zoom [54].
sion, and texture of the content [49]. – If a user is unable to move, there must be alternative
ways to be able to use the application in favour of
The optimal distance for placement of digital content from accessibility. For example, a user should be allowed to
the current position of the user is between 1.25 m and 5 m. If move and rotate an object if they are unable to move
the content is too close, the eyes try to avoid double images, around the object [46].
which can lead to faster eye fatigue [23]. – If the user’s movement is even further restricted, voice
– Digital content should never be displayed closer than control should be enabled to assist [52].
40 cm because of eye focus effort [23]. – AR application that output relevant information via
audio or video must provide an alternative in the form
of subtitles. This must have sufficient contrast ratios.
Furthermore, the subtitle should be placed in such a
3.5 Readability
way that other content is not obscured [52].
An important point for the UX of AR is readability. Read-
ability refers to the interpretation and recognition of text,
symbols, and characters [51]. 3.7 Problems encountered during the use of
Factors that can affect readability include font, font
AR
size, spacing, lighting, and colours of text, symbols, char-
acters, and background colour. Too much or too little illu- When using a new technology, many problems can arise,
mination can cause readability problems [51]. In addition, among others, with beginners. The following are solutions
the readability of the text depends on the display properties to avoid them.
S. Minor et al.: AR test automation: a process model and case study — 183

Users may forget the environment around them while Considering the case of AR applications deployed on
using AR. Android devices, if there is no camera image available on an
– Therefore, users must be made aware that there may be Android device, it is possible that the user has not granted
risks such as objects or people around them [46]. camera access permissions for all apps. For this reason, the
– The application should be designed in a way that dis- user must be made aware that on Android 12 (API level 31)
courages or avoids users actively moving backwards or higher, the camera can be blocked. The “Block camera”
when performing actions, as the risk of collision is setting must be set to “Off” in the system settings [46].
much higher when moving backwards [46].
– If a large AR object is placed too close to the user, it
could cause the user to take a few steps backwards 4 Process model for test
since the user cannot see the entire object [46]. This is
because the FOV enabled by the device is significantly automation of AR applications
smaller than the user’s FOV [55]. AR applications using
VR HMDs with pass-through video (such as Apple Vision In this section we present a process model for testing AR
Pro1 and Meta Quest Pro2 ) have a significantly wider applications. This process model serves as a guideline for
FOV. However, for some application scenarios it is still quality assurance in the development process of AR appli-
desirable to use AR devices. For example, critical AR cations. It incorporates both functional and non-functional
applications requiring high reliability such as military tests for quality assurance. We use this process model for
or health care AR applications. In such applications, loss the implementation of the case study in Section 5; however
of power or other failure in the VR HMD would impede for the case study we focus only on the functional tests.
the user’s view. For such critical applications which still Since neither a concept nor a standard for test automa-
require AR devices, the relatively small FOV of current tion of AR application is known, many companies skip the
AR devices still presents a limitation. step of testing in software development. The applications
are exported to the AR devices in a time-consuming manner
There may be limitations in detecting surfaces if surfaces do and tested according to the “trial and error” method. During
not have textures, the environment is under- or over-lit, sur- this, design mistakes are also made, as there is no uniform
faces are transparent or reflective, and there is movement AR design standard, but each hardware manufacturer sets
of surfaces. The more people and real-world objects present, up its own design principles. In addition, quality character-
the more difficult tracking as well as occlusion is for the AR istics are not inspected at the end of development. For this
device [46]. reason, a concept in the form of a process model for test-
– The user must be informed what the problem is and ing AR applications was developed based on the previous
how to fix it if there are limitations [46]. results.
A process model describes methods that can be used in
Using bright colours on a large area in holographic displays the implementation of projects of the same type. Most pro-
can cause faster eye fatigue for the user, as digital content cess models are divided into phases. The aim is to develop
with bright colours requires more light [23]. the process model as a measure for improving the quality
– The use of a dark colour scheme is recommended to of AR applications. This makes it possible to define a stan-
minimize the problem of eye fatigue [23]. dard to assist in the communication of all parties involved
in the development [56]. However, not all phases can be
If digital content is either not displayed or rendered in the automated in this process model for testing AR applications.
wrong place, it may be due to poor tracking or other errors The automation of all tests, especially the tests for checking
resulting from the sensors of the headset or the camera of the quality features, is also not possible in other types of
the smart device. The sensors, as well as the camera, could software projects.
have issues with lighting or the environment not having Even if the Design belongs to the conception as well
enough texture. Such errors could also result from the sen- as the design phase of a software project, it is important
sors been covered by the user’s hair or hands [23]. to include the design in the process model. The design is
essential for the usability of the application and thus for
the acceptance of the potential users, which is checked in
the last phase. Due to the different AR devices as well as
1 https://www.apple.com/apple-vision-pro/. the different experience levels of the users, the implementa-
2 https://www.meta.com/quest/quest-pro/. tion of design for AR applications is associated with special
184 — S. Minor et al.: AR test automation: a process model and case study

challenges. Important issues include preparation, UI, inter- Quality features of an application are the non-
action, digital content, accessibility, and potential problems functional requirements, which is why the test types differ
that may arise. As each hardware developer provides their from the ones before. The quality features are important
own design suggestions, the design principles developed for user acceptance. Examples of quality features are acces-
in this paper should be incorporated to assist. The earlier sibility, efficiency as well as usability. One way to increase
errors can be avoided, the less effort (time and money) is accessibility is with contrast ratio, which benefits people
required to improve the quality of the application. with red-green deficiency. Efficiency can be assessed with
Unit tests can be automated for the most part, along performance and load tests. The most important quality
with service testing as well as UI testing. With unit tests, it feature is usability, which is more difficult to assess due to
is possible to test functions in two ways. Verification tests different AR devices as well as different experience levels of
are used to check if the functions work as intended with users. Therefore, potential users should be involved in the
certain values. Whereas falsification tests are used to check development process of AR applications from the beginning
for incorrect inputs so that unexpected inputs are caught and observed while using the application to enable an intu-
and do not cause the application to crash. Unit tests provide itive application.
the fastest feedback on whether a code change is causing a A summary of the process model is shown in Figure 2.
problem. The AAA pattern is widely adopted for the imple-
mentation of unit tests. Furthermore, this pattern can also
be adopted for the other types of tests. Unit tests should be
created at the latest after completion of a feature. 5 AR application test automation: a
Service tests are used to check related functions and case study
services. Integration tests can be used for this purpose. An
integration test should be implemented for each new related
feature. Furthermore, Snapshot tests can be used to check 5.1 Developing the prototype augmented
that the user interface has not changed due to code changes.
reality application
A reference list is compared with a current list of the object
hierarchy to ensure that all elements are present. With the Considering that AR applications run on smartphones
Snapshot Test, no statement can be made about a correct and tablets as well as HMDs, a cross-platform applica-
arrangement. For this purpose, the UI tests are needed. tion is developed that works on both Android devices and
User interface tests are the most elaborate, yet they HoloLens 2. This will allow testing of different devices, high-
should not be neglected. On the one hand, Visual Regression lighting manufacturer differences. Especially regarding the
tests compare a reference image with a current screenshot different interactions for controlling the application (ges-
pixel by pixel to check whether all elements are arranged ture, touch and voice control), it can be assessed whether
correctly. On the other hand, E2E tests can be used to a uniform test concept can be implemented by having all
check the entire application under real application scenar- possible control variants. For this goal, digital objects as well
ios. Here, tools are used that support the creation of E2E as user interface elements will be integrated into the AR
tests. application. The digital objects will be used to implement

Figure 2: Process model for test automation of AR applications.


S. Minor et al.: AR test automation: a process model and case study — 185

the functions rotation, translation and scaling by touch and – “Coffee Time” changes the cube to a coffee cup symbol-
gesture control. Buttons will be used to represent the inter- izing that the user is available for a coffee break
action with the user interface. Thus, not only the interaction – “I’m Hungry” changes the colour of the cube to orange.
variants touch and gesture control should be possible, but This allows the user to represent that they are hungry
also the barrier-free option of voice control. One of the and ready for a lunch break
three button actuation variants will change the colour of the – “Party!” shows that the user has accomplished some-
digital object or replace it with another object, among other thing special. The cube switches between the colours
things. Users should be able to connect to each other via the red and white.
Internet. Consequently, a user can see when another user – “Neutral” resets the cube to the original shape and
has changed his digital object. Hence, it is possible to check position.
how different devices react to the changes of the digital
objects. Compañero Cube is compatible with Android devices run-
The development environment used was Unity. The ning Android 7 or higher (API level 24 or higher) and
MRTK enables cross-platform development for prototype HoloLens 2.
AR application. However, using MRTK for Android and iOS
is experimental, as not all features are available for Android
and iOS. Furthermore, PUN was used for the connection 5.2 Testing the prototype augmented reality
between users, as PUN also supports cross-platform devel- application
opment. With the guidance from Microsoft [57] on how to
deploy MRTK for Android and iOS, it was not possible to To be able to write and execute Unit, Integration, Snapshot
and Visual Regression tests in Unity, the UTF was used as a
develop an application. Some adjustments had to be made
basis. The tests in the Test Script can be structured according
to use MRTK for Android, which should also run on iOS with
to the AAA pattern. If the initialized variables and objects
minor adjustments.
of the Arrange section are needed frequently, they can be
A prototype AR multiplatform application called
initialized using the Setup method. The method must be
“Compañero Cube” (Figure 3) was developed as the basis
tagged “[SetUp]” so that the method is called before the tests.
for test automation. The idea behind this application is that
The Act and Assert sections are called in the test method. The
users connect through the application. After connecting to
test method must be tagged “[Test]”. In some cases, the setup
the application, an AR cube is placed in front of the user.
should be cleaned up after the tests, for example, because
More cubes from other users can be seen if more users are
changes were made to the application in the setup method.
connected. The name of the user is displayed under each
For this the method “TearDown” should be provided with
cube. The cube can be moved, rotated as well as scaled.
the tag “[TearDown]” and invoked as last the step [58].
Furthermore, buttons are available under the cube to
The UTF also provides “UnitySetUp”, “UnityTest” as
interact with the other users:
well as “UnityTearDown”, which must be provided with the
respective tag. The methods are identical to the standard
methods, except that they allow yielding statements [58].
Yielding statements can, for example, pause statements and
resume them after a specified time (a frame, several sec-
onds, changing a scene, etc.) [59].
In Unity, each script inherits from the base class
MonoBehaviour [59]. The problem with inheritance is that
no instantiation of MonoBehaviour with the new operator
is possible. This makes it difficult to isolate an entity to be
tested. For this problem, the Humble Object Pattern can be
used. For this purpose, the logic of the script that does not
use the Unity API should be extracted into a separate class
and referenced to that class. When the testable entity needs
Figure 3: A user indicates in the Compañero Cube application that he information about the logic, it delegates it to the extracted
wants a coffee break. class [60].
186 — S. Minor et al.: AR test automation: a process model and case study

5.2.1 Unit tests required prefabs can be loaded. Fewer elements are loaded,
which is why the test runs through faster than when loading
Unit Tests are used to test individual units. In this regard, a scene. After that, the Act and Assert steps are to be per-
there should be as few elements in the test as necessary. formed as in the case for the unit tests.
For example (Figure 4a), to test the functions of the AR Figure 4b shows an example Integration Test. A scene is
application, a cube was created. The script with the func- loaded in which a button and a cube are located (Arrange).
tion to be tested is added to the cube (Arrange). The func- The button is executed, replacing the cube with a coffee cup
tion is executed, changing the colour of the cube to black (Act). Subsequently, it is checked whether the coffee cup is
(Act). Finally, the function is checked to see if it works as present (Assert).
intended. In this case it means checking if the cube is black With the help of the “Test Utilities” package from the
(Assert). MRTK asset, hand movements can be simulated. As a result,
the various interaction options, such as rotation, scaling
and translation, as well as activation of buttons by touch
5.2.2 Integration tests and gesture control can be tested in a simulated manner.
Furthermore, the simulation of voice input for activating
In the Integration Tests, units that interact with each other buttons, for example, is possible.
are to be tested. For this purpose, the scene with the
required elements can be loaded asynchronously in the
Arrange step so that all interacting elements are present. 5.2.3 Snapshot tests
In the process, it may happen that elements not required
for the tests (camera, light, AR components, etc.) are loaded. Snapshot tests compares a reference file to the current state
The more elements there are in a scene, the more computing to verify that all elements are present. Here, a reference text
capacity is used, which decreases the speed of the tests. file containing the elements of the scene is to be compared
An alternative for loading a scene including unnecessary with the current text file of the scene elements. For this
elements can be prefabs. The required elements could be purpose, a script was implemented which stores in a text
stored in one or more prefabs. In the arrange step, the file the following properties of each element in the scene:

Figure 4: Unit and integration Tests.


S. Minor et al.: AR test automation: a process model and case study — 187

or differences. With “difflib.HtmlDiff” differences between


two strings in a HTML format can be generated as a result
(Figure 6) [61].
The left side of the HTML file displays the text of the
reference file (reference content of the scene hierarchy) and
the right side displays the current text (current content of
the scene hierarchy). Text marked in red (left) means that
the text of the reference file is not present in the current
file. Instead, text highlighted in green (right) represents the
text added in the current file. In contrast, text highlighted in
yellow (left and right) indicates small changes.
Simplified, the process of Snapshot Test is shown in
Figure 7.

5.2.4 Visual Regression

Visual Regression tests compare a screenshot with a refer-


ence image. The reference image and the screenshot must
be loaded as textures. The hash values of both textures are
calculated and compared. The hash value is a 128-bit num-
ber that returns different values for the smallest differences.
If the hash values are identical, so are the images.
However, if the hash values differ, the methods of a
Figure 5: JSON schema of recorded properties for each scene element.
Python script are used to calculate and show differences
using “OpenCV”. OpenCV is an open-source software library
for image processing, computer vision and machine learn-
the name, position, rotation, scale, materials, attached script ing [62].
components, and its active state (Figure 5). Figure 8 shows the reference image of the cube (top left)
Snapshot tests can be run in UTF as Edit Mode tests, and the current screenshot (top right) as well as the images
since no elements are required at runtime. The text files are calculated with OpenCV of the deviating area (bottom left)
read in via StreamReader and converted to strings using the and the deviating part marked with a red box (bottom right).
ReadToEnd method. Thereby the strings are compared with The deviating area is calculated by subtracting the pix-
each other. At the end the StreamReader objects should be els of the current screenshot from the pixels of the reference
closed, so that the assigned resources are released again. image. The difference is saved as a new image [63]. Alter-
If the strings are different, the text files can be com- natively, for the deviating part marked with a red box, the
pared in Python. The “difflib” library is used for this pur- absolute difference between the images is calculated first.
pose. difflib compares sequences to find partial sequences Then, the absolute difference is converted to gray-scale,

Figure 6: HTML file shows differences [61].


188 — S. Minor et al.: AR test automation: a process model and case study

Figure 7: Snapshot test process.

In addition, none of the E2E tools provide testing capa-


bilities for motion and changing background colors and
lighting conditions.

5.2.6 Performance tests

Since both using MRTK for cross-platform development


and Project Auditor are experimental, the result of the
performance test has to be questioned in some places.
For example, code issues and unnecessary files were dis-
played, which are needed for Android devices or the
HoloLens. Nevertheless, Project Auditor can suggest opti-
mization improvements when developing for one device.

5.3 Evaluation of AR application test


automation
Figure 8: Reference image, current screenshot, deviating area and
The results of this case study show that automating tests
deviating part marked with a red box.
for AR applications is possible to a certain extent. Using
the prototype application presented in this work, it was
possible to show that Unit and Integration Tests work for
which allows binarization of the difference (pixel values HoloLens and Android devices. For the Integration Tests, it
below three become black, all values above become white). is particularly important that all interaction variants can be
With the help of the binarization, the changed contours can tested, which makes the development of a cross-platform
be found, which are marked in red [64]. Figure 9 shows the application useful so that it is not necessary to develop a
summarized Visual Regression process. separate application or maintain a separate codebase for
each operating system. In addition, this can ensure part of
the accessibility of the application, as the alternative inter-
5.2.5 End-to-End tests actions can be tested.
Given the Snapshot tests, a script was developed that
Whether the application works as a whole is checked using saves all elements of the scene hierarchy in a text file.
E2E test tools. All components and subsystems are to be However, in Unity, this type of test is not strictly necessary
tested in real application scenarios. There are problems for rendering since all elements are displayed in the Scene
with this, especially with support for MRTK and HoloLens 2. window. Nevertheless, if rendering does not work on the
In general, most assets and tools promise AR compatibility. target device, the problem is elsewhere. Regardless, the
Compatibility is only given when developing with Unity’s UI Snapshot Test has its uses for automating AR applications.
system. Once MRTK including the customized UI for AR is Small changes to an element, such as trying out a setting,
used, the testing capabilities do not work. will show up if they have not been undone.
S. Minor et al.: AR test automation: a process model and case study — 189

Figure 9: Visual Regression test process.

Visual Regression tests are used to compare the appear- 6 Conclusions


ance of the AR application. This type of test works in the
Unity Editor, using two comparison algorithms for the dif-
ferences in pixels. To check the appearance of 3D elements,
6.1 Summary of findings and contributions
several images from different angles are needed, since this In this paper we have discussed the need for test automation
method can only compare 2D images. of AR applications, presented a process model, and results
In general, the providers of tools and frameworks for of a case study for test automation of AR applications. In
E2E Tests promise AR compatibility, but this is not always this section, we recap the main findings, the contributions of
transparent. The bottom line is that the tools and frame- this work, discuss the limitations, and an outlook on further
works (Unity Automated QA, AltUnity Tester, Airtest and research and development.
GameDriver) only support AR applications that have been We have discussed the current state-of-the-art of test-
developed based on Unity’s input system. This is not appar- ing and test automation of AR applications. Given that AR
ent from the descriptions but only during the use of the applications are more challenging to develop and present
E2E tool and framework. As MRTK served as the basis for many usability challenges, in this paper we present design
cross-platform development in this work, the tools and guidelines for AR applications which is a concise curation
frameworks cannot recognize the interaction elements of of guidelines from state-of-the-art and other device man-
the application. The assets and tools would recognize the ufacturers. We presented a process model for developing
interaction elements when developed with Unity’s UI sys- AR applications and a case study describing techniques in
tem, but the interaction elements would not be compatible implementing test automation for AR applications. Our find-
ings from the case study show that it is possible to imple-
for HoloLens 2.
ment test automation for AR applications. Particularly, the
For testing the other AR aspects, such as lighting, move-
use of Visual Regression tests (with image comparison) and
ment and room tracking, the idea was to use Unity MARS’
Snapshot tests (from auto-generated JSON data). While some
simulation mode to test Compañero Cube in real-world
of these techniques are used in traditional web and mobile
mock-ups. In response to an inquiry about compatibility
application testing, this research shows that they would also
between MARS and MRTK at Unity Support, it was stated
be effective in the context of AR application test automa-
that there is no compatibility. However, colour and lighting
tion. However, some aspects of AR application testing are
conditions can be automatically tested and adjusted using
still challenging to automate (e.g. real-world environment
the contrast ratio and the recommendation of a dark back- elements, and complex interaction modalities) and must be
ground with light text. Room tracking and movement must tested manually. AR and other XR technologies are rela-
still be tested manually on the devices. tively new, so this is an ongoing effort and there is a need
One challenge during development and testing was the for the community to develop standards for implementing
documentation of the libraries, frameworks and tools used. these applications and promote test automation. All stake-
The development as well as the testing of the AR application holders, including users, must be involved in the develop-
was made complicated by the partly missing or incomplete ment of standards, and standards must also be accessible to
documentation. Since the developers’ websites or descrip- all [65].
tions are not transparent regarding the tools’ functions, a The process model developed in this work can serve
lot of time was unnecessarily taken up for testing. as a basis for norms and standards. In addition, design
190 — S. Minor et al.: AR test automation: a process model and case study

standards would be necessary as more and more manu- the broader conversation on AR software quality. Future
facturers develop AR devices. Design principles and test advances in the underlying AR technologies, decrease in
automation should become a part of efficient AR develop- unit production costs, and more affordable devices could
ment with the goal to increase UX which is currently one of lead to increased adoption [66] and use of the technology
the main challenges to mass adoption [66]. in several application domains. Thus the question of AR
software quality will continue to be important; therefore,
6.2 Limitations we briefly discuss future perspective and areas of continued
research and development.
We have discussed a case study for AR application test There is still a high optimization potential for test
automation. However, development of AR applications con- automation of AR applications. Since AR applications are
sists of several steps and the applications can be more com- operated in a wide variety of environments that can not be
plicated than traditional non-immersive 2D (web/mobile) accurately predicted at development time, it is important to
applications. The Case Study presented in this paper con- develop techniques for ensuring the application can operate
tributes to research and development efforts towards test
accurately in the user’s environment. Tools such as Unity
automation of some aspects of AR applications. The results
MARS already provide some of these features, but there is
contribute towards continued development and research
need for continued improvement and similar tools for other
to full test automation, but do not provide a holistic test
development software such as Unreal Engine, Cryengine,
automation of AR applications. Therefore, in this section we
etc. It is also important that these testing tools are ade-
discuss some of the limitations of this research.
quately documented to facilitate adoption and reduce the
1. In this study, we have demonstrated automated testing
barrier to entry in test automation for quality engineers.
of only a limited set of features of AR applications. The
With increased adoption of AR applications and use
scale and number of features of these applications can
in a variety of application domains and contexts, it can be
be considerably larger than the presented case study.
assumed that there will be increased need for E2E tests.
Other features such as environmental conditions and
Since there are many intermediary steps and a variety of
their effects, all interaction modalities have not been
interaction modes for an E2E interaction, it would be desir-
implemented for test automation.
able for all interaction variants to be simulated and for all
2. All tests in this paper have been developed based on
AR-specific aspects to be tested.
MRTK in Unity. The lack of compatibility between MRTK
Furthermore, emulators for different devices would be
and Unity MARS implies that some of the environment
beneficial for test automation, as is standard in Android
simulation features of Unity MARS could not be used
development, for example. In this way, many devices could
automating these environment tests. However this rep-
be tested at once due to different display sizes, lens types or
resents a limitation of these tools. The test automation
operating systems, among other things.
techniques presented in the use can be adapted for
Moreover, software quality could be improved by auto-
use with other libraries or frameworks without such
matically checking other quality features besides efficiency
limitations.
and performance. It would be conceivable to check the qual-
3. Due to the high number of different test types, the pre-
ity feature accessibility by automating the contrast ratio. A
sented use case demonstrates techniques for automat-
tool could calculate the contrast ratio during development
ing only a subset of test types.
and display warnings if the requirements for the AAA level
4. Using MRTK for Android and iOS is experimental, so not
are not met. This offers the potential for future research
all features of MRTK will work. For this reason, cross-
to examine the extent to which the test automation of AR
platform development is not always practical for every
applications can be extended to include quality features in
project. However, with continued open source develop-
addition to the automation of functional tests.
ment of MRTK, it is possible that this may change in the
future.
References
1. Kim M. O., Coiera E., Magrabi F. Problems with health information
6.3 Future research and development technology and their effects on care delivery and patient
outcomes: a systematic review. J. Am. Med. Inform. Assoc. 2017, 24,
In this research work we have discussed test automation 246 − 250..
for AR applications and demonstrated implementation tech- 2. Baumgartner M., Klonk M., Pichler H., Seidl R., Tanczos S. Agile
niques using MRTK. This work represents a component of Testing: Der agile Weg zur Qualität; Hanser Verlag: München, 2013..
S. Minor et al.: AR test automation: a process model and case study — 191

3. Vocke H. The practical test pyramid, 2018. https://martinfowler 21. Stiles-Shields C., Montague E. Usability testing. In Encyclopedia of
.com/articles/practical-test-pyramid.html. Behavioral Medicine; Gellman M. D., Ed.; Springer International
4. Krasner H. The cost of poor software quality in the US: a 2020 Publishing: Cham, 2020; pp. 2294 − 2296.
report, 2021. https://www.it-cisq.org/pdf/CPSQ-2020-report.pdf. 22. WebAIM. Contrast and color accessibility: Understanding wcag 2
5. Colantonio J. How to do virtual augmented reality testing, 2018. contrast and color requirements, 2022. https://webaim.org/
https://testguild.com/testing-virtual-augmented-reality/. articles/contrast/.
6. Makarov A. Augmented reality development guide. https:// 23. Microsoft. Start designing and prototyping − mixed reality, 2021.
mobidev.biz/wp-content/uploads/2020/05/augmented-reality- https://docs.microsoft.com/en-us/windows/mixed-reality/design/
development-guide.pdf. design.
7. Dünser A., Grasset R., Seichter H., Billinghurst M. Applying HCI 24. Bhakta P. Red Green Deficiency: Causes and Consequences;
principles to AR systems design, 2007. https://www.researchgate Universidad Interamericana de Puerto Rico: Escuela de
.net/publication/216867606_Applying_HCI_principles_to_AR_ Optometría, 2017. https://books.google.de/books?id=Ndp_
systems_design. zQEACAAJ.
8. Cohn M. Succeeding with Agile: Software Development Using Scrum. 25. Schmalstieg D., Höllerer T. Augmented Reality: Principles and
The Addison-Wesley Signature Series a Mike Cohn Signature Book. Practice; Addison-Wesley usability and HCI series, Addison-Wesley:
Addison-Wesley: Upper Saddle River, NJ and Munich, Boston and Columbus and Indianapolis, 2016.
2010. 26. Wen Q., Jahiu D., Sherer T., Tieto V., Ferrone H., Frazier K., Coulter
9. Whittaker J. A., Arbon J., Carollo J. How Google Tests Software: Help D. What is mixed reality? 2022. https://docs.microsoft.com/en-us/
me Test like Google; Life of a TE, Life of an SET, Interviews with windows/mixed-reality/discover/mixed-reality.
Googlers and More; Addison-Wesley: Upper Saddle River, NJ and 27. West T. Labs spotlight: unity mars. Unity Blog 2019. https://blog
Munich, 2012. .unity.com/technology/labs-spotlight-project-mars.
10. Baumgartner M., Klonk M., Mastnak C., Pichler H., Seidl R., Tanczos 28. Technologies U. Performance testing extension for unity test
S. Agile Testing: The Agile Way to Quality. Springer eBook Collection, framework, 2021. https://docs.unity3d.com/Packages/com.unity
1st ed. 2021 ed.; Springer International Publishing and Imprint .test-framework.performance@2.8/manual/index.html.
Springer: Cham, 2021. 29. GameDriver. Gamedriver, 2022. https://www.gamedriver.io/.
11. Mindra D. Unit testing at the speed of light with unity test tools. 30. Technologies U. Automated qa, 2022. https://unity.com/de/
Unity Blog 2014. https://blog.unity.com/technology/unit-testing- products/automated-qa.
at-the-speed-of-light-with-unity-test-tools. 31. Altom. Altunity tester − ui test automation, 2022. https://
12. Microsoft. Unit test basics, 2021. https://docs.microsoft.com/en- assetstore.unity.com/packages/tools/utilities/altunity-tester-ui-
us/previous-versions/visualstudio/visual-studio-2015/test/unit- test-automation-112101#description.
test-basics?view=vs-2015&redirectedfrom=MSDN#BKMK_ 32. Consulting A. Altunity tester documentation, 2022. https://altom
Writing_your_tests. .gitlab.io/altunity/altunitytester/tester.html.
13. Wickramarachchi V. Snapshot testing for frontends: Test whether 33. NetEase. Airtest project docs, 2022. https://airtest.doc.io.netease
any characteristics of your application have changed. Bits and .com/en/.
Pieces 2021. https://blog.bitsrc.io/whats-snapshot-testing-and- 34. Technologies U. Projectauditor, 2022. https://github.com/Unity-
can-we-use-it-for-frontend-f5a441cae27a. Technologies/ProjectAuditor.
14. Müller P. M. Little Boxes, Teil 1: Webseiten gestalten mit 35. Ansari S. G. Toward automated assessment of user experience in
HTML CSS. Grundlagen, 2. aufl. ed.; Addison-Wesley Verlag, s.l., extended reality. 2020 IEEE 13th International Conference on
2009. Software Testing, Validation and Verification (ICST) 2020, 430 − 432;
15. Hartmann N., Zeigermann O. React: Grundlagen, fortgeschrittene https://doi.org/10.1109/ICST46399.2020.00056.
Techniken und Praxistipps − mit TypeScript und Redux, 2. 36. Harms P. Automated usability evaluation of virtual reality
überarbeitete und erweiterte auflage ed.; dpunkt.verlag: applications. ACM Trans. Comput.-Hum. Interact. 2019, 26, 1 − 36;.
Heidelberg, 2020. http://www.content-select.com/index.php?id= 37. Vi S., da Silva T. S., Maurer F. User Experience Guidelines for
bib_view&ean=9783960884194. Designing HMD Extended Reality Applications; Springer International
16. Bierbaum A., Hartling P., Cruz-Neira C. Automated testing of Publishing: Cham, 2019; pp. 319 − 341.
virtual reality application interfaces. In Proceedings of the Workshop 38. Figueira T., Gil A. Youkai: A Cross-Platform Framework for Testing
on Virtual Environments 2003 − EGVE ’03; Kunz A., Deisinger J., Eds.; VR/AR Apps; Springer Nature: Switzerland, 2022; pp. 3 − 12.
ACM Press: New York, New York, USA, 2003; pp. 107 − 114. 39. Souza A. C. C., Nunes F. L. S., Delamaro M. E. An automated
17. Bazurto Gómez N., Guerra Gómez J. A., Linares Vásquez M., Alvarez functional testing approach for virtual reality applications. Softw.
Martíńez D. Visual regression testing for information Test. Verific. Reliab. 2018, 28, e1690;.
visualizations, 2018. http://hdl.handle.net/1992/34290. 40. Börsting I., Heikamp M., Hesenius M., Koop W., Gruhn V. Software
18. Da Costa L. Testing JavaScript Applications, 1st ed.; Manning engineering for augmented reality − a research agenda.
Publications and Safari: Erscheinungsort nicht ermittelbar and Proc. ACM Hum.-Comput. Interact. 2022, 6, 1 − 34;.
Boston, MA, 2021.. 41. Tramontana P., Luca M. D., Fasolino A. R. An approach for model
19. Kleuker S. Performance- und lasttests. In Qualitätssicherung durch based testing of augmented reality applications, 2022.
Softwaretests; Kleuker S., Ed.; Springer Fachmedien Wiesbaden: 42. Lehman S. M., Ling H., Tan C. C. Archie: a user-focused framework
Wiesbaden, 2019; pp. 355 − 395. for testing augmented reality applications in the wild. 2020 IEEE
20. Ong S., Siddaraju V. K. Beginning Windows Mixed Reality Conference on Virtual Reality and 3D User Interfaces (VR) 2020,
Programming; Apress: Berkeley, CA, 2021. 903 − 912; https://doi.org/10.1109/VR46266.2020.00013.
192 — S. Minor et al.: AR test automation: a process model and case study

43. Mellis W. Projektmanagement der SW-Entwicklung: Eine umfassende Eds.; Handbook of Human Factors and Ergonomics; Wiley: Hoboken,
und fundierte Einführung; Springer eBook Collection Computer New Jersey, Vol. 90, 2021; pp. 1216 − 1248.
Science and Engineering, Vieweg+Teubner Verlag: Wiesbaden 54. Microsoft. Accessible technology in computing: Examining
and s.l., 2004. awareness, use, and future potential, 2004. http://download
44. Börsting I., Heikamp M., Hesenius M., Koop W., Gruhn V. Software .microsoft.com/download/0/1/f/01f506eb-2d1e-42a6-bc7b-
engineering for augmented reality − a research agenda. Proc. 1f33d25fd40f/researchreport-phase2.doc.
ACM Hum.-Comput. Interact. 2022, 6, 1 − 34;. 55. Gong L., Fast-Berglund A., Johansson B. A framework for extended
45. Dabor O., Longford E., Walker S. Design guidelines for augmented reality system development in manufacturing. IEEE Access 2021, 9,
reality user interface: a case study of simultaneous interpretation. 24796 − 24813;.
In 2019 11th Computer Science and Electronic Engineering (CEEC); IEEE, 56. Brandt-Pook H., Kollmeier R. Softwareentwicklung kompakt und
2019; pp. 164 − 166. verständlich: Wie Softwaresysteme entstehen; Springer Fachmedien:
46. Google Developers. Augmented reality design guidelines, 2021. Wiesbaden, 2020.
https://developers.google.com/ar/design?hl=en. 57. Microsoft. Deploying to android and ios (AR foundation)
47. Apple Inc. Augmented reality − system capabilities − ios − [experimental] − mixed reality toolkit, 2022. https://docs
human interface guidelines − apple developer, 2021. https:// .microsoft.com/en-us/windows/mixed-reality/mrtk-unity/
developer.apple.com/design/human-interface-guidelines/ios/ supported-devices/using-ar-foundation?view=mrtkunity-2021-05.
system-capabilities/augmented-reality/. 58. Technologies U. Unity test framework, 2020. https://docs.unity3d
48. Davis N. Best practices for bringing AR applications to the field. .com/Packages/com.unity.test-framework@1.1/manual/index
Unity Blog 2020. https://blog.unity.com/manufacturing/best- .html.
practices-for-bringing-ar-applications-to-the-field. 59. Technologies U. Unity user manual, 2021. https://docs.unity3d
49. Rolim C., Schmalstieg D., Kalkofen D., Teichrieb V. [Poster] Design .com/Manual/index.html.
guidelines for generating augmented reality instructions. In 2015 60. Paszek T. Unit testing monobehaviours. Unity Blog 2014.
IEEE International Symposium on Mixed and Augmented Reality; IEEE, https://blog.unity.com/technology/unit-testing-part-2-unit-
2015; pp. 120 − 123. testing-monobehaviours#state=145691&error=consent_cancel.
50. Deutsches Institut für Normung e. V, b. Ergonomie der 61. Foundation P. S. difflib, 2022. https://docs.python.org/3/library/
mensch-system-interaktion: Teil 210: Menschzentrierte difflib.html.
gestaltung interaktiver systeme. https://doi.org/10.31030/ 62. OpenCV. Opencv, 2022. https://opencv.org/.
3104744. 63. Stackoverflow@nathancy. Detect and visualize differences
51. Sung Oh G., Hee Oh S. Impact of text distance and size in ar on between two images with opencv python, 2022. https://
user experience: focusing on the implement of experimental stackoverflow.com/questions/56183201/detect-and-visualize-
applications. In 2020 International Conference on Information and differences-between-two-images-with-opencv-python.
Communication Technology Convergence (ICTC); IEEE, 2020; 64. Srivastava V. Vergleichen sie zwei bilder und markieren sie
pp. 464 − 467. unterschiede mit python; GeekyHumans, 2021..
52. Deutsches Institut für Normung e. V, a. Ergonomie der 65. Daigl M., Glunz R. ISO 29119: Die Softwaretest-Normen verstehen und
mensch-system-interaktion: Teil 171: Leitlinien für die anwenden; dpunkt.verlag: Heidelberg, 2016.
zugänglichkeit von software. https://doi.org/10.31030/1426650. 66. Coie P. 2020 augmented and virtual reality survey report, 2020.
53. Vanderheiden G. C., Jordan J. B., Lazar J. Design for people https://www.perkinscoie.com/images/content/2/3/231654/2020-
experiencing functional limitations. In Salvendy G., Karwowski W., AR-VR-Survey-v3.pdf.

You might also like