Quality Assurance is…Awesome?!? (Part 1)

Karl Henricksen
The Grove Blog
Published in
4 min readJul 7, 2016

‘QA’ is one of the less understood aspects of creating a product. Some misconceptions are that it’s simply checking, testing, and using the product. Sort of a once-over for bumps and scratches. And sure, some good old-fashioned ‘using-and-looking-at-the-product’ is definitely part of the recipe. But there’s much more, so I’m going to give a quick insider look at what I do as the QA expert at Grove.

QA: What is it?

First off, here’s a quick definition,“Quality Assurance: the maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production.”

What this means is that a QA Engineer is responsible for ensuring the final product is up to a certain level of quality. Before I joined the team, all QA was performed by the people creating what they were testing, which is often the case in small companies. But even the most senior developers can’t possibly test all the different ways the thing they’re making will be used, and they’re often just too close to the project to see some pitfalls.

See: a software engineer very close to his project.

I come in first as an outsider, without that bias from having designed and built the product (be it software or hardware). I have to think about whether this will make sense to a regular user, design tests to validate all the functionality of the product and test to the extreme boundaries of what’s possible. There’s quite a lot involved in this process, so here’s an overview of some of the tools I (and the developers) use for making sure we make the best possible products for Grove (and you)!

The QA Toolbox:

I wish I carried a toolbox like this to work.

Serial logs

The code we put on our microcontrollers logs useful data and messaging that can let us know what sort of good or bad behavior has occurred.

Automation script logs

When running our automated scripts, these log files can let us know when/where a failure occurred.

Nest Cams

We use these handy cams to give us a second set of eyes, since they can monitor our Groves’ lights/plants and circuit boards when we aren’t around. Their ability to save footage going back days lets me locate an anomaly in the logs and then jump back in time to that moment to see the physical behavior of the product.

AC Timer

We found these handy little AC timers, which are frequently used by the ecology team for prototypes to be a great QA tool. We’ve been using them to simulate loss of routers/internet/power in the Grove. We’ve since tracked down a really elusive issue and passed along to the people at Particle to fix!

All the Senses

Of course, human attention is nearly always the best QA tool. I am always trying to use my intuition and all 5 senses for determining when to dig deeper into suspicious behavior and I’m constantly looking out for weird light flashes, relays clicking, and any out-of-the-ordinary sounds or smells.

So now we have a general understanding of the basics of QA, what it is, why we would do it, and our basic tools. Stay tuned for part 2 of this post where we will unpack our toolbox and take a deep dive into the different types of testing techniques employed in the search for product perfection!

Originally published at blog.grovelabs.io.

--

--