Quality Assurance for Blockchain: Why it’s Critical

Denis M.
Denis M.
Jul 17, 2018 · 5 min read
Image for post
Image for post

Blockchain, a technology that spawned a nearly half a trillion dollar cryptocurrency industry. As of July 17th there are 1641 various coins registered and being traded in equivalent of billions of dollars every 24 hours. With so much talk across internet, news channels and TV shows about the waves it is making, there is one group that remains near silent on the topic: Quality Assurance.

Blockchain QA: Where are you?

“I did some testing and my code works perfectly”, “It runs on my computer just fine”, “Just ship it” — if you are a QA engineer you probably heard these famous “last words” many times before finding that one juicy bug which brings big chunk of system to its knees. That’s why we have Quality Assurance department in the first place: We try to catch these issues before customer does. So what exactly is the problem here?

Like any other group in the software world, QA has a very active community spread across many discussion groups with members ranging from just few thousand to hundreds of thousands. There are general topics about doing various type of Testing as well as hundreds of very minute detailed ones on how automation can do a click on a given type of objects (with a lot of debates on who’s code is the best one to achieve the objective). But when it comes to the world of Blockchain, there are practically no active groups or discussions for it.

In fact, it seems to be eerily quite from Quality Assurance in general when it comes to testing Blockchain. Looking through the existing QA communities doesn’t bring up anything related to testing this technology and the usual grapevine of information is very quiet about that as well.

Is there something worth discussing though?

Image for post
Image for post

Abso-freaking-lutely! There are indeed a lot of things that can and should be discussed about testing the blockchain. The technology itself is not a “good ol’” web based application or a mobile app, it is an intricate peer-to-peer decentralized database that rely’s on many people/machines (aka nodes) to operate. Going even further, there is no single Blockchain technology out there to rule them all. As an example, the two of the biggest chain’s that you probably heard about: Bitcoin and Ethereum both contain core concepts of immutable ledger but otherwise have very different features like Smart Contracts and Gas. This means a testing approach to any system which is based on these capabilities will be different as well.

Now let’s add another layer of complexity in to equation here: What happens if there are code changes that need to be introduced in to the production/live environment of your companies blockchain? A person who is not fully familiar with this might just say “Test the change, deploy to production, make sure things work there fine and go out for drinks to celebrate another successful patch!”. Not so fast! For any major patch to take hold you would need a consensus of majority of the users to bring the patch on board and if it doesn’t happen you get a split in a community who will start using different currency to support it.

And this is just a tip of a HUGE Iceberg that makes up Blockchain technological challenge!

Are Blockchain companies doing Quality Assurance?

Image for post
Image for post

In my earlier blog post I have described how spectacularly Blockchain related technology can fail because of the bugs and the amount of money it can cost to end-users. So with so many companies in Blockchain business and the deafening silence around QA around them, this makes me think that they either:

a) Don’t really care about quality of their product and assume “It’ll just work”.
or
b) Their company might not even know what QA is really for and the critical role they play in any software development.

I’m hoping it’s more of a case of ignorance about QA rather than a willful blindness and assumptions that “everything is going to be okey dokey” when things go live.

Blockchain QA: Start Early!

Image for post
Image for post

Ok, so when should QA start then? Should project wait for that perfect opportune time when all pieces are in place and just needs that final testing polish before shipping it? Well, the earlier the better!

Here are just some things to consider even before the first test case is fired in anger:

Calling all Blockchain Quality Assurance Engineers

So what are the next steps in Quality Assurance when it comes to Blockchain world? Well, I’ll be doing my part by blogging about all the parts of testing phases that we’ll be going through here in Dispatchlabs. It doesn’t mean that what I’ll be writing is THE only way of doing things, but hopefully it’ll start more conversations in the QA community.

You can also join us on the discord channel where you can talk to us directly about what we are doing with Dispatch and how: https://discordapp.com/invite/eDxHVDK

Dispatch

Dispatch Protocol, dispatchlabs.io

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store