Terrific Test Cases

Lauren Porteous
Engineering @ Leaf
Published in
3 min readAug 23, 2019

Test cases are like what flour and eggs are to a cake; they are what binds everything together. Without them, everything would just fall apart and become, well…a mess.

For me, test cases are a vital vitamin to my ongoing routine.

“What do you use them for, besides regression and smoke tests?” you may ask.

In short, they are the foundation for my test explorations. On Jira, I begin by adding test scenarios based on what could potentially go wrong, or what may not have been considered in the development stage of the particular feature that is being tackled. Once I have come up with all possible scenarios and outcomes, I then create separate Jira tickets for each test case and link them to the original task that I had been exploring [as seen in the image below]. These test cases are then tested by the developer to ensure nothing is broken before creating the pull request.

Example of my test cases being linked to the task on Jira
Example: linking test cases to the original task as part of my testing exploration

Besides using test cases for explorations, I tend to use them for various aspects of my day-to-day job. For instance, every time a new feature is developed I will create more test cases and manually add them to the regression test cycle on Jira using a powerful built-in tool called ‘Zephyr’.

The combination of Jira and Zephyr makes the process a lot smoother, simple and less time-consuming as everything is carried out on one platform instead of multiple. Before implementing Jira into our daily working routine, test cases were manually added to a program called “Test Lodge” and executed accordingly. I am now able to manage everything (test cases, regression test cycle, smoke test cycle, bug creation, test explorations, bugs ready for testing, etc…) clearly and concisely, using just one Agile tool.

Before adding test cases to Jira, I like to jot them down in my notes. Doing this in list-format helps to see all test scenarios in one view and evaluate if anything has been missed before adding to Jira. I like to think outside the box and come up with whacky scenarios that could potentially lead to a defect in the system. When writing test cases, my thought process is as follows: “how can I break this thing?” — in every feature created, there is most likely going to be some hidden defects; our job as testers is to fish those bad boys out.

With time, test cases will become your best friend, your partner in crime. Design them with the intention of them being your go-to in times of crisis (aka, new features being deployed). New features being deployed for testing = a potential for a handful of bugs to appear. Help yourself out by getting stuck into a test exploration before the development stage — get familiar with the task and explore the potential vulnerabilities that could arise.

Example

Below, I will be displaying an example of a test case I have previously created:

“Verify that you can go to your profile”

Steps:

  1. Go to app.leafgrow.io
  2. Click “Login with Facebook” button | A login modal should appear
  3. When modal appears, type your email address or phone number associated to your FB and your password
  4. Click “Log In” button | The modal should close and log you in
  5. When/if a “Welcome to Leaf Grow” modal appears, click outside| The modal should close and display the dashboard
  6. Go to the right-hand corner and hover over your icon/picture | “View Profile” and “Log Out” should appear on hover
  7. Click “View Profile” | You should be directed to your profile
  8. See that it displays your profile

As you can see in the above example, each step is clearly described and an expected result is added if necessary. The steps should be as informative as possible to ensure that if a novice of the platform was to follow this step-by-step guide, they would achieve the same outcome.

Test cases can often change depending on the evolution of the product and how fast new features are implemented, so be sure to update test cases along the way to avoid confusion from any stakeholders following the test cases.

Thanks for reading! My next blog post will be on test explorations and how I execute them — stay tuned.

How do you carry out your test cases? Any questions? Let me know in the comments below!

Happy bug squishing!

--

--