Everything is based on a simple rule: Quality is the best business plan, period.
– Steve Jobs
As a leader at a tech company, it’s hard not to utilize a good Steve Jobs quote from time to time. In this case, I couldn’t agree more. But the act of upholding quality as a top goal does not make it easy to achieve. A lot goes into releasing a quality software product that meets the needs of our customers. The quality assurance (QA) team here at Keycentrix takes deep pride in being one of those critical steps in the development and release cycle.
Which brings us to a big confession …
We like to break things.
Contrary to what you might think, creating a quality software product means first trying to break it. And who doesn’t get a little satisfaction from breaking something? It’s the best way to ensure that things work. I can’t count the numbers of times a QA team member has said that the best part of being an analyst is ‘failing a ticket’ – which is code for preventing a bug before it reaches production.
Our goal in the QA department is to release secure, quality, production-worthy software products. So we try to break them in advance. We find the bugs, the loopholes, and the wacky behavior – the sneaky little hiding things – before they get out in the real world.
… but not just for the heck of it.
Of course, this isn’t something we do just for fun. There are very real and important reasons why we have to be on top of not only our reliability but also our safety and integrity games, all the time.
The scope of testing isn’t just limited to the final release product that we send to our customers. QA is responsible for testing every single build, up to and including the final one. This can consist of hundreds of builds per release cycle with just as many tickets. In 2022, our QA team tested and passed 1377 tickets that resulted in 4,691 test cases and 397 builds of QA-tested compiled code passed on to our customers through 16 releases. That’s 1,862,327 test events to maintain quality. In other words, we test EVERYTHING. It’s not ready until it has passed our “DOD” — Definition of Done.
Why do we do all this? We’re well aware that we support pharmacies that work with important information. On top of that, these pharmacies are incredibly busy, and the last thing they need is software they can’t rely on. That’s why we’re here, to do the legwork so you can have peace of mind.
Tools of the Trade
The lifecycle of a QA ticket can be somewhat varied, but there tends to be a general workflow. The request comes in and must be evaluated, then the functional and technical specifications are created. Development designs and codes, and finally, it gets to the QA department.
We have a lot of tools in our Quality Assurance tool bag. We utilize different hardware setups like virtual servers and physical servers. Then we test with an array of peripheral devices – such as printers, signature capturing devices and scanners – just like the ones used by our customers. Our QA Lab is like a mini pharmacy without the drugs. So we can test environments just like the pharmacies who use our software.
A Punch in the Face
Software engineers and quality assurance analysts have a unique relationship. It can be a bit “love-hate” at times. The satisfaction the QA team gets from failing a test ticket or creating a bug can feel like a punch in the face to the software developer. We might go back-and-forth, but we ultimately work through the issue together. It may result in more troubleshooting to identify the exact idiosyncrasies that are causing the problem, but we always reach an agreement in the end. This might result in more code changes or an environmental issue that just needs tweaked. Or … every once in a LONG while … it just might be that the QA team was, dare I say, mistaken. I guess we can’t all be perfect ALL the time!
The hard work of our quality assurance team at Keycentrix results in a quality product our customers – and their patients – can benefit from and count on. Who knew breaking things could result in our very favorite thing – happy customers.