Initially targeted at entertainment, the concept of extended reality has grown way beyond it. Today, the spheres of implementation also include education, training, e-commerce, engineering, and more. While all that is growing, most businesses are not yet ready for full implementation of this technology. Yet, with the development of Web 3.0 and the Metaverse, this will become impossible to avoid. This is what makes it important that a QA engineer develops such skills through work in a wide range of solutions with innovative edges in different industries.
What Is AR?
Augmented reality (AR) serves as an excellent entry point for businesses into the world of XR. While XR is relatively new to both enterprises and users, AR provides a simpler way to meet customer demands. However, testing AR is far from straightforward. With practice and the right insights, it can become more manageable.
Let’s begin by clearly defining AR and distinguishing it from other forms of reality.
- XR-Extended Reality: An umbrella term describing all of the technologies that fall under it.
- AR-Augmented Reality: Makes use of your physical environment and projects digital content on top. A very good example is the AccuVein, which detects vein patterns by reading patients' heat signatures and then displaying the image back onto the skin for easy recognition of vessels by a medical practitioner.
- MR - Mixed Reality: This is a mix of the actual and virtual realities within which interaction is supported. A simple example is Windows HoloLens; when strapped on with haptic gloves, you could power yourself to act upon this MR world. The only difference between AR and MR would be that, in the case of AR, you cannot interact physically or metaphysically with the content.
- VR-Virtual Reality: It is the technology that will plunge users into a completely virtual world. Example-Oculus Rift includes in its package a headset, headphones, and controllers that will completely involve the user in this world.
In other words, augmented reality is an actual surrounding environment supplemented, or enhanced, with superimposed information created on a computer.
How AR Works
To effectively test AR applications, it's essential to understand how these applications function. Most AR apps operate on four core principles:
1. Capturing the Environment:
This involves scanning the live environment through a camera-equipped device, enabling the app to navigate the scene it will work in. For instance, IKEA Place uses this function to view users' apartments and overlay selected objects on top.
2. Identifying the Anchor Point:
To display virtual content, the app must identify a subject or location to overlay it on. Instagram filters, for example, can precisely recognize a human face and display images on specific features. Thanks to this anchor, the filter will follow your movements.
3. Retrieving Correct Data:
AR apps must show accurate images in real-time within 3D environments. Consider Machine A's virtual store; as the user "steps into" the space, the app continuously updates its visuals to match the corresponding section.
4. Consistently Linking Reality and AR:
To maintain immersion, there must be a seamless connection between the real and virtual worlds, even when users interact with the app in various conditions for extended periods. For example, Pull & Bear's Pacific Game is designed for prolonged engagement, so it must function consistently.
Common Issues with AR Testing
Testing AR software presents unique challenges that require careful consideration. While best practices are still evolving, the following are some of the most common issues:
The 3D Aspect of AR:
AR integrates creativity with the real world, which introduces the challenge of testing in nearly infinite environments. Ensuring accurate data projection across various surfaces, structures, objects, and lighting conditions can be time-consuming.
Space Mapping in Motion:
Live tracking is essential for AR apps, requiring accurate interpretation of location, motion, movement direction, and device rotation at all times. Although AR software may use infrared light, sensors, or GPS data, fast transitions can still be problematic.
Device Variability:
The growing use of AR leads to a wide range of implementation options, including different operating systems, screen resolutions, and camera capabilities. Testing AR across various devices, such as mobile hardware, smart glasses, and kiosk systems, can be demanding. While emulators and cloud devices can assist, they offer limited experience compared to real-world testing.
Common Testing Types for AR
Testing AR applications requires extra effort, but many traditional testing aspects still apply:
Functional Testing:
This involves verifying that every software feature works as intended. While AR functional testing may differ from traditional methods, it typically starts with logins and menu displays before moving on to assess virtual content placement, space/object recognition, and other AR-specific features.
Compatibility Testing:
This testing ensures the app performs optimally across different software and hardware configurations. Given AR's diverse usage scenarios, it’s crucial to tailor the app to meet the needs of specific user setups.
Accessibility Testing:
Guaranteeing that AR applications can be reachable by the majority of users is absolutely vital to ensuring a great UX. For instance, properly choosing colors and contrast makes applications more accessible to visually impaired users, while adjusting controls offers better usability experiences for mobility-impaired users.
Compliance Testing:
Ensuring the app complies with relevant regulations, particularly in terms of customer data protection, is essential. AR apps that utilize real-time physical data must safeguard any recorded information and adhere to safety guidelines to prevent physical harm in scenarios such as AR training exercises.
UI Testing:
The app’s user interface (UI) must be user-friendly, as users need to interact with both the app and the real world simultaneously. Ensuring UI consistency and integrity is critical to avoid confusing users and to facilitate smooth operation.
Integration Testing:
This testing focuses on the combined functioning of multiple software features. For AR apps, it’s particularly important to verify the continuous interaction between the device's camera and other components, ensuring the app remains functional even in challenging scenarios.
Key Considerations for AR Testing
When providing QA services for an AR app, there are several unique aspects to keep in mind:
Safe Utilization:
Safety should be a top priority, regardless of the environment in which the AR app is used. QA engineers should test the app in various conditions, such as different weather, lighting, and locations, to ensure user safety.
Motion Sickness:
Also known as cybersickness, this is one of the most common problems among XR users. Up to 95% of users are reported to have experienced symptoms such as headaches or nausea. With longer use, more serious effects may arise from AR, such as eyestrain that over time could lead to myopia. Testing safety mechanisms, such as reminders to rest or adjustments to reduce symptoms, is crucial.
Battery Life:
AR apps are resource-intensive, so managing battery usage is important. Testing how the app performs on low battery, whether it runs unnecessary background functions, and how it impacts CPU usage can help identify ways to optimize performance and provide users with timely and non-intrusive solutions.
How to Test Augmented Reality Applications
While there is no standardization for AR testing, the following framework can be useful:
Study Software Requirements: Familiarize yourself with the app's functionality and goals to create effective use and test cases.
Research Your Audience: Understanding your target audience can help you identify potential issues during testing, ensuring the app meets users' needs.
Set Up the Working Environment: Prepare the necessary devices and spaces to immerse yourself in the users' experience and better understand their needs.
Define Test Coverage: Clearly outline what needs to be tested, including environment scanning, object tracking, and data accuracy, to develop focused test scenarios.
Establish Needed Tests: Prioritize testing based on the project’s goals and avoid trying to test everything at once.
Collaborate with the Team: Work with other QA and development team members to share knowledge and learn from each other’s experiences.
Innovate: Since there are no golden rules for AR testing, creativity is key. Experimenting with the app and anticipating user behavior will help you write better test cases and improve the app's overall quality.
Conclusion
Testing AR applications can be challenging, especially when you’re new to it. However, with a focus on doing your best and helping to create an app with no critical defects, you’ll find that the process becomes more manageable over time. Keep pushing forward and remember that every challenge is an opportunity to learn and grow as a QA engineer.