Development Notes: How to Test New Features

You’ve probably heard the term beta testing. It refers to a development practice where unfinished software is tested (either in public or privately) by letting a group of users use it.

Beta is supposed to mean development stage where the features of the software are frozen, ie. they are not supposed to change, only bug fixes are expected. In practice, however, beta testing is often just business jargon for “we know it’s not ready yet and there are known issues in the software but we want to force it to our users anyway by using this beta label so that we can have an excuse when things break”. Google famously kept Gmail in beta status for five years and Slipmat has been in private beta (meaning the DJ account creation is not open for everyone) ever since its launch!

Screenshot of some technical test data
Screenshot of some technical test data

Different Types of Testing

There are several types of software testing. This post talks about user testing, ie. the kind that is done with real users in real (or near-real) environments. In Slipmat projects, and often when testing any Web-based software, user testing is usually alpha testing (very early stage, proof-of-concepts etc.) or beta testing (near feature-complete).

User testing can be done in public (anyone can participate) or in private (only a select group of users are invited). Things like soft launches (where a product is launched without any marketing at all) can also be a form of testing.

How And What to Test

Depending on the type of testing, the test users — testers — are expected different things. First thing to keep in mind about testing software is that finding errors and bugs is a good thing. Do not feel bad if something breaks or doesn’t work as you expect — that’s the whole point of testing! The best and most valuable thing you can do as a tester is to find some bug that the developers didn’t yet know about or anticipate.

Alpha Testing

Alpha testing is by definition something you need to prepare with an open mind. Many of the tested things are likely not fully working yet and many things are probably still missing at this point. Things are in flex and it’s usual that the UI (User Interface) is not finished yet.

In some situations the testers are expected to only use a certain browser, certain device, or test a certain feature. Learning to focus on right things is the most important aspect of being an alpha tester.

At this stage more is usually more. If not otherwise instructed, try to use different browsers, different devices, think all the ways you might want to use the thing you are testing, and feel free to report literally any ideas and comments you might have. Be brave to poke around. Many of your comments might not be relevant yet and many things you find are probably already known, but generally almost all comments and findings help at this point. Obviously, if the developer asks you to focus on something specific or ignore some things, follow those instructions.

Beta Testing

Beta testing is in many ways easier than alpha testing. At this stage the product is supposed to be almost finished, and usually the missing features or known issues are told in advance. The job of a beta tester is to use the software as they would normally use it, and actively report any situations when thinks break or they think something out of ordinary happened.

At this stage testing should focus on things working 100% like they are meant to. Focus on smaller things, and also notice if things like workflows or some things in the UI don’t seem right.

Remember that reporting no issues is also important! Developers use testers for feedback, and you are expected to give it. If you don’t find any bugs or issues, do report that as well — you’ll make someone really happy.

Soft Launches

Soft launches are a bit special as at this stage everything should already be pretty be stable. These are usually used for testing the server capacity and scaling, not so much the software itself. If you are invited to a soft launch, try at least to use the application — that’s often literally the only thing you are expected to do.

~

Hopefully this post gave you a better idea of software testing in general and maybe what to look for if you are invited to test something. Feel free to leave a comment, question, or suggest possible additions over at Backstage if you have any!