Skip to content

PREVIEW MODE - This site is not yet publicly available

Building MEZR

Our QA Testing Nightmare (And How We Survived It)

Sarah Johnson

Sarah Johnson

QA Lead

May 3, 20246 min read
Our QA Testing Nightmare (And How We Survived It)

After months of development, we were finally ready to put our beta version through rigorous QA testing. We were confident in our work - perhaps a little too confident, as it turned out.

The Perfect Storm of Bugs

Our first organized QA session in April 2024 quickly turned into what we now affectionately call "The Bug Apocalypse." Within the first hour, our QA team had logged over 30 critical issues that somehow hadn't surfaced during our internal testing:

  • The calibration system would randomly reset in the middle of measurements
  • Saved measurements would occasionally corrupt when reopened
  • The app would crash when scanning particularly complex roof lines
  • On certain Android devices, the AR overlay would appear several feet away from the actual building
  • The measurement export feature would generate PDFs with missing data

To make matters worse, many of these issues were inconsistent and difficult to reproduce - the most challenging kind to fix.

Embracing the Chaos

After the initial shock wore off, we made a critical decision that ultimately saved the project: instead of rushing to patch these issues, we took a step back and completely overhauled our testing methodology.

We developed a structured testing protocol that included:

  1. Environmental testing under varied lighting conditions
  2. Device-specific test plans for multiple iOS and Android models
  3. Automated stress tests that would run the app through thousands of measurement cycles
  4. Field testing protocols for real-world construction sites
  5. Regular regression testing to ensure new fixes didn't break existing functionality

The Deep-Rooted Issues

This methodical approach revealed that many of our bugs stemmed from a few core issues:

First, our handling of device sensor data wasn't accounting for the wide variance in sensor quality across different phones. What worked perfectly on an iPhone 14 Pro was failing on an iPhone 12 or mid-range Android devices.

Second, our data storage architecture had fundamental flaws that caused corruption when measurement files grew beyond a certain size.

Third, our AR rendering engine wasn't properly accounting for different device orientations and camera capabilities.

The Three-Week Push

The team rallied for an intense three-week period where we basically rebuilt the core measurement engine from the ground up. We implemented:

  • A device-specific calibration system that would adjust for sensor capabilities
  • A more robust storage architecture with redundancy and validation
  • A completely redesigned AR rendering pipeline

The most painful decision was delaying our beta launch by six weeks, but it was absolutely the right call.

The Silver Lining

When we finally resumed QA testing, the difference was dramatic. Not only had we fixed the critical issues, but the app's performance and reliability had improved across the board.

The experience taught us a valuable lesson about the importance of structured, methodical QA testing - especially for an app that combines complex technologies like LiDAR and AR.

We now consider our QA process to be one of our competitive advantages. We've built automated testing into our development workflow, and every update undergoes a comprehensive testing protocol before it reaches users.

The nightmare turned into a blessing in disguise, forcing us to build a more robust foundation that has served us well as we've scaled. Sometimes you need to face a small disaster to avoid a bigger one down the road.

Share this post

Get MEZR