Augmented Reality / Virtual Reality (AR/VR) is no longer rocket science. It is very much here and now, a viable part of the consumer market, available for millions of users. More and more companies are now seeing the uses for AR/VR products — It provides enormous potential ranging from chasing digital creatures to designing complex machines or providing engineering solutions. If your business is planning to launch an AR/VR application project, you probably know that there are two crucial activities that will define user satisfaction with the final product. The first one is a natural and immersive user experience. The second one is quality assurance. In this article, I would be talking about the approach to test AR/VR and how to ensure Quality in AR/VR products.
To learn more about Software Testing & Quality Assurance, and how can you start your career as a QA please click here.
STEP 1: UNDERSTAND THE DIFFERENCE BETWEEN AR AND VR
The core difference between the two conceptually is about how augmented reality augments or enhances a real-life experience, while virtual reality recreates or simulates a real-life experience. Both rely heavily on the word “reality” but how they leverage reality is where the difference truly is.
The biggest challenge with AR/VR testing–is that it’s the blackest kind of Black Box testing you can imagine because you’re taking the input that you think the device should be getting and then trying to determine whether it’s the correct output. It’s not until a period of trial and error that you’re able to become familiar with the app.
STEP 2: TEST INITIALISATION
- Examine the product requirements beforehand to see the conditions under which the product will be used.
- Figure out the devices and types of interaction supported by the product.
- Learn about the AR development environment which is going to be used in your project, and the kind of testing supported by them.
- AR/VR software testing is far more time-consuming and less consistent than traditional testing. It is important to set up correct environments and test the app with different physical objects, in different scenes under different environmental conditions.
- Emulators are good but for sure they cannot substitute real devices when it comes to finding and eliminating possible issues within real physical environments.
STEP 3: FINALIZE THE SCOPE OF TESTING
- Tracking Objects in real-time.
- Confirm if the Environment Scanning is working correctly.
- Check 2D/3D objects registration by the application.
- Test the performance of the application under different inputs.
- Verify if AR/VR model redirects to the desired information.
- Test the application GUI testing to acknowledge and solve any errors in the application’s interface.
STEP 4: FINALIZE THE TYPE OF TESTING TO BE PERFORMED
- Functional Testing- Exploratory testing, planning, and implementing test cases as per the functionality or business requirements, while completely integrating the whole AUT.
- Usability testing- The pre-production testing to check whether the use case is aligned with the preferences and needs of your target audience. Running the tests also helps to gather workable feedback on usability and the manner of interaction of the users.
- Immersive Testing- Characteristically VR requires distinct hardware to function. We ensure that the device works well and remains compatible with existing software and devices for successful simulation.
- Hardware Testing- Understanding and trying various available physical environments required for your audience who would use the AR/VR app.
- Accessibility Testing: Ensure the AR/VR app can be used irrespective of age and physical condition, reduce discomfort and ensure quick and natural navigation.
- Security Testing: Helps to identify and further remove any possibility of data loss or any privacy issues.
- Accessibility Testing: AR/VR sounds great in theory, yet it comes with health impacts and keeps causing headaches, eye strain, and motion sickness, it is up to the software team to ensure accessibility and create a product that can be used regardless of age and physical condition, reduce discomfort and ensure quick and natural navigation.
Specifically looking at AR vs. VR from a testing angle, both may need extra hardware to support the testing process, especially VR. In the case of AR, a lot more field testing will be required, compared to VR since it is all about enhancing a real-world experience.
STEP 5: WORK COLLABORATIVELY WITH DEVELOPERS
- As QA professionals, we’re in an awesome position to align ourselves with the development team because the technology is so new and continuously evolving.
- For some of the developers working on your projects, it might be their first time working with these APIs, so it’s a great time for you to educate yourself as well.
- The best way to learn is to get your hands dirty- there are a couple of opensource and freeware tools available to create AR/VR apps, try creating your own app and this exercise will give you valuable perspective, in context, about how these apps are created as well as ideas on how to approach testing them.
LAST & MOST IMPORTANT STEP: USE YOUR CREATIVE SIDE
I know most of the times a Software Tester / QA is supposed to be “Destructive” or break the app but trust me to be a successful QA professional, you need to explore your curious and creative side like a kid;
- As a tester, try to look for how to leverage the other technology to make the effort more productive — i.e. AR to help test VR and vice versa.
- Do not “Freak Out” — there’s no model or recipe for you to Google. There’s no stack overflow to look at. You have to follow the basic principle of science — Trial & Error!
- Try the “Pair Testing” approach, you can pair up with a Developer or a senior Tester, or someone from the Business or Product side and try testing with them.
- From a test data standpoint, it is primarily a simulation of the real world. As a tester, you should try all scenarios that could possibly happen in the real world or those that cannot be tried in real-time or edge cases that are so rare to happen in real-time.