The First 5 Levels of Software Testing Coverage

What should you be testing to ensure software quality?

When you have decided to take your software quality to the next level by integrating testing automation in the development process, the next question is, what to test. Here are the first 5 levels of software testing coverage.

Level 1: Verify the onboarding process

Your onboarding process must work all the time. Start testing from here. Create an automated test that opens your landing page, clicks the call-to-action button and fills in the sign in form. Randomize the email address, or the username, for each run – now your test can be run more than once. If your onboarding process includes email verification, open the mailbox of the randomized email address and click the verification link. Finally add a check that verifies something expected is visible on the screen.

Level 2: Verify the sign in form

If your sign in form fails, you’re going to get angry feedback from existing customers. Never ship before verifying the sign in form functionality. Create a dedicated user account for your sign in test. Now use that account in your automated test. Create a check, after submitting the sign in form, that verifies that something expected appears on the screen. Your sign in process is now safeguarded.

Level 3: Verify the revenue funnel

Having the confidence that customers can register new user accounts and sign in to the site, it is time to ensure the payment process stays healthy.

Building on top of the onboarding test, create an automated test that creates a new user account to your site. Let the test navigate to your payment form. Use the sandbox VISA credit card details to perform a fake payment in your testing environment. This requires you to have setup the sandbox payment gateway in your testing environment. For help, read your payment gateway’s sandbox instructions. Continue the test case by clicking through your payment process. Finally create a check that looks for a successful payment.

Never release new software versions without verifying the payment funnel is working. It is vital to check the payment process in production as well, but here we start by checking that your application code for the payment processing works.

Level 4: Verify the top 5 key features

Your customers can sign up, login and pay. Now it is time to verify your key features. It’s a good practice to start by testing the so called happy paths. This means that we should at least be sure that when customers are doing the expected, the software performs as expected as well. Before the happy paths are verified, it’s not so important to test the edge cases involving unexpected user input. Prioritize!

Start by identifying the top 5 key features that you’re offering. Ask your customers what they think! If you have an eCommerce site, searching a product is certainly important. If you offer a discussion forum, posting a thread and answering to it is vital.

Start by adding coverage to your automated test suite from the top 5 key features and you’re doing better than the majority of software development teams. This is where you start differentiating from your competitors in software quality.

Level 5: Enhance the customer experience: test error handling

Ready to aim to the top quadrant in software testing? Expand the testing coverage by checking the unhappy paths in your onboarding process. What’s more depressing than losing your potential customers by frustrating them with confusing or non-existent error handling?

Create an automated test that tries to sign up with an invalid email address, too short password, or anything that your sign up form is not going to accept. Identify a few typical invalid user inputs and check that the form gives an understandable error message that guides your customer through the onboarding process. Create one test case per use case.

Gradually expand your testing coverage. Every test adds some maintenance burden on your team. Don’t try automate everything. Manual testing is always needed anyway. Exploratory testing is the most efficient way to find new bugs. By automating the repetitive testing, you’ll have a lot more time to do exploratory testing. And of course, that is more fun!


Photo by Logan Troxell.

Subscribe to our mailing list

* indicates required

Leave a Reply

Your email address will not be published. Required fields are marked *