This week was all about two things: expanding test coverage across different roles and finally figuring out what’s been going wrong with the QR scanner. Both turned out to be pretty eye-opening in their own ways.
Expanding Test Coverage
I kicked off the week by writing more tests, this time for several user roles in the system. I’ll be adding even a few more soon, but even this round already taught me a lot.
Writing tests forces you to really know how a feature works. You can’t just use it, you have to understand what it’s supposed to do, what can go wrong, and how it should behave in every situation. It’s like pulling the system apart to see how the gears turn. Definitely one of the best ways to get comfortable with the whole structure.
The QR Scanner Mystery
The main focus this week was the QR scanner that had been acting up during past events. I took a systematic approach this time, listing out all possible causes and testing them one by one.
After a lot of trial and error, I discovered the issue wasn’t with the encryption or secret key at all, it was a mismatch between the QR code’s data format and what the system expected during validation. Once I added clearer error messages, the logs revealed the real culprit: the unique identifier (UUID) in the QR code didn’t follow the format the system required.
After discussing with the team, I refined the validation logic so the system could handle multiple UUID formats more gracefully. Now, the scanner recognizes both standard and alternate formats without breaking validation. Finally, no more random “invalid QR” messages!
A Small UX Hiccup
While testing, I noticed a small user experience issue: the confirmation dialog (the one that appears after marking attendance) doesn’t close immediately. It lingers for a moment and sometimes needs a few extra taps to dismiss. It’s not a big problem, but it’s on my list to smooth out next week.
Reflections & Insights
- Writing tests makes me truly understand the system.
- Debugging isn’t always about big errors, sometimes it’s tiny format details.
- Good error messages save hours of guessing.
What’s Next
Next week, I’ll try to wrap up the test coverage and fix that dialog delay for a smoother user experience. I’ll also be adding proper error handling for the 429 (Too Many Requests) error that once appeared during a live event, just to make sure the system handles such cases more gracefully next time.
0 Comments