A citizen test, users get closer to software development

This app stinks. We’ve all said something along these lines at one point or another after downloading an app that we feel lacks the intuitive self-service efficiency of the apps we know and love, i.e. say the ones we come back to every day on our smartphones and other devices.

More productive would be a situation where the use of “stinky apps” would lead us to send feedback to the software application developers and operations engineering teams who were building and releasing these less than perfect apps in the first place.

Don’t just rant on Twitter

Ideally, what we’re suggesting here is more than just a Twitter rant aimed at the corporate @handle belonging to the makers of the software being used; it is a more structured and method-based systematic channel for providing feedback and (hopefully) even improving the software application in question.

We’ve heard a lot about so-called citizen developers and the rise of low-code and no-code software application development platforms.

Finland-based Esko Hannula thinks there’s a place for this role among the average user base, but it’s a process that comes with some caveats and care factors if we’re going to do it right. Hannula is Vice President of Robotic Testing at Cpado, a software management company specializing in low-code Salesforce, although his company specializes in test automation, he has a broad view of how, when, where and why human citizen testers can play a role.

“Our planet is already home to a large number of citizen testers – including you and me. Anytime you find that an app is buggy or a website isn’t working and you tell someone about it, you’re a citizen tester,” Hannula said. “A citizen developer is very likely to be a citizen tester as well, because no one else is testing their app for them.”

Citizen developer dogfood

He’s of course right, the citizen developer is (in most scenarios, unless he has very good friends) the only one likely to be willing to eat his own dog food and work with whatever could be quite an experimental and clunky application.

As long as the citizen developer is also the only user, things are pretty straightforward. They will notice when the app breaks and thus (hopefully) fix it. No harm was caused to other users and hopefully, but not certainly, no incorrect or harmful transactions were performed and therefore no data loss occurred. Things get complicated when the citizen developer’s app is used by other people or will impact their lives.

“Citizen testing can also be (and indeed really should be) an organized activity. Many companies organize testing of new software releases so that employees who will be using the application conduct an activity known as User Acceptance Testing, or UAT. In SAP deployments, for example, this practice feels more like a rule than an exception,” Hannula explained.

A test methodology and a state of mind

Why is all this important? Because, he says, as we integrate citizen testers, an organization must remember that an effective tester must understand how to design tests that are likely to catch errors – and this type of tester has two specific strengths and attributes: testing methodology and tester mindset.

Hannula also reminds us that it is also very useful for the tester to understand the application (in terms of its nature, purpose and function) and the technology domains (the platforms it will run on, the form factors the device it will be used on, the database backbone and the cloud service it will rely on, etc.) in use as well.

“When you ask a normal human being to test something, they’re more generally going to understand how it works, how to accomplish tasks with it, and form an opinion about whether they like it or not. A tester’s mindset is very different: they’re going to figure out how it’s supposed to work and then try all kinds of things to prove it doesn’t work that way,” he said.

Drawing on the experience gained at Copado in precisely this space, Hannula insists that in order to remain productive, the tester must be able to automate the tests they have designed.

“Being a manual and repetitive activity, test execution is a good candidate for automation. Modern test automation tools are codeless: a citizen tester can automate testing without any coding skills. But just as the most wonderful text editor can’t turn a random person into a great novelist, the most wonderful testing tool can’t turn a random person into a great tester. Once again we come back to the fact that good testing needs a testing methodology and a tester mindset to be in place and exist,” Hannula said.

Citizen testers, we need you

Testing purists (and, to be fair, Copado has a few) support the Pareto principle and suggest that less than 20% of professional software developers possess the mindset of a tester.

Going further, even fewer have learned testing methodologies.

This means that if we follow the logic, there is more than 80% chance that a professional software developer is also a citizen tester. There is perhaps no clearer validation for lay users to join the ranks of software engineering and begin to be citizen testers in a more formal way.

You are already a citizen tester, please sort out your methodology and your state of mind.

Gordon K. Morehouse