I'm in your boat!
I'm a self taught Android developer who, like you, created an app to help in my day-to-day job. Here's the thing, I use my app daily and it indirectly has earned me thousands by making me more efficient, making less mistakes and quickens my day up (it even prints receipts!)
I'm planning on releasing it soon but I'm re-writing the code because I know a lot more today plus my rewriting will make it faster. I'm also switching from Java to Kotlin and SQLite to Room.
While I hope to make money by releasing it, I don't care if it doesn't because it helps me. My one visible app in the Play Store doesn't make me a penny but again it helps me. That was never designed to make me money, simply so I could understand and get a presence on the Play Store.
I love your passion because I have the same. I code at night, not because I have to, but because I want to and love coding.
My first (and only visible) app on the Play Store gives a simple fixture list for my football club that is displayed in a home screen widget. I find it useful even though there are apps out there where I can find them. It solves a unique problem to me and a few hundred users agree. I've never made a penny from it (nor do I intend to), it was always just to give me a Play Store presence and to understand the process of uploading (which is a PITA TBF.)
What I learned is your point about testing. No matter how much you idiot proof an app, there will be one idiot that will break it. They also won't use your app the way it's intended. My bad because I had a null pointer that crashed for most of my users, it was totally my fault but as I was using my app the way it was intended, I didn't get the crash.
I'm a window cleaner and I've developed my own software for recording cleans, payments and reschedules work (it even prints receipts!) This is my main side project (although I have loads!) I'm quite proud of it because it works brilliantly and solves my own problem but again you'll never know what idiot will break it. I've just purchased the domain for my landing page and now that is a problem I'll have to solve because the web hosting I am paying for won't cover new domains purchased and now I have an extra problem I never knew about.
Ugg! I get ya about lifetime subscription. I'd prefer a yearly recurring subscription but I once paid for Holdem Manager v2 which was lifetime and 3 years later they brought out Holdem Manager v3 and stopped supporting v2 so that could be an option.
My view for side projects, create value for yourself and your users and don't worry about making money. That will come when the value is recognised by your users.